- このリポジトリは、Agent Development Kit(ADK)とMCPサーバーを連携させたサンプルアプリケーションです。
- また、LangGraphとMCPサーバーを連携させたサンプルアプリケーションも用意しています。
- 自然言語で入力されたリクエストをMCPサーバーに送信し、AIエージェントがタスクを処理する流れを構築しています。
-
ADK-MCP
- ADK を通じて、ユーザーの自然言語リクエストを受け取ります
- リクエストは MCP サーバーにルーティングされ、対応するエージェントへディスパッチされます
- 結果をユーザーに自然言語でフィードバックします
Loadinggraph LR ADK[Agent Development Kit] --> MCP[MCP Server<br>SSE] MCP --> tool_1 MCP --> tool_2 MCP --> tool_3 -
LangGraph-MCP
- LangGraph を通じて、ユーザーの自然言語リクエストを受け取ります
- リクエストは MCP サーバーにルーティングされ、対応するエージェントへディスパッチされます
- 結果をユーザーに自然言語でフィードバックします
Loadinggraph LR Graph[LangGraph] --> MCP[MCP Server<br>SSE] MCP --> tool_1 MCP --> tool_2 MCP --> tool_3 -
FastAPI-(ADK/LangGraph)-MCP
- RestAPI を通じて、ユーザーの自然言語リクエストを受け取ります
- リクエストは ADKもしくはLangGraphで構築したエージェントに渡されたあと、 MCP サーバーにルーティングされ、対応するエージェントへディスパッチされます
- 結果をユーザーに自然言語でフィードバックします
Loadinggraph LR user --> FastAPI FastAPI --> Graph[LangGraph] FastAPI --> ADK[Agent Development Kit] Graph --> MCP[MCP Server<br>SSE] ADK --> MCP MCP --> tool_1 MCP --> tool_2 MCP --> tool_3
- Python 3.12+
- Google Agent Development Kit
- MCP
- LangGraph
git clone https://github.com/Kewton/adk-mcp-starter.git
cd mcp-gadk-sampleターミナルを起動して下記コマンドを実行します。
cd sample-mcp-server
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txtターミナルを起動して下記コマンドを実行します。
cd sample-adk-agent
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txtターミナルを起動して下記コマンドを実行します。
cd sample-langGraph-agent
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txtターミナルを起動して下記コマンドを実行します。
cd sample-fast-api
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txtsample-mcp-server/.env
HOST=127.0.0.1
PORT=8001sample-adk-agent/.env
SSE_SERVER_PARAMS_URL=http://localhost:8001/sse
MODEL=gemini-2.0-flash
GOOGLE_API_KEY=<your api key>ターミナルを起動して下記コマンドを実行します。
cd sample-mcp-server
source venv/bin/activate
python main.pyターミナルを起動して下記コマンドを実行します。
cd sample-adk-agent
source venv/bin/activate
adk web起動後、「For local testing, access at http://...」と表示される URL にアクセスすると、ADK Web Server の GUI が起動します。
- 画面左上のドロップダウンから
"sampleagent"を選択 - 右下の入力フィールドから自然言語で指示を送信 → MCP サーバー経由で実行され、結果が表示されます
3. ADK-Agentの実行と動作確認(ADK Web Server 経由)の(1)~(2)は共通です。
ターミナルを起動して下記コマンドを実行します。
cd sample-adk-agent
source venv/bin/activate
python adkagent.pysample-mcp-server/.env
HOST=127.0.0.1
PORT=8001sample-langGraph-agent/.env
SSE_SERVER_PARAMS_URL=http://localhost:8001/sse
OPENAI_API_KEY=<your api key>ターミナルを起動して下記コマンドを実行します。
cd sample-mcp-server
source venv/bin/activate
python main.pyターミナルを起動して下記コマンドを実行します。
cd sample-langGraph-agent
source venv/bin/activate
python graph.pysample-mcp-server/.env
HOST=127.0.0.1
PORT=8001sample-fast-api/.env
OPENAI_API_KEY=<your api key>
GOOGLE_API_KEY=<your api key>
LOG_DIR=./log
LOG_LEVEL=INFO
SSE_SERVER_PARAMS_URL=http://localhost:8001/sse
ADK_AGENT_MODEL=gemini-2.0-flash
GRAPH_AGENT_MODEL=gpt-4o-miniターミナルを起動して下記コマンドを実行します。
cd sample-mcp-server
source venv/bin/activate
python main.pyターミナルを起動して下記コマンドを実行します。
cd sample-langGraph-agent
source venv/bin/activate
uvicorn app.main:app --reloadターミナルを起動して下記コマンドを実行します。
# langGraph-Agentの実行
curl -X POST "http://127.0.0.1:8000/aiagent-api/v1/aiagent/graph" \
-H "Content-Type: application/json" \
-d '{
"user_input": "https://github.com/Kewton/adk-mcp-starter の記事をマークダウン形式に変換して出力してください"
}'
# ADK-Agentの実行
curl -X POST "http://127.0.0.1:8000/aiagent-api/v1/aiagent/adk" \
-H "Content-Type: application/json" \
-d '{
"user_input": "https://github.com/Kewton/adk-mcp-starter の記事をマークダウン形式に変換して出力してください"
}'