An MCP client is the component through which an agent or application connects to MCP servers, discovers their tools, and invokes them as part of an existing tool-calling workflow. It moves service-integration work from each agent to the service exposing the MCP server. section 13.0 section 13.1.2
A client connection typically provides:
- Access to one or more MCP servers and the tools each server exposes. section 13.1.2
- A consistent interface for remote servers over Streamable HTTP and local servers over STDIO. section 13.1.2
- Tool integration that can remain compatible with an agent's existing local-tool calling logic. section 13.1.2
Replacing a mock weather tool
A travel agent can remove its local weather tool and WeatherForecastService, then connect through an MCP client to an AccuWeather MCP server. The agent retrieves the server's weather tool dynamically and uses live weather data instead of the mock response. section 13.4.1
async def get_accuweather_tools(): #1
mcp_client = MultiServerMCPClient({ #2
"accuweather": { #3
"url": "http://127.0.0.1:8020/accu-mcp-server",
"transport": "streamable_http"
}
})
return await mcp_client.get_tools() #4
The implementation configures MultiServerMCPClient with an AccuWeather URL and Streamable HTTP, then asynchronously retrieves the exposed tools. section 13.4.2







