MCP ExplorerExplorer

Mcp Transition

@rachedblilion 18 days ago
1 MIT
FreeCommunity
AI Systems
Showing how to transition from a naive agent to an MCP agent in 3 steps

Overview

What is Mcp Transition

MCP-Transition is a comprehensive tutorial that guides users through the process of transitioning from a naive AI agent to a sophisticated MCP-enabled agent in three stages, emphasizing the evolution of agent architecture and the mastery of the Model Context Protocol.

Use cases

Use cases include developing AI agents for data retrieval, integrating with external APIs for real-time data processing, and creating modular systems that leverage both local and remote tools for enhanced functionality.

How to use

Users can follow the step-by-step guide provided in the repository to build their agents, starting from a simple implementation and progressing through improved architectures, integrating remote services, and utilizing the official MCP library.

Key features

Key features include a structured approach to agent architecture evolution, mastery of the MCP protocol, production patterns for error handling and data structuring, and real-world integration with external APIs and distributed systems.

Where to use

MCP-Transition can be used in fields such as AI development, software engineering, and distributed systems, particularly where advanced agent architectures and protocol-driven designs are required.

Content

Step by Step to MCP Glory

A Comprehensive Tutorial for Building Model Context Protocol (MCP) Enabled AI Agents


🌟 Overview

This repository provides a complete, hands-on journey from building a simple AI agent to creating sophisticated, distributed systems using the Model Context Protocol (MCP). Through 6 carefully crafted iterations, you’ll master the fundamental concepts and advanced patterns of MCP architecture.

🎯 What You’ll Learn

  • Agent Architecture Evolution: From monolithic to modular, protocol-driven design
  • MCP Protocol Mastery: stdio and SSE transports, tool discovery, session management
  • Production Patterns: Error handling, structured data, multi-transport composition
  • Real-world Integration: External APIs, remote services, distributed tool ecosystems

🗺️ The Journey

🏁 Stage 1 Naive Agent Simple agent with hardcoded tools
🔧 Stage 2 Improved Agent Async patterns and code cleanup
🔌 Stage 3 MCP Foundation stdio server and custom MCP client
📚 Stage 4 Official Library Using Anthropic's MCP Python SDK
🌐 Stage 5 Remote Services SSE transport with ather API integration
🌍 Stage 6 Multi-Transport Unified agent with local + remote tools

🚀 Quick Start

Prerequisites

1-Minute Setup

# Clone and setup
git clone <repository-url>
cd MCP-Transition
pip install -r requirements.txt

# Configure environment
cp .env.example .env
# Edit .env with your API keys

# Run any stage
python naive_agent.py           # Stage 1
python improved_agent.py        # Stage 2
python mcp_agent_sse.py         # Stage 5 (requires ather server)

Environment Variables

# .env file
OPENAI_API_KEY=your_openai_key_here
TAVILY_API_KEY=your_tavily_key_here
OPENATHERMAP_API_KEY=your_ather_key_here

📖 Detailed Documentation

Document Purpose Audience
📋 Setup Guide Complete installation and configuration All users
🎓 Step-by-Step Tutorial Detailed code walkthrough with highlights Developers

📁 Repository Structure

MCP-Transition/
├── README.md                              # This file
├── requirements.txt                       # Python dependencies
├── prompts.py                            # Shared prompt templates
│
├── 🏁 STAGE 1: Naive Implementation
│   └── naive_agent.py                    # Basic agent with hardcoded tools
│
├── 🔧 STAGE 2: Improved Architecture  
│   └── improved_agent.py                 # Async patterns and cleanup
│
├── 🔌 STAGE 3: MCP Foundation
│   ├── mcp_server_stdio.py              # Local MCP server (stdio transport)
│   └── mcp_client_stdio.py              # Custom MCP client implementation
│
├── 📚 STAGE 4: Official Library
│   └── mcp_agent_with_standard_client.py # Using official Anthropic MCP SDK
│
├── 🌐 STAGE 5: Remote Services
│   ├── mcp_server_sse.py                # Remote ather server (SSE transport)
│   └── mcp_agent_sse.py                 # SSE-based agent
│
├── 🌍 STAGE 6: Multi-Transport
│   └── mcp_agent_multi_transport.py     # Unified local + remote agent
│
└── docs/                                 # Detailed documentation
    ├── SETUP.md                         # Installation guide
    ├── TUTORIAL.md                      # Step-by-step code walkthrough
    ├── MCP_CONCEPTS.md                  # Protocol deep dive
    └── DEPLOYMENT.md                    # Production deployment

🎯 Stage Overview

Stage 1: Naive Implementation

File: naive_agent.py

  • Basic PydanticAI agent with hardcoded tools
  • Synchronous execution with async workarounds
  • Direct API calls without abstraction

Why PydanticAI? I chose PydanticAI as the starting framework because it provides the cleanest, non-vendor-specific approach to building AI agents. Unlike framework-specific solutions, PydanticAI offers excellent separation beten conversation management and tooling, making it ideal for demonstrating MCP integration patterns.

Alternative Frameworks: This is just one of many possible implementations! For the same agent implemented across 8 different frameworks (LangChain, LangGraph, CrewAI, Llama-Index, OpenAI Assistants, Anthropic, and Atomic Agents), check out my Agent Framework Comparison Repository. You can use any of these as your starting point for MCP integration.

Key Concepts: Basic agent architecture, tool registration, conversation flow


Stage 2: Improved Architecture

File: improved_agent.py

  • Proper async/await patterns
  • Better error handling and type hints
  • Cleaner code structure and formatting

Key Concepts: Async programming, code quality, maintainable architecture

🎓 Tutorial Link


Stage 3: MCP Foundation

Files: mcp_server_stdio.py, mcp_client_stdio.py

  • First MCP implementation using stdio transport
  • Custom client with full protocol implementation
  • Tool discovery and JSON-RPC 2.0 messaging

Key Concepts: MCP protocol, stdio transport, JSON-RPC, tool discovery

🎓 Tutorial Link


Stage 4: Official Library

File: mcp_agent_with_standard_client.py

  • Replacement of custom client with official Anthropic MCP SDK
  • Simplified codebase (~100 lines reduction)
  • Production-ready protocol compliance

Key Concepts: Official libraries vs custom implementation, code simplification

🎓 Tutorial Link


Stage 5: Remote Services

Files: mcp_server_sse.py, mcp_agent_sse.py

  • HTTP-based MCP server with Server-Sent Events
  • Real-world API integration (OpenatherMap)
  • Remote deployment capabilities

Key Concepts: SSE transport, remote services, external API integration

🎓 Tutorial Link


Stage 6: Multi-Transport

File: mcp_agent_multi_transport.py

  • Simultaneous connection to multiple MCP servers
  • Mixed local (stdio) and remote (SSE) tools
  • Unified tool interface and session management

Key Concepts: Multi-transport architecture, tool composition, distributed systems

🎓 Tutorial Link


🛠️ Available Tools by Stage

StageToolsTransportLocation
1-2 📅 Date, 🔍 b Search Direct calls Local
3-4 📅 Date, 🔍 b Search stdio MCP Local subprocess
5 🌤️ Current ather, 📊 Forecast, 🗺️ Coordinates SSE MCP Remote HTTP server
6 📅 Date, 🔍 b Search, 🌤️ Weather Tools stdio + SSE MCP Local + Remote

🤝 Contributing

I welcome contributions! Here are some ways to help:

  • 🐛 Bug Reports: Found an issue? Open an issue
  • 💡 Feature Requests: Ideas for new stages or improvements
  • 📖 Documentation: Help improve guides and examples
  • 🔧 Code: Submit PRs for bug fixes or enhancements

Development Setup

# Fork and clone the repository
git clone https://github.com/yourusername/MCP-Transition.git
cd MCP-Transition

# Create a virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -r requirements.txt
pip install -r requirements-dev.txt  # If available

# Run tests
python -m pytest tests/  # If tests are available

📚 Additional Resources

MCP Ecosystem

Related Technologies


📜 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments

  • Anthropic for creating the Model Context Protocol and providing excellent documentation
  • Pydantic AI team for the elegant agent framework
  • Community contributors who helped improve this tutorial

Ready to start your MCP journey?

📋 Setup Guide🎓 Tutorial🚀 Build Something Amazing

Tools

No tools

Comments