Transports in the Model Context Protocol (MCP) define how messages are sent and received. The Agno integration supports the three existing types:
stdio,
SSE and
Streamable HTTP.The stdio (standard input/output) transport is the default one in Agno’s integration. It works best for local integrations.To use it, simply initialize the MCPTools class with its command argument.
The command you want to pass is the one used to run the MCP server the agent will have access to.For example uvx mcp-server-git, which runs a git MCP server:
Copy
Ask AI
from agno.agent import Agentfrom agno.models.openai import OpenAIChatfrom agno.tools.mcp import MCPToolsasync def run_mcp_agent(): # Initialize the MCP tools mcp_tools = MCPTools(command=f"uvx mcp-server-git") # Connect to the MCP server await mcp_tools.connect() # Initialize the Agent agent = Agent(model=OpenAIChat(id="gpt-4o"), tools=[mcp_tools]) # Run the agent await agent.aprint_response("What is the license for this project?", stream=True) # Close the MCP connection await mcp_tools.close()
You can also use multiple MCP servers at once, with the MultiMCPTools class. For example:
Copy
Ask AI
import asyncioimport osfrom agno.agent import Agentfrom agno.tools.mcp import MultiMCPToolsasync def run_agent(message: str) -> None: """Run the Airbnb and Google Maps agent with the given message.""" env = { **os.environ, "GOOGLE_MAPS_API_KEY": os.getenv("GOOGLE_MAPS_API_KEY"), } # Initialize the MultiMCPTools instance multi_mcp_tools = MultiMCPTools( [ "npx -y @openbnb/mcp-server-airbnb --ignore-robots-txt", "npx -y @modelcontextprotocol/server-google-maps", ], env=env, ) # Connect to the MCP servers await multi_mcp_tools.connect() # Initialize the Agent agent = Agent( tools=[mcp_tools], markdown=True, show_tool_calls=True, ) # Run the agent await agent.aprint_response(message, stream=True) # Close the MCP connections await multi_mcp_tools.close()# Example usageif __name__ == "__main__": # Pull request example asyncio.run( run_agent( "What listings are available in Cape Town for 2 people for 3 nights from 1 to 4 August 2025?" ) )