Agentic AI – MCP Client Implementation
Table Of Contents:
- What Is MultiServerMCPClient?
- Constructor
- ‘connection’ Parameter.
- ‘callbacks’ Parameter.
- ‘tool_interceptor’ Parameter.
- ‘tool_name_prefix’ Parameter.
- ‘handle_tool_error’ Parameter.
- A Complete Example.
- Commonly Used Methods.
(1) What Is MultiServerMCPClient ?
(2) Constructor For MultiServerMCPClient ?
(3) ‘connections’ Parameter
(4) ‘callbacks’ Parameter
(4) ‘tool_interceptors’ Parameter
(5) ‘tool_name_prefix’ Parameter
(5) ‘handle_tool_errors’ Parameter
(6) A Complete Example.
(6) Methods You Will Commonly Use.
(7) Server Configurtion Parameters
(8) Structure Of A Connection
(9) Structure Of A Connection
(10) Transport Parameter
(11) ‘command’ Parameter
(12) ‘env’ Parameter
(13) ‘cwd’ Parameter
(14) ‘url’ Parameter
(15) ‘headers’ Parameter
(16) ‘timeout’ Parameter
(17) Complete ‘stdio’ Example
(17) Complete ‘HTTP’ Example
(18) Visual Comparison
(19) Summary Table
(20) Complete Example
import asyncio
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain.agents import create_agent
async def main():
client = MultiServerMCPClient(
connections = {
"math":{
"transport":"stdio",
"command": "python",
"args": ["path/to/math_server.py"]
},
"weather": {
"transport":"http",
"url": "http://localhost:8000/mcp"
}
}
)
tools = await client.get_tools()
agent = create_agent(
"model" = "claude-sonnet-4.6"
toold = tools
)
math_response = agent.ainvoke(
{"messages": [{"role": "user", "content": "what's (3 + 5) x 12?"}]}
)
weather_resoponse = agent.ainvoke(
{"messages": [{"role": "user", "content": "what is the weather in nyc?"}]}
)
print(math_response)
print(weather_response)
if __name__ == "__main__":
asyncio.run(main())
