使用说明
项目简介
本项目是一个基于 FastAPI 框架构建的简单 MCP (Model Context Protocol) 服务器示例。它演示了 MCP 服务器的核心概念,例如通过 Prompt 模板向客户端提供上下文信息。虽然功能较为基础,但可以帮助用户快速理解 MCP 服务器的工作原理。
主要功能点
- 健康检查: 提供 '/' 接口,用于检查服务器是否正常运行。返回服务器状态、协议类型和版本信息。
- 上下文服务: 提供 '/context' 接口,接收客户端的 Prompt ID 和参数,根据预定义的 Prompt 模板生成上下文内容并返回。
- 参数化 Prompt: 支持在 Prompt 模板中使用参数,允许客户端通过参数动态定制 Prompt 内容。
安装步骤
- 环境准备: 确保你的电脑上已安装 Python 和 pip。
- 下载代码: 从 GitHub 仓库 dabouelhassan_mcp-server-example-v2 下载代码到本地。
- 安装依赖: 打开终端,进入代码所在目录,运行命令 'pip install -r requirements.txt' 安装项目依赖的 Python 库。
服务器配置
MCP 客户端需要配置以下 JSON 信息才能连接到此 MCP 服务器。请注意根据实际情况修改参数。
{ "server name": "simple-mcp-server-example", "command": "uvicorn", "args": [ "src.main:app", "--reload" ], "description": "简单的 MCP 服务器示例,使用 FastAPI 框架。", "protocol": "stdio" }
- 'server name': 自定义的服务器名称,用于在 MCP 客户端中标识该服务器。
- 'command': 启动服务器的命令,这里使用 'uvicorn' 运行 FastAPI 应用。
- 'args': 启动命令的参数列表。
- '"src.main:app"': 指定 FastAPI 应用的入口点,'src/main.py' 文件中的 'app' 实例。
- '"--reload"': (可选)开启热重载模式,方便开发时修改代码后自动重启服务器。生产环境可以移除此参数。
- 'description': 服务器的描述信息,方便用户理解服务器的用途。
- 'protocol': 指定 MCP 客户端与服务器通信的协议,这里示例使用标准输入输出流 'stdio'。
基本使用方法
-
启动服务器: 在终端中,进入代码根目录,运行命令 'uvicorn src.main:app --reload' 启动 MCP 服务器。
-
发送请求: 使用 curl 或其他 HTTP 客户端向服务器的 '/context' 接口发送 POST 请求。请求 body 必须是 JSON 格式,包含 'prompt_id' 和 'parameters' 字段。
例如,使用 curl 发送请求获取 'greeting' Prompt 的上下文,并传递 'time' 参数:
curl -X POST http://localhost:8000/context \ -H "Content-Type: application/json" \ -d '{"prompt_id": "greeting", "parameters": {"time": "12:00 PM"}}' -
查看响应: 服务器会返回 JSON 格式的响应,其中 'context' 字段包含了根据 Prompt 模板生成的上下文内容。
信息
分类
AI与计算