使用说明

项目简介

本项目是一个基于 FastAPI 框架构建的简单 MCP (Model Context Protocol) 服务器示例。它演示了 MCP 服务器的核心概念,例如通过 Prompt 模板向客户端提供上下文信息。虽然功能较为基础,但可以帮助用户快速理解 MCP 服务器的工作原理。

主要功能点

  • 健康检查: 提供 '/' 接口,用于检查服务器是否正常运行。返回服务器状态、协议类型和版本信息。
  • 上下文服务: 提供 '/context' 接口,接收客户端的 Prompt ID 和参数,根据预定义的 Prompt 模板生成上下文内容并返回。
  • 参数化 Prompt: 支持在 Prompt 模板中使用参数,允许客户端通过参数动态定制 Prompt 内容。

安装步骤

  1. 环境准备: 确保你的电脑上已安装 Python 和 pip。
  2. 下载代码: 从 GitHub 仓库 dabouelhassan_mcp-server-example-v2 下载代码到本地。
  3. 安装依赖: 打开终端,进入代码所在目录,运行命令 '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'。

基本使用方法

  1. 启动服务器: 在终端中,进入代码根目录,运行命令 'uvicorn src.main:app --reload' 启动 MCP 服务器。

  2. 发送请求: 使用 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"}}'
  3. 查看响应: 服务器会返回 JSON 格式的响应,其中 'context' 字段包含了根据 Prompt 模板生成的上下文内容。

信息

分类

AI与计算