使用说明

项目简介

本项目提供了一个使用FastAPI和'fastapi-mcp'构建的MCP服务器的简单示例。它演示了如何通过MCP暴露工具,并使用服务器发送事件(SSE)处理流式响应。此服务器旨在与MCP客户端(如'fastapi-mcp-client')一起使用。

主要功能点

  • 使用FastAPI和'fastapi-mcp'实现基本的MCP服务器。
  • 提供示例工具:'echo'(回声消息)、'generate_numbers'(生成数字序列)、'search_documents'(模拟文档搜索)和'calculate'(表达式计算)。
  • 支持工具的流式响应,例如 'generate_numbers' 和 'search_documents',使用SSE进行数据传输。
  • 演示如何在MCP服务器中定义和注册工具,以便LLM客户端调用。

安装步骤

  1. 克隆仓库到本地:
    git clone https://github.com/RooseveltAdvisors/fastapi-mcp-client.git
  2. 进入服务器示例目录:
    cd fastapi-mcp-client/examples/server
  3. 创建并激活虚拟环境(可选但推荐):
    python -m venv venv
    source venv/bin/activate   # Linux/macOS
    venv\Scripts\activate      # Windows
  4. 安装依赖,包括 'fastapi-mcp':
    pip install fastapi uvicorn fastapi-mcp

服务器配置

MCP服务器是为MCP客户端提供服务的后端应用。以下是启动本示例MCP服务器的配置信息,客户端需要配置服务器的启动命令才能与之建立连接。

{
  "server name": "FastAPI MCP Example Server",
  "command": "uvicorn",
  "args": [
    "simple_server:app",
    "--host",
    "0.0.0.0",
    "--port",
    "8888",
    "--reload"
  ],
  "description": "启动FastAPI MCP示例服务器。'--reload' 参数允许在代码更改时自动重启服务器,方便开发调试。"
}

基本使用方法

  1. 启动服务器:在终端中执行上述服务器配置中 'command' 和 'args' 组合成的命令,启动示例MCP服务器。
  2. 使用MCP客户端连接:使用MCP客户端(例如,本仓库 'examples' 目录下的 'sse_example.py' 或其他兼容的MCP客户端库)连接到正在运行的服务器。
  3. 调用工具:客户端可以调用服务器提供的示例工具,如 'echo', 'generate_numbers', 'search_documents', 和 'calculate',以测试MCP的功能。客户端的具体使用方法可以参考仓库 'examples/sse_example.py' 中的示例代码。

信息

分类

开发者工具