项目简介
'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') 两种传输协议的挂载。
安装步骤
- 克隆仓库:
在您的本地机器上,使用Git克隆此仓库到您选择的目录:
git clone https://github.com/jezweb/claude-skills.git ~/Documents/claude-skills - 安装所有技能(包括MCP服务器模板):
进入克隆的仓库目录,并运行安装脚本。这将把所有技能(包括MCP服务器模板)软链接到Claude Code CLI的默认技能目录。
或者,您可以仅安装 'cloudflare-agents' 技能:cd ~/Documents/claude-skills ./scripts/install-all.sh
注意: 安装完成后,MCP服务器模板位于 '~/Documents/claude-skills/skills/cloudflare-agents/templates/mcp-server-basic.ts'。您需要基于此模板进行开发、编译和部署。./scripts/install-skill.sh cloudflare-agents
服务器配置(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支持此概念。
基本使用方法
- 部署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'。
- 配置MCP客户端: 根据上述“服务器配置”部分,在您的MCP客户端中填入部署后的Worker URL和相关端点路径。
- LLM客户端交互:
一旦配置完成,您的LLM客户端就可以通过JSON-RPC协议向这些端点发送请求,例如:
- 读取资源: 请求 'mcp://resource/counter' 获取当前计数器值。
- 调用工具: 请求执行 'add' 工具,传入 'a' 和 'b' 参数以计算和。
- 修改状态: 调用 'increment' 工具来增加有状态计数器的值。
这将允许您的LLM客户端利用Cloudflare Workers提供的弹性、可扩展和高性能的后端服务,访问上下文信息和执行外部功能。
信息
分类
AI与计算