Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Cómo crear un agente de PydanticAI con ClickHouse MCP server.

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 pip instalado 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 LLM

Configurar 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:")
Respuestaresponse
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:

Respuestaresponse
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.
Navigation