该项目是一个MCP(Model Context Protocol)服务器的参考实现,旨在展示如何在Cloudflare Workers环境中托管和运行MCP服务,并集成OAuth认证流程。它实现了一个简单的数学计算工具,并通过SSE(Server-Sent Events)作为传输协议与MCP客户端进行通信。

主要功能点:

  • MCP服务托管: 在Cloudflare Workers上运行标准的MCP服务器逻辑。
  • 工具注册与执行: 注册并提供给LLM客户端调用的工具,例如一个简单的加法工具。
  • SSE传输支持: 通过Server-Sent Events协议与客户端通信,传递JSON-RPC消息。
  • OAuth认证集成: 包含一个基于Web的OAuth流程,用于授权LLM客户端访问服务器。

安装步骤:

  1. 克隆包含该项目的仓库: 'git clone [email protected]:cloudflare/ai.git'
  2. 进入项目目录: 'cd ai'
  3. 安装项目依赖: 'npm install'
  4. 在本地开发模式下运行服务器: 'npx nx dev remote-mcp-server' 服务器将在 'http://localhost:8787/' 运行。

服务器配置(供MCP客户端使用):

MCP客户端(如Claude Desktop)需要知道如何连接并启动该MCP服务器。配置信息通常包含服务器的标识、启动命令及其参数。对于此服务器,您可以告诉客户端使用 Anthropic 提供的 'mcp-remote' 工具作为中继,并指定服务器的访问URL。

客户端配置需要指定:

  • 服务器名称(例如:'math',这是一个用户定义的名称)
  • 客户端用于启动服务器或连接中继的命令(例如:'npx',用于执行Node.js包)
  • 传递给命令的参数列表(例如:'mcp-remote',然后是服务器的端点URL)

例如,连接到本地运行的服务器时,客户端的配置参数将指向 'npx mcp-remote http://localhost:8787/sse'。连接到部署在Cloudflare Workers上的服务器时,参数将指向 'npx mcp-remote https://[您的worker名称].[您的账号名称].workers.dev/sse'。

基本使用方法:

  1. 按照上述步骤运行服务器(本地或部署到Cloudflare)。
  2. 启动一个兼容MCP的客户端,例如MCP Inspector或Claude Desktop。
  3. 在客户端配置中,添加一个新的MCP服务器连接。
  4. 选择 SSE 作为传输协议。
  5. 输入服务器的完整URL,例如 'http://localhost:8787/sse'(本地)或您的Worker URL(部署后)。
  6. 客户端将尝试连接并可能重定向到浏览器,以完成服务器集成的OAuth认证流程。
  7. 认证成功后,客户端将连接到MCP服务器,并可以发现和调用注册的工具(例如 'add' 工具)。

信息

分类

AI与计算