🏓 MCP Ping-Pong Server by Remote Call

🏓 MCP Ping-Pong Server by Remote Call

site icon
2025.04.08 1
HTMLMCP 协议演示FastAPI 集成开发效率
MCP Ping-Pong Server 是一个实验性和教育性的项目,用于演示通过 FastAPI 进行 MCP(Model Context Protocol)远程调用。它支持通过 API 端点或 SSE(Server-Sent Events)进行通信,并集成了 MCP 命令处理功能。
View on GitHub

Overview

基本能力

产品定位

MCP Ping-Pong Server 是一个用于演示 MCP 远程调用的实验性和教育性项目,适合开发者和学习者了解 MCP 协议和 FastAPI 的结合使用。

核心功能

  • FastAPI/FastMCP 后端:支持通过 API 端点或 SSE 进行远程 MCP 调用。
  • MCP 集成:支持处理 MCP 命令(如 pingpongcount)。
  • 线程安全的会话管理:确保多线程环境下的安全性。

适用场景

  • 学习和演示 MCP 协议与 FastAPI 的结合使用。
  • 开发 MCP 工具的远程调用功能。
  • 测试和调试 MCP 命令的交互。

工具列表

  • mcp-api-server.py:启动 FastAPI 服务器,支持通过 API 端点调用 MCP 工具。
  • mcp-sse-server.py:启动 SSE 服务器,支持通过 SSE 调用 MCP 工具。
  • mcp-sse-client.py:SSE 客户端,用于与 SSE 服务器交互。
  • mcp-api-client.html:UI 界面,用于通过浏览器与 API 服务器交互。

常见问题解答

  • 如何启动服务器? 运行 python mcp-api-server.pypython mcp-sse-server.py
  • 如何与服务器交互? 通过 API 端点(如 GET /ping-pongPOST /ping-pong)或 SSE 客户端(mcp-sse-client.py)。

使用教程

使用依赖

安装依赖:

poetry install

安装教程

  1. 安装依赖(如上所述)。
  2. 启动服务器:
  3. API 服务器: bash python mcp-api-server.py
  4. SSE 服务器: bash python mcp-sse-server.py
  5. 启动客户端:
  6. SSE 客户端: bash python mcp-sse-client.py
  7. UI 客户端:在浏览器中打开 mcp-api-client.html

调试方式

  1. 启动服务器后,通过客户端发送命令(如 pingpongcount)。
  2. 检查服务器日志和客户端输出,确保命令正确执行。
  3. 使用 API 端点测试:
  4. GET /ping-pong?prompt_name=<prompt_name>:获取指定提示。
  5. POST /ping-pong:调用 MCP 工具命令。

许可证

该项目遵循 MIT 开源许可条款。