How bhancockio/adk-mcp-tutorial works
This repository demonstrates ADK agents using MCP tools to answer requests: the main workflow connects a user to a Gemini-backed agent, which starts a local stdio MCP server to inspect or modify SQLite data. Separate examples show a Notion-focused remote MCP agent and a comparison between MCP-connected and traditional agents. The README documents local database tools and broader integrations; the supplied excerpts show local server dispatch and agent configuration, but not the remote server implementations or full ADK runtime behavior.
Main entry points: local_mcp/agent.py Database agent · remote_mcp_agent/agent.py Notion agent · mcp_agent.py Multi-server MCP agent · traditional_agent.py Traditional agent
Components 15
Local database workflow
- Database agent
local_mcp/agent.py - Database instructions
local_mcp/prompt.py - Local MCP server
local_mcp/server.py - Database tools
local_mcp/server.py - SQLite database
local_mcp/database.db
Remote MCP example
- Notion agent
remote_mcp_agent/agent.py - Notion instructions
remote_mcp_agent/prompt.py - Notion MCP server
Agent comparisons
- Multi-server MCP agent
demo_comparison/mcp_agent.py - Traditional agent
demo_comparison/traditional_agent.py - External MCP servers
- Sample tools
demo_comparison/traditional_agent.py
Other components
- User
- Gemini model
- Notion service
Connections 17
- User → Database agent: requests
- Database agent → Database instructions: uses instructions
- Database agent → Gemini model: prompts
- Database agent → Local MCP server: connects over stdio
- Local MCP server → Database tools: dispatches tools
- Database tools → SQLite database: reads and writes
- User → Notion agent: requests
- Notion agent → Notion instructions: uses instructions
- Notion agent → Gemini model: prompts
- Notion agent → Notion MCP server: connects via MCP
- Notion MCP server → Notion service: accesses
- User → Multi-server MCP agent: requests
- Multi-server MCP agent → Gemini model: prompts
- Multi-server MCP agent → External MCP servers: connects via stdio
- User → Traditional agent: requests
- Traditional agent → Gemini model: prompts
- Traditional agent → Sample tools: invokes tools