项目简介
这是一个基于 Model Context Protocol (MCP) 的服务器实现示例,专门设计用于部署在 Cloudflare Workers 环境中。它提供一个无需认证的端点,允许兼容 MCP 的大型语言模型(LLM)客户端连接并利用服务器提供的功能。
主要功能点
- MCP 协议实现: 遵循 Model Context Protocol (MCP) 标准,与 LLM 客户端进行 JSON-RPC 通信。
- 工具托管: 允许注册和托管可供 LLM 调用的外部函数或服务,扩展 LLM 的能力。
- 示例工具: 内置简单的加法 ('add') 和通用计算器 ('calculate') 工具,演示如何定义和执行 MCP 工具。
- 多传输协议支持: 支持通过 Server-Sent Events (SSE) 或其他 HTTP 端点进行通信。
- Cloudflare Workers 部署: 优化用于在 Cloudflare 全球网络上部署,提供高性能和可伸缩性。
安装步骤
该项目旨在通过 Cloudflare 的部署流程快速启动。最简单的安装方法是使用 Cloudflare Wrangler CLI 工具:
- 确保你已安装 Node.js 和 npm。
- 安装 Cloudflare Wrangler CLI:
npm install -g wrangler - 运行以下命令创建并设置项目(这将使用 Cloudflare 提供的特定 MCP 示例模板):
按照提示完成设置。npm create cloudflare@latest -- my-mcp-server --template=cloudflare/ai/demos/remote-mcp-authless - 进入新创建的项目目录 'my-mcp-server'。
- 编辑 'src/index.ts' 文件,根据需要添加或修改 MCP 工具(已包含计算器工具)。
- 使用 Wrangler 部署到 Cloudflare:
部署完成后,你将获得一个 Worker URL,例如 'remote-mcp-server-authless.<你的账号>.workers.dev'。MCP 服务器的可用端点通常是该 URL 加上 '/sse' 或 '/mcp'。wrangler deploy
你也可以通过 README 中提供的“Deploy to Workers”按钮一键部署到你的 Cloudflare 账户。
服务器配置 (供 MCP 客户端参考)
MCP 客户端需要知道如何连接并启动 MCP 服务器进程或与远程服务器通信。对于部署在 Cloudflare Workers 上的远程 MCP 服务器,客户端通常需要配置一个代理(如 'mcp-remote')来连接远程 URL。
以下是示例 MCP 客户端(如 Claude Desktop)配置服务器时的信息结构,供用户理解:
- '"mcpServers"': MCP 服务器的配置列表。
- '"calculator"': 你为这个服务器实例指定的一个内部名称。
- '"command"': 客户端用于启动 MCP 服务器进程的命令。对于远程服务器,这通常是 'npx' 加上代理命令(如 'mcp-remote')。
- '"args"': 传递给 'command' 的参数列表。对于 'mcp-remote' 代理,其中一个参数就是你的 Cloudflare Workers 部署 URL(例如 'remote-mcp-server-authless.<你的账号>.workers.dev/sse')。
请注意,用户在配置 MCP 客户端时,需要将代理命令 ('mcp-remote') 安装到本地,并提供部署到 Cloudflare Workers 后获得的实际服务器 URL。
基本使用方法
- 部署成功后,复制你的 Cloudflare Workers URL(例如 'https://remote-mcp-server-authless.<你的账号>.workers.dev/sse')。
- 打开支持连接 MCP 服务器的 LLM 客户端,例如 Cloudflare AI Playground 或 Claude Desktop。
- 在客户端的设置或连接界面中,添加一个新的 MCP 服务器。
- 输入你的 Worker URL。如果客户端需要配置命令和参数(如 Claude Desktop),请按照上述“服务器配置”部分的说明,使用 'mcp-remote' 等代理工具并填入你的 Worker URL。
- 连接成功后,LLM 客户端将发现服务器提供的工具(例如 'add', 'calculate')。
- 你现在可以在 LLM 客户端中尝试调用这些工具,例如通过提示词让 LLM 执行计算任务。
信息
分类
AI与计算