google / google/adk-python-community
ADK with MCPToolSet not working connecting to local MCPServer
- Dominant language
- Python
- Stars
- 182
- Forks
- 75
- PR merge metrics
- No merged PRs in 30d
Description
1. I have created venv for adk project
2. In the same env I am running FastMCP MCP server http://localhost:8000
3. Instead of using MCP client - i wanted to use ADK as a client and calling tool from MCP server
4. My ADK API server is running like
adk api_server --host localhost --port 8000
5. When I am make a call to this server which in turn goes to MCP and call the tool its not working. I am getting error
Fail to load 'adk-google-models' module. 'module' object is not callable
Flow
Running venv where MCP server is running and ADK is running. ADK is the client calling tool defined in MCP server.
Code
root_agent = LlmAgent(
# Use the latest stable Flash model identifier
model="gemini-2.5-flash",
name="gemini_flash_agent",
description=("Agent to answer questions about weather in a city."),
instruction="Use the data from a URL provided by the user",
generate_content_config=generate_content_config,
tools= [McpToolset (
connection_params=StreamableHttpConnectionParams(
url="http://localhost:9000/mcp",
timeout=10,
),
tool_filter['get_weather']. // Weather tool running on MCP server
#sub_agents=[],
# ... other agent parameters
),
],
)
MCP code:
import io
from fastmcp import FastMCP
from fastmcp.utilities.types import Image
# Create server - dependencies are now in fastmcp.json
mcp = FastMCP("Screenshot Demo")
@mcp.tool
def get_weather(city: str) -> dict:
"""Gets the current weather for a specific city."""
# In a real app, this would call a weather API
return {"city": city, "temperature": "72F", "forecast": "Sunny"}
if __name__ == "__main__":
import asyncio
asyncio.run(mcp.run_async())
testing calling MCP:
curl -X POST http://localhost:8000/run \
-H "Content-Type: application/json" \
-d '{
"app_name": "adk-google-models",
"user_id": "test1",
"session_id": "test1session",
"new_message": {
"role": "user",
"parts": [
{"text": "What is the weather in cityxxx"}
]
}
}'
anyone have idea what is missing?
Contributor guide
Research direction
Start by reproducing the POST request to the ADK api_server and inspect how the app_name module is loaded, then check the MCP connection URL and ports used by McpToolset and the FastMCP server. Compare the reported module-not-callable error with the shown agent setup. Done means the request reaches get_weather and returns the expected weather response.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100