这个项目是一个构建在 Cloudflare Worker 上的 MCP 服务器,旨在为大型语言模型 (LLM) 客户端(如 AI 助手)提供标准化的上下文信息和功能。它将交互式 UI 组件(如计算器)封装为 MCP 工具,并提供日程管理等后端服务。
主要功能点:
- MCP 工具托管: 将前端组件(如 Remix 3 构建的交互式计算器)作为 MCP 工具托管,允许 AI 助手调用并传入初始状态。
- 上下文管理: 为 AI 助手提供结构化的上下文信息,支持动态调整 AI 交互。
- 数据访问与存储: 利用 Cloudflare D1 数据库存储和管理用户日程等持久化数据。
- API 服务: 提供日程查询、保存和生成等后端 API 接口。
- Cloudflare Worker 部署: 专为 Cloudflare 平台优化,利用 Durable Objects 实现 MCP 服务器的核心逻辑,具备高性能和可扩展性。
安装步骤:
- 克隆仓库:
首先,您需要将项目仓库克隆到本地:
git clone https://github.com/alexortiz201/mcp.purpledreams.io.git cd mcp.purpledreams.io - 安装依赖:
进入项目目录后,安装所有必要的 Node.js 依赖:
npm install - 配置 Cloudflare 账户: 确保已安装并配置 'wrangler' CLI 工具(Cloudflare Workers 的命令行工具),并已登录到您的 Cloudflare 账户。如果您还没有,请按照 Cloudflare 的官方文档进行安装和认证。
- 构建项目:
执行构建命令以编译前端部件(widgets)和 Cloudflare Worker 代码:
npm run build - 部署到 Cloudflare:
运行部署命令将服务器代码上传到您的 Cloudflare Workers 环境:
部署成功后,Cloudflare 将为您提供一个可访问的 Worker URL。npm run deploy
服务器配置 (供 MCP 客户端参考):
MCP 客户端需要通过 JSON-RPC 协议与此服务器通信。以下是 MCP 客户端配置该服务器的参考信息,请替换其中的 'your-deployed-worker-url.workers.dev' 为您实际部署后获得的 URL:
{ "server_name": "Purpledreams MCP Server", "command": "http_request", // 或适合您MCP客户端的命令,指示通过HTTP发送请求 "args": { "url": "https://your-deployed-worker-url.workers.dev/mcp", // 替换为您的实际部署URL "method": "POST", "headers": { "Content-Type": "application/json" } }, "protocol": "json-rpc", // 通信协议为JSON-RPC "transport": "http", // 或 "websocket", "sse" 等,根据实际实现和客户端需求 "description": "连接到 Purpledreams MCP 服务器,获取日程管理和交互式计算器等功能。请将 'your-deployed-worker-url.workers.dev' 替换为实际部署的Worker URL。" }
- 'server_name': MCP 服务器的友好名称。
- 'command': MCP 客户端用于连接或发送请求到服务器的指令(例如,'http_request' 表示发送 HTTP 请求)。
- 'args.url': 部署在 Cloudflare Worker 上的 MCP 服务器的实际访问端点,通常是您的 Worker URL 加上 '/mcp' 路径。
- 'args.method': 发送请求的 HTTP 方法,对于 JSON-RPC 通常是 'POST'。
- 'args.headers': 请求头,'Content-Type: application/json' 是标准 JSON-RPC 请求所必需的。
- 'protocol': 服务器支持的通信协议,本例为 JSON-RPC。
- 'transport': 数据传输层协议,例如 HTTP。
基本使用方法:
部署完成后,LLM 客户端或 AI 助手可以向您部署的 Worker URL ('https://your-deployed-worker-url.workers.dev/mcp') 发送符合 MCP 协议的 JSON-RPC 请求,以:
- 调用工具: 例如,发送 JSON-RPC 请求来调用内置的计算器工具,并传入 'display', 'previousValue', 'operation' 等初始状态参数,让 AI 助手能够进行交互式计算。
- 获取资源: 发送 JSON-RPC 请求来查询或操作用户日程等持久化数据资源。
- 获取 Prompt 模板: 动态获取服务器定义的、可定制的 LLM 交互 Prompt 模板。
具体的 JSON-RPC 请求结构和参数将根据 MCP 协议和服务器暴露的功能而定。
信息
分类
AI与计算