En esta guía, aprenderás a crear un agente de PydanticAI que puede interactuar con el Playground de SQL de ClickHouse mediante ClickHouse MCP server.
Requisitos previos
- Necesitarás tener Python instalado en tu sistema.
- Necesitarás tener
pipinstalado en tu sistema. - Necesitarás una clave API de Anthropic, o una clave API de otro proveedor de LLM
Puedes ejecutar los siguientes pasos desde tu REPL de Python o mediante un script.
Instalar bibliotecas
Instala las bibliotecas necesarias ejecutando los siguientes comandos:
pip install -q --upgrade pip
pip install -q "pydantic-ai-slim[mcp]"
pip install -q "pydantic-ai-slim[anthropic]" # reemplaza por el paquete adecuado si usas otro proveedor de LLMConfigurar las credenciales
A continuación, tendrás que proporcionar tu clave API de Anthropic:
import os, getpass
os.environ["ANTHROPIC_API_KEY"] = getpass.getpass("Enter Anthropic API Key:")Enter Anthropic API Key: ········A continuación, define las credenciales necesarias para conectarte al Playground de SQL de ClickHouse:
env = {
"CLICKHOUSE_HOST": "sql-clickhouse.clickhouse.com",
"CLICKHOUSE_PORT": "8443",
"CLICKHOUSE_USER": "demo",
"CLICKHOUSE_PASSWORD": "",
"CLICKHOUSE_SECURE": "true"
}Inicializar el servidor MCP y el agente de PydanticAI
Ahora configura el ClickHouse MCP server para que apunte al Playground de SQL de ClickHouse:
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStdio
from pydantic_ai.messages import ToolCallPart, ToolReturnPart
server = MCPServerStdio(
'uv',
args=[
'run',
'--with', 'mcp-clickhouse',
'--python', '3.13',
'mcp-clickhouse'
],
env=env
)
agent = Agent('anthropic:claude-sonnet-4-0', mcp_servers=[server])Hazle una pregunta al agente
Por último, puedes hacerle una pregunta al agente:
async with agent.run_mcp_servers():
result = await agent.run("Who's done the most PRs for ClickHouse?")
print(result.output)Recibirás una respuesta similar a la siguiente:
Según los datos del repositorio de GitHub de ClickHouse, estos son los principales colaboradores por número de pull requests creados:
**Principales colaboradores de ClickHouse por PR abiertos:**
1. **alexey-milovidov** - 3.370 PR abiertos
2. **azat** - 1.905 PR abiertos
3. **rschu1ze** - 979 PR abiertos
4. **alesapin** - 947 PR abiertos
5. **tavplubix** - 896 PR abiertos
6. **kssenii** - 871 PR abiertos
7. **Avogar** - 805 PR abiertos
8. **KochetovNicolai** - 700 PR abiertos
9. **Algunenano** - 658 PR abiertos
10. **kitaisreal** - 630 PR abiertos
**Alexey Milovidov** destaca con mucha diferencia como el colaborador más activo, con más de 3.370 pull requests abiertos, una cifra muy superior a la de cualquier otro colaborador. Esto tiene sentido, ya que Alexey Milovidov es uno de los fundadores y desarrolladores principales de ClickHouse.
Los datos también muestran que alexey-milovidov ha estado muy activo en la gestión de PR, con 12.818 eventos "closed" (probablemente revisando y cerrando PR de otros colaboradores), además de crear sus propios PR.
Cabe destacar que filtré varias cuentas automatizadas o de bots, centrándome en colaboradores humanos para darte la respuesta más útil sobre quién ha contribuido con más PR a ClickHouse.