MCP Server logo

MCP Server

by Protagonistss

MCP Server is a server implementation based on the Model-Controller-Provider architecture using FastAPI. It provides a structured approach to building REST APIs with features like automatic documentation, request validation, and response serialization.

View on GitHub

Last updated: N/A

What is MCP Server?

MCP Server is a FastAPI-based server implementation that follows the Model-Controller-Provider (MCP) architectural pattern. It provides a structured and organized way to build REST APIs with clear separation of concerns for data models, business logic, and data access.

How to use MCP Server?

To use MCP Server, first set up the Conda environment and install the necessary dependencies using the provided environment.yml or requirements.txt file. Then, run the server using uvicorn main:app --reload. Access the API documentation at http://localhost:8000/docs or http://localhost:8000/redoc to explore the available endpoints.

Key features of MCP Server

  • FastAPI-based REST API

  • Model-Controller-Provider (MCP) Architecture

  • Automatic OpenAPI documentation

  • Request validation

Use cases of MCP Server

  • Building RESTful APIs

  • Developing data-driven applications

  • Creating microservices

  • Implementing a structured backend architecture

FAQ from MCP Server

What is MCP architecture?

MCP stands for Model-Controller-Provider. It's an architectural pattern that separates data models, business logic, and data access into distinct layers.

What is FastAPI?

FastAPI is a modern, high-performance web framework for building APIs with Python 3.7+ based on standard Python type hints.

How do I access the API documentation?

Once the server is running, you can access the interactive API documentation (Swagger UI) at http://localhost:8000/docs or the alternative documentation (ReDoc) at http://localhost:8000/redoc.

What databases are supported?

The example uses SQLite for development, but SQLAlchemy supports many database backends. You can configure the database in core/database.py.

How do I add new API endpoints?

To add new API endpoints, create the model in models/, the provider in providers/, the controller in controllers/, and the API endpoints in api/v1/.