项目简介
MCP Forge 框架是一个用于快速构建 Model Context Protocol (MCP) 服务器的开发框架。它基于流行的 Python Web 框架 FastAPI 和 FastAPI-MCP 库,旨在简化 MCP 服务器的开发流程,并帮助开发者将现有的 API 服务快速转化为可供 AI 模型调用的工具。
主要功能点:
- 快速 MCP 工具生成: 能够将 FastAPI 定义的 API 接口自动转换为 MCP 工具,无需额外编写 MCP 协议相关的代码。
- 接口与实现分离: 采用接口抽象和依赖注入的设计模式,方便开发者进行单元测试、Mock 测试,以及在不同环境 (开发、测试、生产) 之间切换不同的服务实现。
- 依赖注入: 利用 FastAPI 强大的依赖注入系统来管理服务组件及其依赖关系,提高代码的可维护性和可扩展性。
- 完整的开发流程: 提供从开发、测试到部署的完整工具链支持,例如代码质量检查、单元测试等。
- 示例驱动: 通过提供清晰的示例代码和详细的文档,帮助开发者快速上手并理解框架的使用方法。
安装步骤:
- 安装 uv 包管理器 (如果尚未安装): 请参考 uv 官方文档 安装 uv。uv 可以更快速地进行依赖解析和环境管理。
- 安装项目依赖并设置开发环境: 在项目根目录下运行 'make install' 命令。这将使用 uv 安装项目所需的 Python 库,并设置好虚拟环境。
服务器配置:
MCP 客户端需要配置 MCP 服务器的连接信息才能正常工作。以下是一个基于此仓库生成的 MCP 服务器配置示例 (JSON 格式):
{ "serverName": "parking", "command": "python main.py", "args": [], "baseUrl": "http://localhost:8002/mcp" }
配置参数说明:
- 'serverName': MCP 服务器的名称,这里设置为 "parking",与 'main.py' 中 'add_mcp_server' 函数的 'name' 参数一致。
- 'command': 启动 MCP 服务器的命令。由于项目使用 Python 开发,并且入口文件是 'main.py',因此设置为 'python main.py'。
- 'args': 启动命令的参数。此示例中没有额外的启动参数,因此为空数组 '[]'。
- 'baseUrl': MCP 服务器的根 URL,MCP 客户端将通过此 URL 与服务器建立连接。这里设置为 'http://localhost:8002/mcp',与 'main.py' 中 'add_mcp_server' 函数的 'mount_path' 和 'base_url' 参数组合而成。请注意,'/mcp' 是 MCP 协议的默认挂载路径。
基本使用方法:
-
启动 MCP 服务器: 在项目根目录下运行 'make dev' 命令,即可启动开发服务器。默认情况下,服务器将在 'http://localhost:8002' 启动。
-
访问 API 文档: 启动服务器后,可以访问 'http://localhost:8002/docs' 查看自动生成的 Swagger API 文档,了解可用的 API 接口和请求参数。
-
连接 MCP 客户端: 使用支持 MCP 协议的客户端 (例如 Cursor, Claude Desktop 等),配置上述提供的服务器配置信息,即可连接到 MCP Forge 框架搭建的 MCP 服务器。
-
调用 MCP 工具: 成功连接后,客户端应该能够发现并调用服务器提供的 MCP 工具。根据 'main.py' 中的定义,该示例项目提供了两个工具:
- 'find_nearby_parking': 查找附近停车场。
- 'get_parking_info': 获取停车场详情。
您可以在 MCP 客户端中通过自然语言指令或图形界面来调用这些工具,从而利用 AI 模型与后端服务进行交互,例如询问 "查找我当前位置附近的停车场" 或 "查询停车场 P001 的详细信息"。
信息
分类
开发者工具