项目简介
该仓库的 'chapter-8/fastapi' 目录下的代码提供了一个基于 Python、FastAPI 框架和 'fastapi-mcp' 库构建的 MCP 服务器示例。它实现了一个简单的仓库订单管理系统,并将该系统的功能集成到 MCP 框架中,以便能被支持 MCP 协议的 LLM 客户端访问和利用。订单数据存储在 Redis 数据库中。
主要功能点
- 订单管理: 实现了对仓库订单的基本操作,包括创建新订单、根据 ID 查询订单、列出所有订单、更新订单信息以及删除订单。
- MCP 集成: 利用 'fastapi-mcp' 库将 FastAPI 应用程序包装为 MCP 服务器,使其能够处理 MCP 协议定义的请求。
- 数据存储: 使用 Redis 作为后端数据库来持久化存储订单数据。
- API 接口: 除了 MCP 接口外,也提供了标准的 RESTful API 接口用于订单管理(虽然 MCP 客户端主要通过 MCP 接口交互)。
安装步骤
- 安装 Python 和 Redis: 确保你的系统安装了 Python (建议 3.8 或更高版本) 和 Redis 服务器,并确保 Redis 服务正在运行。
- 获取代码: 克隆或下载 'Getting_started_with_AI' 仓库到本地。
- 安装依赖: 打开终端,导航到仓库的 'chapter-8/fastapi' 目录。然后运行以下命令安装所需的 Python 库:
pip install fastapi uvicorn redis pydantic fastapi-mcp
服务器配置 (供 MCP 客户端使用)
MCP 客户端需要配置如何启动和连接到该 MCP 服务器。以下是一个典型的 JSON 配置示例及其参数说明:
{ "name": "Warehouse MCP", "command": "python", "args": [ "-m", "uvicorn", "chapter-8.fastapi.main:app", "--host", "127.0.0.1", "--port", "8000" ], "description": "MCP server for managing warehouse orders.", "transport": "http", "url": "http://127.0.0.1:8000/mcp" }
参数说明:
- 'name': MCP 服务器的标识名称,客户端列表中显示。
- 'command': 启动服务器的可执行程序,通常是 'python'。
- 'args': 传递给 'command' 的参数列表。此处指定了使用 'uvicorn' 运行 'chapter-8/fastapi/main.py' 文件中的 'app' 对象,并监听本地地址 '127.0.0.1' 的 '8000' 端口。
- 'description': 服务器的功能描述。
- 'transport': 客户端与服务器通信的传输协议,这里是基于 HTTP。
- 'url': MCP 客户端连接服务器的完整 URL。'fastapi-mcp' 默认将 MCP 端点挂载在 '/mcp' 路径下。
注意: 你可能需要根据实际的 Python 环境、仓库存放位置以及你希望服务器监听的 IP 地址和端口修改 'command' 和 'args' 中的路径、host 和 port。在启动服务器前,务必确保 Redis 服务正在运行。
基本使用方法
- 启动 Redis: 确保 Redis 服务器已启动。
- 启动 MCP 服务器: 在终端中,切换到 'Getting_started_with_AI' 仓库的根目录或 'chapter-8/fastapi' 目录。然后执行上述配置中 'command' 和 'args' 组合而成的命令。例如:
服务器启动后会显示运行地址和端口信息。cd path/to/Getting_started_with_AI python -m uvicorn chapter-8.fastapi.main:app --host 127.0.0.1 --port 8000 - 连接客户端: 使用支持 MCP 协议的客户端工具 (例如 'mcp-cli') 或集成了 MCP 功能的 LLM 应用,导入或手动输入上面提供的 JSON 配置信息,即可连接到该 MCP 服务器。
- 通过客户端交互: 连接成功后,客户端即可通过 MCP 协议调用服务器暴露的能力,例如列出可用的工具、调用工具执行订单相关的操作(如创建、查询订单)等。
信息
分类
商业系统