项目简介
RWSdk 轻量级 MCP 服务器 是一个基于 Model Context Protocol (MCP) 实现的最小化服务器,利用 'fiberplane/mcp-lite' 库快速搭建。它通过标准化的 JSON-RPC 协议与大型语言模型 (LLM) 客户端通信,提供上下文信息和功能。本项目部署在 Cloudflare Workers 上,支持通过流式 HTTP 端点进行访问,并集成了 RedwookSDK 的实时功能,能够实时展示服务器的运行日志。
主要功能点
- MCP 工具服务: 服务器注册并提供了一个名为 'hello' 的工具。LLM 客户端可以通过 MCP 协议调用此工具,提供可选的 'name' 参数,服务器将返回个性化的问候语。
- JSON-RPC 通信: 服务器遵循 MCP 定义的 JSON-RPC 协议,处理来自 LLM 客户端的请求(例如工具调用),并返回相应的 JSON-RPC 响应。
- 流式 HTTP 传输: 通过 'StreamableHttpTransport' 实现,支持客户端通过 HTTP 端点以流式方式与服务器进行交互。
- 实时日志记录: 所有 MCP 请求和服务器内部处理的日志都会被实时记录下来,并通过 RedwookSDK 的实时功能在网页界面上展示。
- 持久化存储: 利用 Cloudflare Durable Objects 技术,服务器的运行日志数据可以被持久化存储,确保数据不丢失。
安装步骤
本项目设计为部署在 Cloudflare Workers 平台,以下是大致的安装和部署流程:
- 克隆仓库: 使用 Git 命令将项目仓库克隆到本地。
git clone https://github.com/jldec/rwsdk-mcp-lite.git cd rwsdk-mcp-lite - 安装依赖: 进入项目目录后,使用 npm 安装所有必要的依赖包。
npm install - 部署到 Cloudflare Workers: 使用 Wrangler CLI 工具将项目部署到您的 Cloudflare Workers 账户。
- 确保您已安装 Wrangler CLI ('npm i -g wrangler') 并已登录 ('wrangler login')。
- 执行部署命令:
npx wrangler deploy
服务器配置(供 MCP 客户端连接参考)
本 MCP 服务器是一个已部署的 HTTP 服务,MCP 客户端不需要“启动”它,而是直接通过其 HTTP 端点进行连接。以下是 MCP 客户端可能需要配置的关键信息,以 JSON 格式提供。'command' 和 'args' 字段被设计为指导客户端如何连接到一个远程的 MCP HTTP 服务:
{ "serverName": "rwsdk-mcp-lite", "command": "mcp-client", "args": [ "connect", "--endpoint", "https://rwsdk-mcp-lite.jldec.workers.dev/mcp", "--transport", "http-stream" ] }
配置信息说明:
- 'serverName': 服务器的名称,用于客户端识别。本项目中为 'rwsdk-mcp-lite'。
- 'command': 对于部署在云端的 HTTP MCP 服务器,客户端通常无需执行命令来“启动”服务器。此处的 'mcp-client' 是一个示例性的客户端连接工具命令,表示您可能需要使用一个 MCP 兼容的客户端工具来建立连接。
- 'args': 这些是传递给客户端连接命令的参数,用于指定 MCP 服务器的连接方式和地址:
- 'connect': 告诉客户端工具执行连接操作。
- '--endpoint https://rwsdk-mcp-lite.jldec.workers.dev/mcp': 这是本 MCP 服务器的实际可访问 HTTP 端点 URL。您的客户端需要连接到此地址。
- '--transport http-stream': 指明客户端应使用 HTTP 流式传输协议与服务器通信,以适配服务器的 'StreamableHttpTransport' 实现。
基本使用方法
- 连接 MCP 客户端: 使用您偏好的 MCP 客户端工具(如 Fiberplane CLI 或其他兼容客户端),根据上述“服务器配置”中的 'endpoint' (例如 'https://rwsdk-mcp-lite.jldec.workers.dev/mcp') 连接到服务器。
- 调用 'hello' 工具: 连接成功后,您可以通过客户端向服务器发送 JSON-RPC 请求,调用 'hello' 工具。例如,您可以发送一个包含可选 'name' 参数的请求:
服务器将返回一个包含问候语的响应。如果 'name' 参数省略,服务器将默认问候 "world"。{ "jsonrpc": "2.0", "method": "tool_call", "params": { "tool": "hello", "input": { "name": "MCP User" } }, "id": 1 } - 查看实时日志: 访问部署后的网站主页 (例如 'https://rwsdk-mcp-lite.jldec.workers.dev/'),您可以在页面上实时查看 MCP 服务器处理请求和响应的详细日志,这有助于理解服务器的运行情况。
信息
分类
AI与计算