# McpServerFastAPI **Repository Path**: NetAxeClub/mcp-server-fastapi ## Basic Information - **Project Name**: McpServerFastAPI - **Description**: mcp-server使用FastAPI实现SSE服务 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-04-18 - **Last Updated**: 2025-05-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MCP 服务端项目 **FastAPI版本** ## 项目概述 **MCP模型上下文协议**(Model Context Protocol)服务端是一个基于SSE(Server-Sent Events)的工具远程调用框架 支持协议初始化、工具列表查询与调用 实现大型语言模型(LLM)与外部数据源及工具之间的无缝集成 通过提供标准化的通信协议,MCP旨在解决大模型在处理任务时与外部系统交互的一致性和效率问题,从而让AI模型能够更灵活地访问所需的数据和工具。 ## 核心功能 1. 提供基于SSE的实时通信机制 2. 支持JSON-RPC 2.0协议 3. 工具动态注册与调用 4. 心跳检测保持连接 ## 核心类 - MCPServer `MCPServer`类是项目的核心,主要功能包括: - 管理客户端连接状态 - 维护工具列表 - 处理RPC请求 - 生成SSE事件流 ## 支持的RPC方法 1. `initialize` - 协议初始化 2. `tools/list` - 获取工具列表 3. `tools/call` - 调用指定工具 ## 工具调用机制 1. 工具以Python函数形式实现 2. 自动生成工具的描述和输入参数schema 3. 支持异步工具调用 4. 提供错误处理和日志记录 ## 部署与运行 ### 本地运行二次开发 #### 依赖安装 ```bash pip install -r requirements.txt ``` #### 修改环境变量 ```bash cp .env.example .env ``` ### 启动服务 ```bash python main.py ``` ### Docker部署 ```bash docker-compose build && docker-compose up -d ``` ## 项目结构 ``` . ├── 核心模块 │ ├── model/db_models.py # 数据模型定义 │ ├── server/mcp_sever.py # 核心服务逻辑 │ ├── utils/method.py # RPC方法枚举 │ └── utils/tools.py # 工具管理模块 ├── 入口文件 │ ├── main.py # 本地服务启动入口 ├── 配置与部署 │ ├── Dockerfile # 容器化配置 │ ├── docker-compose.yml # Docker编排配置 │ └── .env.example # 环境变量示例 ├── 日志与监控 │ ├── log_config.py # 日志配置 │ └── logs/ # 日志目录 ├── 外部接口 │ ├── grafana_api.py # Grafana接口 │ └── mongo_api.py # MongoDB接口 │ └── redis_client_api.py # redis连接器接口 ├── 依赖管理 │ └── requirements.txt # 依赖列表 └── 其他 ├── supervisord_backend.conf # 进程管理配置docker部署 └── README.md # 项目文档 ``` ## 协议版本 当前协议版本:2024-11-05 服务端版本:1.6.0