Modern Control Protocol (MCP) Server logo

Modern Control Protocol (MCP) Server

by eagurin

A modern, scalable MCP server implementation designed for managing AI interactions. It offers multi-provider support, conversation management, and robust monitoring capabilities.

View on GitHub

Last updated: N/A

Modern Control Protocol (MCP) Server

A modern, scalable MCP server implementation with support for multiple AI providers, advanced monitoring, and robust conversation management.

Features

  • Multi-provider AI support (OpenAI, Anthropic, Google AI, Azure)
  • Real-time streaming responses
  • Conversation management and history
  • Function calling and tool usage
  • Vector database integration
  • Semantic caching
  • Prometheus metrics and Grafana dashboards
  • Rate limiting and error handling
  • PostgreSQL for data persistence
  • Redis for caching
  • Elasticsearch for search
  • Docker containerization

Quick Start

  1. Clone the repository
  2. Copy environment template:
    cp .env.example .env
    
  3. Update environment variables in .env
  4. Start services with Docker Compose:
    docker-compose up -d
    

API Documentation

Once running, visit:

  • API Documentation: http://localhost:8000/docs
  • ReDoc Documentation: http://localhost:8000/redoc

Monitoring

  • Prometheus metrics: http://localhost:9090
  • Grafana dashboards: http://localhost:3000

Development

Prerequisites

  • Python 3.9+
  • PostgreSQL
  • Redis
  • Elasticsearch
  • Docker & Docker Compose

Local Setup

  1. Create virtual environment:

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    # or
    .\venv\Scripts\activate  # Windows
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Run development server:

    uvicorn app.main:app --reload
    

Testing

Run tests with:

pytest

Architecture

The MCP server is built with a microservices architecture:

  • FastAPI for the REST API
  • PostgreSQL for data persistence
  • Redis for caching and rate limiting
  • Elasticsearch for search functionality
  • Qdrant for vector storage
  • Prometheus and Grafana for monitoring

API Endpoints

  • /api/v1/mcp/prompts: Prompt management
  • /api/v1/mcp/conversations: Conversation handling
  • /api/v1/mcp/conversations/{id}/complete: AI completions
  • /metrics: Prometheus metrics
  • /health: Health check

License

MIT License