Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ClickHouse MCPサーバーを使用してPydanticAIエージェントを構築する方法

このガイドでは、ClickHouseのMCPサーバー を使用して、ClickHouseのSQL playground とやり取りできる PydanticAI エージェントを構築する方法を学びます。

前提条件

  • システムに Python がインストールされている必要があります。
  • システムに pip がインストールされている必要があります。
  • Anthropic の API key、または他の LLMプロバイダーの API key が必要です。

以下の手順は、Python REPL でもスクリプトでも実行できます。

ライブラリをインストールする

以下のコマンドを実行して、必要なライブラリをインストールします。

pip install -q --upgrade pip
pip install -q "pydantic-ai-slim[mcp]"
pip install -q "pydantic-ai-slim[anthropic]" # 他の LLMプロバイダーを使用する場合は、適切なパッケージに置き換えてください

認証情報を設定する

次に、Anthropic の API key を設定します。

import os, getpass
os.environ["ANTHROPIC_API_KEY"] = getpass.getpass("Enter Anthropic API Key:")
Responseresponse
Enter Anthropic API Key: ········

次に、ClickHouse SQL playground に接続するために必要な認証情報を定義します。

env = {
    "CLICKHOUSE_HOST": "sql-clickhouse.clickhouse.com",
    "CLICKHOUSE_PORT": "8443",
    "CLICKHOUSE_USER": "demo",
    "CLICKHOUSE_PASSWORD": "",
    "CLICKHOUSE_SECURE": "true"
}

MCPサーバーと PydanticAI エージェントを初期化する

次に、ClickHouse MCPサーバーが ClickHouse SQL playground を参照するように設定します。

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])

エージェントに質問する

最後に、エージェントに質問できます。

async with agent.run_mcp_servers():
    result = await agent.run("Who's done the most PRs for ClickHouse?")
    print(result.output)

以下のような応答が返されます。

Responseresponse
ClickHouse GitHub repository のデータによると、作成した pull request 数が多い contributors の上位は次のとおりです。

**PR のオープン数による ClickHouse の上位 contributors:**

1. **alexey-milovidov** - 3,370 件の PR をオープン
2. **azat** - 1,905 件の PR をオープン  
3. **rschu1ze** - 979 件の PR をオープン
4. **alesapin** - 947 件の PR をオープン
5. **tavplubix** - 896 件の PR をオープン
6. **kssenii** - 871 件の PR をオープン
7. **Avogar** - 805 件の PR をオープン
8. **KochetovNicolai** - 700 件の PR をオープン
9. **Algunenano** - 658 件の PR をオープン
10. **kitaisreal** - 630 件の PR をオープン

**Alexey Milovidov** は 3,370 件を超える pull request をオープンしており、他のどの contributor よりも群を抜いて活発です。Alexey Milovidov は ClickHouse の創設者の一人であり、主要な開発者でもあるため、これは納得のいく結果です。

また、このデータからは、alexey-milovidov が PR の管理にも非常に積極的であることがわかります。自身の PR を作成するだけでなく、12,818 件の「closed」イベント(他の contributors の PR をレビューして close したものと思われます)もあります。

なお、ClickHouse に最も多くの PR を貢献した人物について、より意味のある回答を示すため、自動処理を行う各種 robot/bot account は除外し、人間の contributors に絞っています。
Navigation