Battle of the MCP Agents: mcp-use vs Pydantic AI vs Agno
A comprehensive speed test and developer experience comparison of three leading MCP (Model Context Protocol) frameworks for building AI agents with tool access.
The Challenge
We set out to answer a simple question: Which MCP framework gives you the best developer experience and performance for building AI agents that can search Airbnb listings?
Using the same model (moonshotai/kimi-k2-instruct via Groq) and identical search criteria (“Find a place in Barcelona, Spain for July 18-19, 2025 for 2 adults”), we tested three popular frameworks:
- mcp-use: Unified MCP client library
- Pydantic AI: Type-safe AI framework with MCP support
- Agno: Lightweight agent framework
The Contenders
🏗️ mcp-use - The Unified Approach
1
2
3
4
5
6
7
8
from langchain_groq import ChatGroq
from mcp_use import MCPAgent, MCPClient
async def main():
client = MCPClient.from_config_file("airbnb_mcp.json")
llm = ChatGroq(model="moonshotai/kimi-k2-instruct")
agent = MCPAgent(llm=llm, client=client)
result = await agent.run("Find me a place in Barcelona, Spain for July 18-19, 2025 for 2 adults")
🔧 Pydantic AI - The Type-Safe Option
1
2
3
4
5
6
7
8
9
10
11
12
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStdio
mcp_airbnb = MCPServerStdio(
command="npx",
args=["-y", "@openbnb/mcp-server-airbnb"]
)
agent = Agent(
"groq:moonshotai/kimi-k2-instruct",
mcp_servers=[mcp_airbnb]
)
⚡ Agno - The Lightweight Champion
1
2
3
4
5
6
7
8
9
from agno.agent import Agent
from agno.models.groq import Groq
from agno.tools.mcp import MCPTools
async with MCPTools("npx -y @openbnb/mcp-server-airbnb") as mcp_tools:
agent = Agent(
model=Groq(id="moonshotai/kimi-k2-instruct"),
tools=[mcp_tools]
)
Speed Test Results
| Framework | Total Time | Response Time | Relative Speed |
|---|---|---|---|
| mcp-use | 9.9s | 7.6s | 🥇 Fastest |
| Pydantic AI | 9.1s | 7.8s | 🥈 Close Second |
| Agno | 13.2s | 9.3s | 🥉 Slower |
Code Length Comparison
| Framework | Lines of Code | Complexity |
|---|---|---|
| Agno | 13 lines | 🥇 Minimal |
| mcp-use | 17 lines | 🥈 Moderate |
| Pydantic AI | 23 lines | 🥉 Verbose |
Developer Experience Deep Dive
🏆 mcp-use - Best Overall Experience
Pros:
- Rich, human-readable output with markdown formatting and clear categorization
- Excellent error handling and progress reporting
- Comprehensive listing details including ratings, bed counts, and direct links
- Fastest performance with specific dates (9.9s total)
- Intuitive API with clear separation of concerns
Cons:
- Slightly more boilerplate than Agno
- Requires understanding of MCP session management
Sample Output:
1
2
3
4
## Budget-Friendly Options:
1. **"Cozy studio in Gothic Quarter"** - $65/night
- 1 double bed
- [View Listing](https://www.airbnb.com/rooms/41203028)
🔧 Pydantic AI - Type Safety Champion
Pros:
- Excellent type safety throughout the codebase
- Clean, Pythonic API design
- Good documentation and examples
- Fast initialization (9.1s total)
Cons:
- Less rich output compared to mcp-use
- More verbose setup requiring explicit server configuration
- Timeout issues with some MCP servers
⚡ Agno - Simplicity King
Pros:
- Shortest code (13 lines total)
- Clean, minimal API that’s easy to learn
- Good for quick prototypes and simple use cases
- Shows tool calls for transparency
Cons:
- Slower performance (13.2s total)
- Basic output formatting without rich markdown
- Less comprehensive results compared to others
Real-World Test Results
All three frameworks successfully found 8-9 listings in Barcelona, Spain for July 18-19, 2025, with prices ranging from $45-$250/night. The quality of the underlying MCP server integration was consistent across all frameworks, but the presentation and user experience varied significantly.
When to Use Each Framework
Use mcp-use when:
- You want the best user experience and rich output
- Building production applications where presentation matters
- You need comprehensive error handling and progress reporting
- Performance with specific queries is critical
Use Pydantic AI when:
- You’re already in the Pydantic ecosystem
- Type safety is a priority
- Building complex, type-safe applications
- You value clean, Pythonic APIs
Use Agno when:
- You need maximum simplicity and minimal code
- Building quick prototypes or proofs of concept
- Development speed is more important than performance
- You prefer transparent tool execution
The Verdict
mcp-use emerges as the clear winner for most use cases, offering the best combination of performance, rich output, and developer experience. While Agno wins on code brevity and Pydantic AI excels at type safety, mcp-use provides the most polished end-to-end experience for building AI agents with MCP tool access.
Recommendation: Start with mcp-use for production applications, fall back to Agno for rapid prototyping, and choose Pydantic AI when type safety is paramount.
What’s Next?
I’m continuing to explore MCP frameworks and will be testing:
- Performance with different LLM providers
- Complex multi-tool scenarios
- Production deployment patterns
- Cost optimization strategies
Follow me @AIwithTim for more AI framework comparisons and developer insights!
All tests performed on macOS with Python 3.13, using Groq’s moonshotai/kimi-k2-instruct model and the official Airbnb MCP server.