Use MCP tools to connect Agno agents to any Model Context Protocol (MCP) server, giving them instant access to external data, tools, and prompts. It supports local connections (stdio) and remote endpoints (SSE/HTTP), making it easy to integrate anything from a local database to a cloud-based API.
Copy
Ask AI
import asyncioimport sysfrom pathlib import Pathfrom agno.agent import Agentfrom agno.tools.mcp import MCPToolsfrom mcp import ClientSession, StdioServerParametersfrom mcp.client.stdio import stdio_client# ---------------------------------------------------------------------------# Create Agent# ---------------------------------------------------------------------------async def main(prompt: str) -> None: # Initialize the MCP server server_params = StdioServerParameters( command="npx", args=[ "-y", "@modelcontextprotocol/server-filesystem", str(Path(__file__).parent.parent), ], ) # Create a client session to connect to the MCP server async with stdio_client(server_params) as (read, write): async with ClientSession(read, write) as session: # Initialize the MCP toolkit mcp_tools = MCPTools(session=session) await mcp_tools.initialize() # Create an agent with the MCP toolkit agent = Agent(tools=[mcp_tools]) # Run the agent await agent.aprint_response(prompt, stream=True)# ---------------------------------------------------------------------------# Run Agent# ---------------------------------------------------------------------------if __name__ == "__main__": prompt = ( sys.argv[1] if len(sys.argv) > 1 else "Read and summarize the file ./LICENSE" ) asyncio.run(main(prompt))