About MCP Server Research Project
A research and demo repository for MCP server implementation, intended for developers exploring server behavior and message coordination. Its Python demo registers clients, routes messages, and presents activity and message history in a web dashboard.
Key features
- 01MCP server reference implementation
- 02Client registration and tracking
- 03Heartbeat, data, and command handling
- 04Message routing
- 05Web activity dashboard
- 06In-memory message history
Use cases
- 01Running a message coordination server demo
- 02Testing client message delivery
- 03Monitoring connections and system activity
- 04Reviewing message history
MCP support
The project describes a Message Coordination Protocol and provides server and client demos; the input does not state compatibility with the Model Context Protocol.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Server Research Project
This project contains research and demos related to MCP (Message Coordination Protocol) server implementation.
Overview
The Message Coordination Protocol (MCP) provides a standardized way for distributed systems to communicate and coordinate actions. This repository includes a reference implementation and demonstrations of the protocol in action.
Project Structure
mcp_server_research/
├── docs/ # Documentation files
├── src/ # Source code
│ └── demo/ # Demo implementations
└── requirements.txt
Getting Started
Prerequisites
- Python 3.8+
- Flask
- Requests
Installation
# Clone the repository
git clone https://github.com/ckz/mcp_server_research.git
cd mcp_server_research
# Set up virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
Running the Demo
To run the MCP server with default settings:
cd src/demo
python simple_mcp_server.py
To run with custom settings using environment variables:
cd src/demo
DEBUG=true PORT=5001 python simple_mcp_server.py
Then visit http://localhost:5001 (or the custom port you specified) to view the dashboard.
To run a client demo in a separate terminal:
cd src/demo
python client_demo.py --server http://localhost:5001 --duration 30 --interval 2
You should see the server accepting connections and the client successfully sending messages.
Demo Features
The simple MCP server demo implements a basic message coordination protocol server that:
- Registers and tracks connected clients
- Processes various message types (heartbeat, data, command)
- Routes messages to appropriate destinations
- Provides a web dashboard for monitoring system activity
- Maintains an in-memory message history
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Changelog
2024-02-24
- Added proper error handling to the client code for connection failures
- Using sessions in the client for better connection management
- Added CORS support to the server for cross-origin requests
- Implemented timeouts for API calls to prevent hanging
- Made debug mode configurable through environment variables
- Fixed dependency issues by adding flask-cors and specifying werkzeug version
- Improved documentation in code comments
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.