tian1ll1/mcp-protocol-server
If you are the rightful owner of mcp-protocol-server 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 FastAPI-based implementation of a Model Context Protocol (MCP) server that handles model context management, session handling, and protocol operations.
Model Context Protocol Server
A FastAPI-based implementation of a Model Context Protocol (MCP) server that handles model context management, session handling, and protocol operations.
Features
- FastAPI-based REST API server
- Model context management
- Session handling and persistence
- WebSocket support for real-time updates
- Authentication and authorization
- Request validation and error handling
- Swagger/OpenAPI documentation
- Docker support
Project Structure
mcp-protocol-server/
āāā app/
ā āāā __init__.py
ā āāā main.py
ā āāā config.py
ā āāā core/
ā ā āāā __init__.py
ā ā āāā context.py
ā ā āāā session.py
ā ā āāā protocol.py
ā āāā api/
ā ā āāā __init__.py
ā ā āāā endpoints/
ā ā ā āāā __init__.py
ā ā ā āāā context.py
ā ā ā āāā session.py
ā ā āāā dependencies.py
ā āāā models/
ā ā āāā __init__.py
ā ā āāā context.py
ā ā āāā session.py
ā āāā utils/
ā āāā __init__.py
ā āāā security.py
āāā tests/
ā āāā __init__.py
ā āāā conftest.py
ā āāā test_context.py
ā āāā test_session.py
āāā docker/
ā āāā Dockerfile
ā āāā docker-compose.yml
āāā requirements.txt
āāā .env.example
āāā README.md
Installation
- Clone the repository:
git clone https://github.com/tian1ll1/mcp-protocol-server.git
cd mcp-protocol-server
- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Copy the example environment file and configure your settings:
cp .env.example .env
Running the Server
Development Mode
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
Production Mode
uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 4
Using Docker
docker-compose up -d
API Documentation
Once the server is running, you can access the API documentation at:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
Testing
Run the test suite:
pytest
Configuration
The server can be configured using environment variables or a .env file. See .env.example for available options.
License
This project is licensed under the MIT License - see the LICENSE file for details.