MCP WebSocket Server 使用说明

项目简介

本项目实现了一个基于 Model Context Protocol (MCP) 的服务器,并扩展了 WebSocket 功能,用于提供 实时数据更新。它允许客户端发送标准的MCP请求,并通过WebSocket订阅接收服务器推送的实时更新数据。

主要功能点

  • 标准 MCP 服务器: 支持处理来自LLM客户端的标准MCP请求,例如数据查询等。
  • WebSocket 实时推送: 允许客户端通过WebSocket连接订阅数据更新,服务器在数据变化时主动推送通知。
  • 异步架构: 采用 'asyncio' 异步框架,提高服务器处理并发请求和实时推送的效率。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/virajsharma2000/mcp-websocket.git
    cd mcp-websocket
  2. 安装依赖:
    pip install websockets # WebSocket库
    pip install mcp-sdk  # MCP SDK (请注意:仓库中使用了 mcp-sdk,但实际可能需要替换为真实的MCP Python SDK,如果存在的话。如果不存在,可能需要自行实现MCP协议相关部分。)

服务器配置

为了让MCP客户端连接到此服务器,您需要提供以下配置信息。这些信息通常配置在MCP客户端的服务器列表中。

{
  "server name": "MCP WebSocket Server",
  "command": "python",
  "args": ["server.py"]
}

配置参数说明:

  • server name: 服务器的名称,可以自定义,用于在MCP客户端中标识该服务器。例如 "MCP WebSocket Server"。
  • command: 启动服务器的命令,这里使用 'python' 命令来运行 'server.py' 脚本。
  • args: 启动命令的参数,这里使用 '["server.py"]' 指定要运行的Python脚本文件。

注意: 请确保您的运行环境中安装了 Python 和所需的依赖库 (websockets, mcp-sdk)。并且 'server.py' 文件位于MCP客户端能够访问到的路径下。

基本使用方法

  1. 启动服务器: 在仓库目录下,打开终端并运行以下命令启动 MCP 和 WebSocket 服务器:

    python server.py

    启动成功后,您应该看到类似以下输出:

    MCP Server running on port 8080
    WebSocket Server running on port 8765
  2. MCP 客户端请求: MCP 客户端可以向 'http://localhost:8080' 发送标准的 MCP 请求。例如,发送以下 JSON-RPC 请求:

    {"method": "get_data"}

    服务器将返回响应:

    {"result": "Here is your data!"}
  3. WebSocket 客户端订阅实时更新: WebSocket 客户端可以连接到 'ws://localhost:8765' 并发送以下 JSON 消息订阅数据更新:

    {"action": "subscribe"}

    当服务器有新数据时,将通过 WebSocket 连接向所有订阅的客户端推送消息,例如:

    {"event": "new_data", "payload": "your_updated_data"}

信息

分类

AI与计算