ellenfel/Model-Context-Protocol
If you are the rightful owner of Model-Context-Protocol and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A basic implementation of a Model Context Protocol server for educational purposes, demonstrating core MCP concepts using Python.
Model Context Protocol (MCP) Server
A basic implementation of a Model Context Protocol server for educational purposes. This server demonstrates the core concepts of MCP and how to implement them in practice using Python.
Features
- WebSocket-based communication using FastAPI and WebSockets
- Basic MCP message handling with Pydantic models
- Support for model context management
- Simple client-server interaction
- Async/await support for better performance
Getting Started
- Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Start the development server:
python -m src.server
- Run the example client:
python examples/basic_usage.py
Project Structure
src/
├── server.py # Main server implementation
├── types/ # TypeScript type definitions
│ └── mcp.py # MCP protocol types using Pydantic
└── examples/ # Example implementations
└── basic_usage.py # Basic client example
MCP Protocol Overview
The Model Context Protocol (MCP) is a communication protocol designed for AI model interactions. This implementation includes:
- Message format handling using Pydantic models
- Context management
- Basic protocol operations
- Async/await support for better performance
Key Differences from TypeScript Version
- Uses FastAPI instead of Express
- Implements async/await for better performance
- Uses Pydantic for data validation and serialization
- More Pythonic code structure and patterns MIT