MCPToolset integration with FastMCP not working

1 week ago 3
ARTICLE AD BOX

I have created venv for adk project

In the same env I am running FastMCP MCP server http://localhost:8000

Instead of using MCP client - I wanted to use ADK as a client and calling tool from MCP server

My ADK API server is running like
adk api_server --host localhost --port 8000

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 using ADK as a client calling MCP local server

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

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"} 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"} ] } }'

Note : google-adk and FastMCP server is running in same venv

Read Entire Article