Token导航 LogoToken导航

MCP Server · 运维云端

App Workers Template

一个用于在Cloudflare Workers上构建Model Context Protocol(MCP)服务器的生产就绪模板,支持交互式UI小部件。

stdio官方级别未说明来源级核验工具 0wrangler
Cloudflare WorkersSession认证本地部署STDIO

快速开始

作者 / 组织
MCPJam
提供方
MCPJam
运行时
Node.js

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

13

仓库热度

收录来源

2 个

MCP World

选型结论

App Workers Template 属于运维云端类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

运维云端

传输方式

stdio

认证方式

会话凭据

部署方式

支持远程部署

安装与配置

安装命令

npx wrangler login

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

MCP应用程序工作人员模板

一个生产就绪的模板,用于在Cloudflare Workers上使用交互式UI小部件构建模型上下文协议(MCP)服务器。此模板演示如何创建MCP工具,使用React、Tailwind CSS和MCP扩展应用程序API返回丰富的交互式HTML小部件。

概述

此模板为构建MCP服务器提供了完整的基础,这些服务器公开了:

  • MCP工具:MCP客户端可以调用的服务器端函数
  • UI控件:可在MCP兼容主机中呈现的交互式HTML小部件
  • 资源处理程序:使用适当的CSP配置为小部件HTML提供服务的动态资源端点

示例实现包括一个动画搜索工具,该工具查询Jikan API(MyAnimeList)并在一个漂亮的交互式小部件中显示结果。

特性

  • ✅ MCP服务器实现:使用完整的MCP服务器 @modelcontextprotocol/sdk
  • ✅ 交互式小部件:具有Tailwind CSS样式的基于React的UI小部件
  • ✅ Cloudflare员工:部署到Cloudflare的边缘网络以获得全球性能
  • ✅ 资产管理:为小部件HTML文件提供服务的内置资产
  • ✅ 类型安全:Cloudflare Workers类型生成完全支持TypeScript
  • ✅ 现代建筑流水线:基于Vite的单文件输出构建系统
  • ✅ CSP配置:小部件安全的内容安全策略支持
  • ✅ MCP扩展应用程序:与集成 @modelcontextprotocol/ext-apps 用于小部件通信

先决条件

  • Node.js 18+和npm
  • Cloudflare帐户 (用于部署)
  • 牧马人CLI (通过npm安装)

安装

  1. 克隆仓库:
   git clone https://github.com/MCPJam/mcp-app-workers-template.git
   cd mcp-app-workers-template
  1. 安装依赖项:
   npm install
  1. 生成Cloudflare Workers类型:
   npm run cf-typegen

这将为Cloudflare Workers绑定生成TypeScript类型。这些类型用于 server/index.ts 当使用实例化Hono时 CloudflareBindings.

发展

地方发展

  1. 构建小部件 (运行开发服务器之前需要):
   npm run build
  1. 启动开发服务器:
   npm run dev

这将启动Wrangler的开发服务器。MCP端点将在 http://localhost:8787/mcp.

构建小部件

小部件使用Vite构建,并作为单个文件HTML包输出:

npm run build

构建过程:

  • 编译React/TypeScript组件
  • 将所有依赖项捆绑到一个文件中
  • 应用顺风CSS
  • 输出到 web/dist/widgets/

要构建特定的小部件,请设置 INPUT 环境变量:

INPUT=widgets/anime-detail-widget.html npm run build

部署

部署到Cloudflare Workers

  1. 与Wrangler进行身份验证 (仅限第一次):
   npx wrangler login
  1. 构建小部件:
   npm run build
  1. 部署:
   npm run deploy

这将:

- 构建小部件 - 将Worker部署到Cloudflare - 将小部件资产上传到Worker的assets绑定

  1. 获取您的部署URL:

部署后,Wrangler将输出您的Worker URL。您的MCP端点将位于:

   https://..workers.dev/mcp

环境配置

该项目使用 wrangler.jsonc 用于配置。关键设置:

  • 名字:工人名称(将其更改为您的项目名称)
  • 主要的:入口点(server/index.ts)
  • 资产:包含内置小部件的目录(./web/dist/widgets)
  • 兼容性_日期:Cloudflare Workers兼容性日期

项目结构

mcp-app-workers-template/
├── server/                    # Server-side code
│   ├── index.ts              # Hono router and MCP endpoint handler
│   └── mcp.ts                # MCP server implementation
├── web/                       # Frontend/widget code
│   ├── components/           # React components
│   │   ├── anime-card.tsx   # Anime display component
│   │   └── ui/              # UI component library
│   ├── widgets/             # Widget entry points
│   │   ├── anime-detail-widget.html
│   │   └── anime-widget.tsx
│   ├── lib/                 # Utilities
│   └── index.css            # Global styles
├── wrangler.jsonc           # Cloudflare Workers configuration
├── vite.config.ts           # Vite build configuration
├── tsconfig.json            # TypeScript configuration
└── package.json             # Dependencies and scripts

运作原理

MCP服务器设置

MCP服务器(server/mcp.ts)寄存器:

  1. 工具:MCP客户端可以调用的服务器端函数

- 例子: get-anime-detail -搜索动漫并返回结构化数据

  1. 资源:为小部件HTML提供服务的动态端点

- 例子: ui://widget/anime-detail-widget.html -提供动漫小部件HTML

小部件通信

小工具使用MCP扩展应用程序API(@modelcontextprotocol/ext-apps)致:

  • 接收工具输入:倾听工具何时被调用
  • 接收工具结果:从工具执行中获取结构化数据
  • 发送命令:请求主机执行操作(例如,打开链接)

小部件注册

小部件已在中注册 server/mcp.ts 使用 registerWidget():

registerWidget(server, assets, {
  name: "anime-detail-widget",
  htmlPath: "/anime-detail-widget.html",
  resourceUri: "ui://widget/anime-detail-widget.html",
  descripition: "Interactive anime detail widget UI",
  resourceDomains: ["https://cdn.myanimelist.net/"], // CSP allowed domains
});

工具到小部件链接

工具可以使用指定要显示的小部件 _meta:

server.registerTool(
  "get-anime-detail",
  {
    // ... tool config
    _meta: {
      "ui/resourceUri": "ui://widget/anime-detail-widget.html",
    },
  },
  // ... handler
);

添加新小部件

  1. 创建小部件HTML入口点 在 web/widgets/:
   
   
     
       
       
       My Widget
     
     
       

       
     
   
  1. 创建小部件React组件 在 web/widgets/:
   import { useApp } from "@modelcontextprotocol/ext-apps/react";
   // ... implement widget logic
  1. 构建小部件:
   INPUT=widgets/my-widget.html npm run build
  1. 注册小部件 在 server/mcp.ts:
   registerWidget(server, assets, {
     name: "my-widget",
     htmlPath: "/my-widget.html",
     resourceUri: "ui://widget/my-widget.html",
     descripition: "My widget description",
     resourceDomains: ["https://example.com"], // Optional: CSP domains
   });
  1. 将工具链接到小部件 (可选):
   server.registerTool(
     "my-tool",
     {
       // ... config
       _meta: {
         "ui/resourceUri": "ui://widget/my-widget.html",
       },
     },
     handler,
   );

配置

小部件配置选项

注册小部件时,您可以配置:

  • 名字:唯一小部件标识符
  • htmlPath:ASSETS绑定中HTML文件的路径
  • resourceUri:MCP资源URI(必须以开头 ui://widget/)
  • 描述:小部件描述
  • connectDomains:CSP允许域用于fetch/XHR/Webocket
  • resourceDomains:CSP允许图像、脚本等域。
  • 领域:小部件的自定义域
  • 偏好订购:小部件是否喜欢边框

CSP(内容安全策略)

小部件支持CSP配置以确保安全:

registerWidget(server, assets, {
  // ...
  connectDomains: ["https://api.example.com"], // For API calls
  resourceDomains: ["https://cdn.example.com"], // For images/assets
});

使用的技术

脚本

  • npm run dev -启动开发服务器
  • npm run build -构建小部件(需要 INPUT 任何人)
  • npm run deploy -部署到Cloudflare Workers
  • npm run cf-typegen -生成Cloudflare Workers TypeScript类型
  • npm run format -使用Prettier格式化代码

故障排除

小部件未加载

  • 确保构建了小部件: npm run build
  • 检查HTML文件是否存在于 web/dist/widgets/
  • 验证 htmlPath 小部件注册与实际文件路径匹配

MCP连接问题

  • 验证终结点URL是否正确: https://your-worker.workers.dev/mcp
  • 检查Cloudflare Workers日志: npx wrangler tail
  • 确保MCP客户端支持HTTP/SSE传输

类型错误

  • 跑 npm run cf-typegen 重新生成类型
  • 确保 CloudflareBindings 从生成的类型导入

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

MCP服务器TypeScript本地部署CloudflareWorkers交互式UIReact

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到会话凭据的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
App Workers Template

MCP World · 本页

0stdio有2 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

App Workers Template 怎么安装?

公开资料给出的安装命令是 npx wrangler login,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

App Workers Template 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

App Workers Template 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

App Workers Template 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

App Workers Template 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP