MCP服务器

Purpledreams.io的MCP服务器,基于Cloudflare Worker实现,提供模型上下文协议和交互式UI组件,适用于AI助手集成。

  • by alexortiz201
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 alexortiz201/mcp.purpledreams.io

使用说明

Purpledreams MCP 服务器运行在 Cloudflare 工作者上

Purpledreams.io的MCP服务器。正在开发中,有许多功能即将推出。这将包含一些实验性的库和实用工具。

从中汲取灵感 肯特·C·多兹 以下是我为自己列出的一些关键点提醒,但如需更多详细信息,请查阅上述项目的README文件。

关于该架构的一个关键区别是:

  • Worker 代码运行在 Cloudflare Worker(服务器端),而小部件则运行在浏览器上下文中。
  • 每个目录的不同 tsconfig 文件在构建过程中强制执行这一点。

架构概述

这个MCP应用程序实现了作为MCP工具的小部件,可供AI助手使用。其架构由几个关键组件构成:

  1. MCP服务器 - 一个实现了该模型的Cloudflare持久对象 上下文协议
  2. 小部件系统 - 使用Remix 3构建的交互式用户界面组件,可以 嵌入在AI聊天中
  3. 双向沟通 - 小部件可以接收来自(某个来源)的初始状态 AI并发送回复信息
  4. 静态资源 - 通过Cloudflare的CDN提供的小部件包

初始状态配置

当人工智能助手调用计算器工具时,它可以传递初始状态 参数:

  • display - 初始显示值
  • previousValue - 已经输入的值(例如,“我想在某个数上加5”) 数字")
  • operation - 待处理的操作(+,-,*,/)
  • waitingForNewValue - 计算器是否准备好接收新输入
  • errorState - 是否以错误状态开始

这意味着人工智能可以根据用户的需求预先配置计算器。 例如,如果用户说“我想给某物加5”,人工智能可以调用 带有计算器的 previousValue: 5, operation: '+',以及 waitingForNewValue: true.

独立的构建过程

该项目采用两个独立的构建过程:

  1. 小部件构建 (Vite) - 将计算器用户界面构建为独立的JavaScript 捆束;成捆的东西

    • 输入: worker/widgets/calculator/index.tsx
    • 输出: dist/public/widgets/calculator.js
    • 格式:使用ES模块,所有依赖项打包在一起
  2. 工人构建(或:工人群体建设) (Wrangler) - 使用MCP服务器构建Cloudflare Worker

    • 输入: worker/index.tsx
    • 输出:工作包已部署到Cloudflare
    • 包括:MCP协议处理器、工具注册、小部件服务

部署

  1. 为生产构建

    npm run build
    
  2. 部署到Cloudflare

    npm run deploy
    
  3. 与ChatGPT一起使用

    一旦部署完成,您可以通过提供相关信息将此MCP服务器添加到ChatGPT中 部署URL + /mcp 端点。