项目简介

'claude-skills' 是一个为 'Claude Code CLI' 设计的生产级技能集合,其中包含了用于构建现代Web应用的各种集成模块和模板。本仓库中的 'cloudflare-agents' 技能,特别提供了构建 Model Context Protocol (MCP) 服务器 的核心实现模板。

该MCP服务器基于Cloudflare Workers环境运行,利用'@modelcontextprotocol/sdk/server'库,以标准化的方式向大型语言模型(LLM)客户端提供上下文信息和功能。它支持托管和管理资源 (Resources),提供数据访问能力;注册和执行工具 (Tools),允许LLM调用外部功能;以及定义和渲染Prompt模板 (Prompts),支持可定制的LLM交互模式。

主要功能点

  • MCP协议支持: 完全遵循MCP协议,通过JSON-RPC与LLM客户端进行通信。
  • 资源托管与管理: 能够定义并提供可访问的上下文资源,如计数器状态、操作历史等。
  • 工具注册与执行: 允许注册可供LLM调用的外部功能(例如数学运算、时间查询、状态修改等)。
  • 有状态和无状态服务: 提供无状态工具和有状态服务的模板,有状态服务利用了Cloudflare Durable Objects的能力来维持状态。
  • 多传输协议支持: 示例中展示了HTTP流式传输 ('/mcp') 和SSE ('/sse') 两种传输协议的挂载。

安装步骤

  1. 克隆仓库: 在您的本地机器上,使用Git克隆此仓库到您选择的目录:
    git clone https://github.com/jezweb/claude-skills.git ~/Documents/claude-skills
  2. 安装所有技能(包括MCP服务器模板): 进入克隆的仓库目录,并运行安装脚本。这将把所有技能(包括MCP服务器模板)软链接到Claude Code CLI的默认技能目录。
    cd ~/Documents/claude-skills
    ./scripts/install-all.sh
    或者,您可以仅安装 'cloudflare-agents' 技能:
    ./scripts/install-skill.sh cloudflare-agents
    注意: 安装完成后,MCP服务器模板位于 '~/Documents/claude-skills/skills/cloudflare-agents/templates/mcp-server-basic.ts'。您需要基于此模板进行开发、编译和部署。

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

MCP服务器是作为Cloudflare Worker部署的。MCP客户端需要知道部署后的Worker的URL和相关的API路径才能进行通信。以下是MCP客户端可以配置的信息,以连接到基于此模板部署的MCP服务器:

  • 服务器名称 (server_name): 'Cloudflare Agents MCP 服务器'
  • 连接命令 (command): '[您的Cloudflare Worker的部署URL]' (例如: 'https://my-mcp-worker.your-account.workers.dev')
  • 连接参数 (args): 客户端将用于与MCP服务器不同服务交互的具体信息。
    • 'endpoint_basic_mcp': '/mcp' (提供无状态MCP工具,通过JSON-RPC over HTTP通信)
    • 'endpoint_stateful_mcp': '/stateful/mcp' (提供有状态MCP服务,通过JSON-RPC over HTTP通信)
    • 'endpoint_legacy_sse': '/sse' (提供遗留SSE传输协议的服务)
    • 'protocol_hint': 'JSON-RPC-over-HTTP' (建议客户端使用的主要通信协议)
    • 'api_version': '1.0.0' (MCP服务器版本)

MCP客户端配置示例 (JSON格式,非代码):

{
  "server_name": "Cloudflare Agents MCP 服务器",
  "command": "https://my-mcp-worker.your-account.workers.dev",
  "args": {
    "endpoint_basic_mcp": "/mcp",
    "endpoint_stateful_mcp": "/stateful/mcp",
    "endpoint_legacy_sse": "/sse",
    "protocol_hint": "JSON-RPC-over-HTTP",
    "api_version": "1.0.0"
  },
  "description": "连接到基于Cloudflare Workers部署的MCP服务器,提供核心MCP功能和Durable Objects支持。",
  "capabilities": ["resources", "tools", "prompts"]
}

注释:

  • 请将 'https://my-mcp-worker.your-account.workers.dev' 替换为您实际部署的Cloudflare Worker的URL。
  • 'args' 中的各个端点路径对应于MCP服务器中挂载的不同服务。
  • 'protocol_hint' 帮助客户端理解如何与服务器通信。
  • 'capabilities' 指示服务器支持的功能,Prompt模板虽然在示例中未直接展示代码,但MCP定义要求,且SDK支持此概念。

基本使用方法

  1. 部署MCP服务器: 根据 'skills/cloudflare-agents/templates/mcp-server-basic.ts' 模板,创建一个Cloudflare Worker项目。将模板代码复制到您的Worker项目,并根据需要修改。然后,使用 'wrangler deploy' 命令将您的Worker部署到Cloudflare。 部署成功后,您将获得一个可公开访问的URL,例如 'https://my-mcp-worker.your-account.workers.dev'。
  2. 配置MCP客户端: 根据上述“服务器配置”部分,在您的MCP客户端中填入部署后的Worker URL和相关端点路径。
  3. LLM客户端交互: 一旦配置完成,您的LLM客户端就可以通过JSON-RPC协议向这些端点发送请求,例如:
    • 读取资源: 请求 'mcp://resource/counter' 获取当前计数器值。
    • 调用工具: 请求执行 'add' 工具,传入 'a' 和 'b' 参数以计算和。
    • 修改状态: 调用 'increment' 工具来增加有状态计数器的值。

这将允许您的LLM客户端利用Cloudflare Workers提供的弹性、可扩展和高性能的后端服务,访问上下文信息和执行外部功能。

信息

分类

AI与计算