MCPTools(url=...) wraps the MCP server’s tools so the agent can call search_docs, read_page, etc. as if they were native tools.
What MCP gives you
Model Context Protocol is a standard for exposing tools, resources, and prompts to agents. Any MCP server (stdio, SSE, or streamable-HTTP transport) can be wrapped withMCPTools:
When to use MCP vs writing a tool
| Situation | Pick |
|---|---|
| The service already has an MCP server (Linear, GitHub, Notion, etc.) | MCP |
| You want tool discovery to update without redeploying | MCP |
| You’re integrating with internal systems | Write a tool, simpler |
| You need fine-grained control over arguments / response shape | Write a tool |
@tool function is more direct for first-party data like your database or internal APIs.
See it in action
search_docs call against docs.agno.com/mcp. The agent reads the matching pages, synthesizes an answer, cites the source.
MCP as a context provider in Scout
The MCP agent uses MCP as a tool. Scout’sMCPContextProvider goes one step further: any MCP server becomes a registered context. Scout calls query_mcp_<slug> and a sub-agent answers from that server’s tools. Same protocol, different ergonomic layer.
Source: agents/mcp/agent.py