tian1ll1/mcp-server-demo
If you are the rightful owner of mcp-server-demo 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.
This project demonstrates the implementation of a Model Context Protocol (MCP) server, designed to facilitate communication between AI models and external tools/services while maintaining context awareness.
MCP Server Demo
This project demonstrates the implementation of a Model Context Protocol (MCP) server. MCP is a protocol designed to facilitate communication between AI models and external tools/services while maintaining context awareness.
Features
- Basic MCP server implementation
- Example tool integrations
- Context management demonstration
- WebSocket-based real-time communication
- Simple client example
Project Structure
mcp-server-demo/
โโโ src/
โ โโโ server.py # Main MCP server implementation
โ โโโ tools/ # Tool implementations
โ โ โโโ __init__.py
โ โ โโโ basic_tools.py
โ โโโ context/ # Context management
โ โ โโโ __init__.py
โ โ โโโ manager.py
โ โโโ utils/ # Utility functions
โ โโโ __init__.py
โ โโโ helpers.py
โโโ examples/ # Example usage
โ โโโ client.py
โ โโโ tools_demo.py
โโโ tests/ # Test cases
โ โโโ test_server.py
โโโ requirements.txt # Project dependencies
โโโ README.md # This file
Installation
- Clone the repository:
git clone https://github.com/tian1ll1/mcp-server-demo.git
cd mcp-server-demo
- 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
Usage
- Start the MCP server:
python src/server.py
- Run the example client:
python examples/client.py
How It Works
The MCP server implements the following key components:
- Context Management: Maintains conversation history and relevant context for each session.
- Tool Registry: Manages available tools and their specifications.
- Message Processing: Handles incoming messages and routes them to appropriate tools.
- WebSocket Server: Provides real-time communication with clients.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.