FM

freedanfan/mcp_server

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

10 stars 5 forks 质量 58 趋势 18MIT

基于 FastAPI 和 MCP(模型上下文协议),实现 AI 模型与开发环境 之间的标准化上下文交互,提升 AI 应用的可扩展性和可维护性。

概览

Built on FastAPI and MCP (Model Context Protocol), this project enables standardized context interaction between AI models and development environments. It enhances the scalability and maintainability of AI applications by simplifying model deployment, providing efficient API endpoints, and ensuring consistency in model input and output, making it easier for developers to integrate and manage AI tasks. MCP (Model Context Protocol) is a unified protocol for context interaction between AI models and development environments. This project provides a Python-based MCP server implementation that supports basic MCP protocol features, including initialization, sampling, and session management. - : Request-response communication based on standard JSON-RPC 2.

README

以下为原文 README 节选,完整内容请查看原文。

MCP Server

中文文档

Project Overview

Built on FastAPI and MCP (Model Context Protocol), this project enables standardized context interaction between AI models and development environments. It enhances the scalability and maintainability of AI applications by simplifying model deployment, providing efficient API endpoints, and ensuring consistency in model input and output, making it easier for developers to integrate and manage AI tasks.

MCP (Model Context Protocol) is a unified protocol for context interaction between AI models and development environments. This project provides a Python-based MCP server implementation that supports basic MCP protocol features, including initialization, sampling, and session management.

Features

  • JSON-RPC 2.0: Request-response communication based on standard JSON-RPC 2.0 protocol
  • SSE Connection: Support for Server-Sent Events connections for real-time notifications
  • Modular Design: Modular architecture for easy extension and customization
  • Asynchronous Processing: High-performance service using FastAPI and asynchronous IO
  • Complete Client: Includes a full test client implementation

Project Structure

mcp_server/
├── mcp_server.py         # MCP server main program
├── mcp_client.py         # MCP client test program
├── routers/
│   ├── __init__.py       # Router package initialization
│   └── base_router.py    # Base router implementation
├── requirements.txt      # Project dependencies
└── README.md             # Project documentation

Installation

  1. Clone the repository:
git clone https://github.com/freedanfan/mcp_server.git
cd mcp_server
  1. Install dependencies:
pip install -r requirements.txt

Usage

Starting the Server

python mcp_server.py

By default, the server will start on 127.0.0.1:12000. You can customize the host and port using environment variables:

export MCP_SERVER_HOST=0.0.0.0
export MCP_SERVER_PORT=8000
python mcp_server.py

Running the Client

Run the client in another terminal:

python mcp_client.py

If the server is not running at the default address, you can set an environment variable:

export MCP_SERVER_URL="http://your-server-address:port"
python mcp_client.py

API Endpoints

The server provides the following API endpoints:

  • Root Path (/): Provides server information
  • API Endpoint (/api): Handles JSON-RPC requests
  • SSE Endpoint (/sse): Handles SSE connections

MCP Protocol Implementation

Initialization Flow

  1. Client connects to the server via SSE
  2. Server returns the API endpoint URI
  3. Client sends an initialization request with protocol version and capabilities
  4. Server responds to the initialization request, returning server capabilities

Sampling Request

Clients can send sampling requests with prompts:

{
  "jsonrpc": "2.0",
  "id": "request-id",
  "method": "sample",
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →