MCP Server

MCP Server

Protagonistss

Developer Tools
Visit Server

README

MCP Server

A Model-Controller-Provider (MCP) architecture based server implementation using FastAPI.

Project Structure

.
├── api/              # API routes and endpoints
│   └── v1/          # API version 1
│       ├── __init__.py
│       └── items.py # Item endpoints
├── controllers/      # Business logic and request handlers
│   └── item_controller.py
├── providers/       # Data access and external service integrations
│   └── item_provider.py
├── models/         # Data models and database schemas
│   └── item.py
├── core/          # Core configurations and utilities
│   ├── config.py  # Application configuration
│   └── database.py # Database configuration
├── main.py        # Application entry point
├── requirements.txt # Project dependencies
├── environment.yml  # Conda environment file
└── README.md      # Project documentation

Features

  • FastAPI-based REST API: High-performance, easy to use, fast to code
  • MCP Architecture:
    • Models: Data structures and database schemas
    • Controllers: Business logic and request handling
    • Providers: Data access and external service integration
  • Modern Tech Stack:
    • SQLAlchemy for ORM
    • Pydantic for data validation
    • FastAPI for API framework
    • SQLite for development database
  • API Features:
    • Automatic OpenAPI documentation
    • Request validation
    • Response serialization
    • CORS middleware
    • Type checking

Setup

  1. Create a Conda environment:
# Create a new environment with Python 3.12
conda create -n codeMcpServer python=3.12
# Activate the environment
conda activate codeMcpServer
  1. Install dependencies:
# Using the provided environment file (recommended)
conda env create -f environment.yml

# OR using pip 
pip install -r requirements.txt

# OR using conda with conda-forge channel
conda config --add channels conda-forge
conda install --file requirements.txt
  1. Run the server:
uvicorn main:app --reload

The server will start at http://localhost:8000

Dependencies

Key dependencies in this project:

  • Python 3.12.9
  • FastAPI 0.112.2
  • SQLAlchemy 2.0.37
  • Pydantic 2.11.2
  • Uvicorn 0.32.1
  • Python-dotenv 0.21.0

For a complete list, see environment.yml or requirements.txt.

Environment Management

Export Environment

To export your environment for sharing:

# Export full environment with exact versions (without prefix)
conda env export | grep -v "^prefix: " > environment.yml

# Or export only manually installed packages
conda env export --from-history > environment.yml

Import Environment

To recreate an environment from the exported file:

conda env create -f environment.yml

API Documentation

Once the server is running, you can access:

  • Interactive API documentation (Swagger UI): http://localhost:8000/docs
  • Alternative API documentation (ReDoc): http://localhost:8000/redoc

API Endpoints

Items API (/api/v1/items)

  • GET /api/v1/items/: List all items
  • GET /api/v1/items/{item_id}: Get a specific item
  • POST /api/v1/items/: Create a new item
  • PUT /api/v1/items/{item_id}: Update an item
  • DELETE /api/v1/items/{item_id}: Delete an item

Development

Project Organization

The project follows the MCP (Model-Controller-Provider) pattern:

  • Models: Define data structures and database schemas
  • Controllers: Handle business logic and request processing
  • Providers: Manage data access and external service integration

Adding New Features

  1. Create the model in models/
  2. Create the provider in providers/
  3. Create the controller in controllers/
  4. Create the API endpoints in api/v1/

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the terms of the LICENSE file included in the repository.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
MCP Package Docs Server

MCP Package Docs Server

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Featured
Local
TypeScript
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
@kazuph/mcp-taskmanager

@kazuph/mcp-taskmanager

Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.

Featured
Local
JavaScript
Linear MCP Server

Linear MCP Server

Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.

Featured
JavaScript
mermaid-mcp-server

mermaid-mcp-server

A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.

Featured
JavaScript
Jira-Context-MCP

Jira-Context-MCP

MCP server to provide Jira Tickets information to AI coding agents like Cursor

Featured
TypeScript
Linear MCP Server

Linear MCP Server

A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Featured
JavaScript
Sequential Thinking MCP Server

Sequential Thinking MCP Server

This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.

Featured
Python