MCP WebSocket Server 使用说明
项目简介
本项目实现了一个基于 Model Context Protocol (MCP) 的服务器,并扩展了 WebSocket 功能,用于提供 实时数据更新。它允许客户端发送标准的MCP请求,并通过WebSocket订阅接收服务器推送的实时更新数据。
主要功能点
- 标准 MCP 服务器: 支持处理来自LLM客户端的标准MCP请求,例如数据查询等。
- WebSocket 实时推送: 允许客户端通过WebSocket连接订阅数据更新,服务器在数据变化时主动推送通知。
- 异步架构: 采用 'asyncio' 异步框架,提高服务器处理并发请求和实时推送的效率。
安装步骤
- 克隆仓库:
git clone https://github.com/virajsharma2000/mcp-websocket.git cd mcp-websocket - 安装依赖:
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客户端能够访问到的路径下。
基本使用方法
-
启动服务器: 在仓库目录下,打开终端并运行以下命令启动 MCP 和 WebSocket 服务器:
python server.py启动成功后,您应该看到类似以下输出:
MCP Server running on port 8080 WebSocket Server running on port 8765 -
MCP 客户端请求: MCP 客户端可以向 'http://localhost:8080' 发送标准的 MCP 请求。例如,发送以下 JSON-RPC 请求:
{"method": "get_data"}服务器将返回响应:
{"result": "Here is your data!"} -
WebSocket 客户端订阅实时更新: WebSocket 客户端可以连接到 'ws://localhost:8765' 并发送以下 JSON 消息订阅数据更新:
{"action": "subscribe"}当服务器有新数据时,将通过 WebSocket 连接向所有订阅的客户端推送消息,例如:
{"event": "new_data", "payload": "your_updated_data"}
信息
分类
AI与计算