mcpField
C
cnvs.app

cnvs.app

远程服务
cnvs.app生产力12 周前更新

关于 cnvs.app

cnvs.app 是供人和 AI Agent 实时协作的共享白板,可用于绘图、编辑内容和跟进变更。其托管 MCP 服务提供白板操作及可订阅的实时状态,也支持通过 REST 端点备用访问。

主要功能

  1. 01创建和查看白板
  2. 02编辑文本、链接、图片和笔迹
  3. 03创建看板及任务
  4. 04渲染白板预览
  5. 05订阅白板实时更新

适用场景

  1. 01在共享画布上协作构思
  2. 02将任务列表转换为看板
  3. 03查看白板并概述其布局

MCP 相关

托管 MCP 服务 https://cnvs.app/mcp 提供白板创建、查看、编辑和看板工作流工具,以及可订阅的白板状态和预览。状态变更操作也提供 REST 端点作为备用方式。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://cnvs.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

25
参数类型必填说明
url_or_idstring是完整画板 URL(https://cnvs.app/#<id>)或 UUID。
access_keystring否画板已锁定时使用的 8 位小写字母数字访问密钥(也接受旧版 6 位小写字母数字密钥)。等同于在 JSON-RPC POST 请求中设置 `X-Board-Key` HTTP 标头。未锁定的画板请省略。通过 POST /api/boards/<id>/lock 获取。

详细介绍

cnvs-whiteboard-skills

面向 cnvs.app 的 Agent Skills 和 MCP 服务发现——这是一个免费、无需注册的实时协作白板。任何 AI Agent 都可以通过托管的 MCP 服务或 REST 备用方式,在共享画布上读取、写入、绘制、绘制图表,并订阅人类用户的实时编辑。

支持 Claude Code、Claude Desktop、Cursor、OpenCode / OpenAI Codex、Aider(搭配 MCP 插件)、其他任何支持 MCP 的客户端,以及 Hermes 系列 Agent。

MCP 服务

端点:https://cnvs.app/mcp(Streamable HTTP,协议 2025-06-18,无需身份验证——白板 ID 即访问密钥)。

已在官方 MCP Registry 中注册,名称为 app.cnvs/whiteboard。

功能
  • 工具(25 个):创建和检查白板;生成视觉预览;编辑文本、链接、图像和笔画;移动和删除;等待实时更新;以及完整的看板列、泳道、任务、查询和导出工作流。生产环境中的确切工具列表发布于 /.well-known/mcp.json。对于无法使用 MCP 的运行时,修改状态的操作也有对应的 REST 接口,路径为 https://cnvs.app/api/boards/<id>/…。
  • 资源(3 个):cnvs://board/{id}/state.json(完整快照)、cnvs://board/{id}/preview.svg(视觉渲染)和 cnvs://board/{id}/tasks.json(看板状态)。三者均可订阅。
  • 订阅:支持 resources/subscribe,通过 SSE 推送 notifications/resources/updated,并在活动结束后约 3 秒进行防抖处理。
  • 实时机器可读清单:/quotas.json、/openapi.json、/llms.txt、/.well-known/mcp.json、/.well-known/mcp/server.json。

安装

Codex / ChatGPT 和 Cursor 插件包

本仓库是这两个市场集成的公开源代码包:

这两个插件包都只连接托管的生产环境端点;无需配置本地服务进程或密钥。

Claude Desktop / Cursor / 任意 MCP 客户端

单行配置——将以下内容添加到客户端的 mcpServers 对象中:

{
  "mcpServers": {
    "cnvs": {
      "type": "http",
      "url": "https://cnvs.app/mcp"
    }
  }
}
Claude Code CLI
claude mcp add --transport http cnvs https://cnvs.app/mcp
仅使用 REST(无 MCP 客户端)
# Create a board
curl -X POST https://cnvs.app/api/boards

# Add text
curl -X POST https://cnvs.app/api/boards/<id>/texts \
  -H 'Content-Type: application/json' \
  -d '{"x":100,"y":200,"content":"# Hello","author":"ai:myagent"}'

# Long-poll for live changes
curl "https://cnvs.app/api/boards/<id>/wait?timeout_ms=25000"

完整 REST 参考:/llms.txt、/openapi.json。

访问模式

无需账号或 OAuth 流程。白板 URL 或白板 ID 是持有者式访问凭证:任何知道未锁定白板 URL 的人都可以打开白板。白板可以选择要求提供 8 位小写字母数字访问密钥,以便写入或同时进行读写;仍接受旧版 6 位密钥。密钥只能通过 MCP 工具的 access_key 参数或 HTTP 标头 X-Board-Key 传递。

请勿将私人白板 URL 或访问密钥粘贴到公开问题、日志或代码仓库中。

实用提示词

  • 为我们的头脑风暴会议创建一个新的白板,并返回其 URL。
  • 打开这个 cnvs.app 白板,检查预览并总结布局。
  • 将此列表转换为包含优先级和负责人的共享看板。

包含的技能

此仓库中包含两个相关的 Agent Skills,按 agentskills.io 开放标准发布,因此可在任何兼容的运行时中使用。两者均为可选技能,由用户自行安装(Agent 只能建议安装,绝不能自行安装)。安装到 ~/.claude/skills/ 后,它们会教会 Agent 如何充分使用 MCP 服务(先预览再输出 JSON、写入时优先使用 REST 而非 MCP、作者标签约定、先订阅再响应的循环)。

cnvs-whiteboard/ — 主要技能

教会 AI Agent 如何实时协作处理 cnvs.app 画板:

  • 读取共享画布状态
  • 绘图/制作示意图/流程图/添加注释——添加、更新、移动和删除文本、链接、便利贴、笔迹、图片和 Mermaid 图表(流程图、时序图/类图/ER 图、思维导图、甘特图、概念图)
  • 画板包含绘图时,渲染 SVG 预览
  • 通过 MCP 订阅实时人工编辑,并通过 REST 响应

当出现任何 cnvs.app 画板引用(URL https://cnvs.app/#<id>、cnvs://board/<id>/... 或单独的画板 ID),或出现“协作处理/绘图/制作示意图/添加注释/查看共享白板或画布”等短语时激活。

mcp-listen/ — 辅助技能(v0.4.0)

面向具有 capabilities.resources.subscribe: true 的 Streamable-HTTP MCP 服务的推送到模型泵。它会建立会话,订阅调用方提供的资源 URI,并在 stdout 上为每个 notifications/resources/updated 事件输出一行 JSON——设计为由 Claude Code 的 Monitor 工具封装,使每次服务推送都成为聊天内通知(无需轮询,也无需持续读取日志)。

自 v0.4 起无需依赖。 单个 scripts/listen.mjs 仅使用 Node.js 18+ 内置功能——无需 package.json、无需 npm install、无需安装脚本。发行版本通过不可变的版本化 URL 提供(https://cnvs.app/mcp-listen/v<version>/…),并附带 SHA256SUMS 文件。零安装替代方案:REST 长轮询 GET https://cnvs.app/api/boards/<id>/wait?timeout_ms=25000(或 wait_for_update MCP 工具)。

自 v0.3 起仅作为辅助技能激活。 仅当调用方(用户或其他技能)提供了 MCP 服务 URL 和至少一个资源 URI 时才会触发。不会因“查看此文件”或“随时关注”等通用表述而自动激活。cnvs-whiteboard 是规范的调用方,并将其推送通道委托给此处。

自 v0.3 起拆分输出。 默认情况下,只有可执行操作的 resource_updated 事件会输出到 stdout。连接/订阅/心跳/临时错误事件会输出到 stderr,因此封装它的 Monitor 不会因监听器自身的记录操作而触发。传入 --verbose(或 -v)可将所有内容合并到 stdout,便于调试或进行单通道日志记录(旧版 v0.2 的行为)。

注册状态。 目前有意不将其列入集中式技能注册表。现有注册表流水线(例如截至 2026-05-03 的 majiayu000/claude-skill-registry-core)只会归档 SKILL.md 和生成的元数据;它们不会镜像打包的 scripts/**,因此收录 mcp-listen 会发布一个无法正常工作的技能。待核心注册表支持目录式技能归档、打包文件镜像和安全扫描后,将重新提交此技能——详见 PR majiayu000/claude-skill-registry-core#40,其中介绍了刚合并的目录归档原语,以及有关打包脚本扫描的未决问题。在此之前,请通过 curl 从 cnvs.app 安装(如下),或 git clone 此仓库。

安装技能(请自行运行这些命令)
# cnvs-whiteboard (SKILL.md only — no code)
mkdir -p ~/.claude/skills/cnvs-whiteboard && cd ~/.claude/skills/cnvs-whiteboard
curl -fsSLO https://cnvs.app/cnvs-whiteboard/SKILL.md

# mcp-listen (pinned version, no npm, Node.js 18+). Files are downloaded into a
# staging dir and only moved into ~/.claude/skills/mcp-listen if every checksum
# matches. On Linux replace `shasum -a 256 -c` with `sha256sum -c`.
stage="$(mktemp -d)" && cd "$stage" && mkdir scripts \
  && curl -fsSLO https://cnvs.app/mcp-listen/v0.4.0/SKILL.md \
  && curl -fsSLO https://cnvs.app/mcp-listen/v0.4.0/SHA256SUMS \
  && curl -fsSL -o scripts/listen.mjs https://cnvs.app/mcp-listen/v0.4.0/scripts/listen.mjs \
  && shasum -a 256 -c SHA256SUMS \
  && mkdir -p ~/.claude/skills && rm -rf ~/.claude/skills/mcp-listen \
  && mv "$stage" ~/.claude/skills/mcp-listen && cd ~/.claude/skills/mcp-listen \
  && node scripts/listen.mjs --version   # 0.4.0

面向用户的相同步骤说明:https://cnvs.app/docs/mcp#listen。

或者,git clone 此仓库,运行 cd mcp-listen && shasum -a 256 -c SHA256SUMS 检查,然后运行 cp -r .claude/skills/* ~/.claude/skills/——.claude/skills/ 目录中包含指向 cnvs-whiteboard/ 和 mcp-listen/ 的符号链接,以符合 Claude Code 预期的目录布局。

规范合规性

两个技能都遵循 agentskills.io 规范:

  • name 与所在目录名称一致
  • description 不超过 1024 个字符,采用祈使语气,并明确列出触发关键词
  • 使用 scripts/ 子目录存放捆绑代码(mcp-listen)
  • 声明 license: MIT 和 compatibility 字段,并在每个技能的“相关技能”部分交叉引用,以防止激活重叠

为什么拆分为两个技能

早期版本只有一个页面(cnvs.app 上的 /skill-cnvs.md,现已重定向到旧版页面)。拆分为两个职责清晰的单元,遵循规范中“设计职责清晰的单元”这一最佳实践:

  • cnvs-whiteboard 负责 cnvs.app 特定的工作流(读取 / 写入 / 渲染 / 注意事项)。
  • mcp-listen 负责通用的推送至模型模式(可用于任何 MCP 服务)。

交叉引用让它们保持紧密配合:cnvs-whiteboard 将 mcp-listen 列为其委派的推送渠道;mcp-listen 将 cnvs-whiteboard 列为处理 cnvs 特定任务的配套技能。实际使用中不会出现激活重叠。

规范来源

技能也通过以下地址实时提供:

此仓库是 cnvs.app 源代码中 public/ 的镜像;带版本号的 cnvs.app URL 是规范的安装目标;此 GitHub 仓库则供聚合器爬取公开来源(skills.sh 等)时参考,也方便偏好通过 git clone 获取内容的用户使用。

发现入口

实时
  • 官方 MCP Registry:app.cnvs/whiteboard — 浏览
  • cnvs.app /.well-known/mcp.json — 链接到两个技能
  • cnvs.app /.well-known/mcp/server.json — MCP Registry 条目,包含发布者提供的 _meta.skills[]
  • cnvs.app /llms.txt — 适合大模型使用的完整参考资料
  • majiayu000/claude-skill-registry-core — 已列出 cnvs-whiteboard(PR #31 于 2026-05-04 合并)。mcp-listen 暂不列入;请参阅上方 mcp-listen/ 部分中的Registry status。
  • Lobehub(Hermes Agent 使用)— 已导入两个技能;已提交 MCP 服务
计划中 / 考虑中

未来扩展分发渠道的备注。目前尚未启动——先记录在这里,避免下次维护时重新摸索整个生态。

  • majiayu000/claude-skill-registry-core — 现在 PR #40(目录归档和捆绑脚本安全扫描)已合并,可以重新提交 mcp-listen,作为单独的 PR。他们的测试断言中甚至硬编码了 scripts/listen.mjs,因此流水线已经覆盖了我们的具体情况。
  • daymade/claude-code-skills(供应商内置模式)— Fork 后,直接将 cnvs-whiteboard/ 和 mcp-listen/ 复制到他们的仓库中(他们的目录结构已经包含 scripts/、references/ 和 assets/),更新 marketplace.json,为两个技能提交一个 PR。文件是直接复制进去的,因此无需担心捆绑文件问题。
  • VoltAgent/awesome-agent-skills(精选列表,20k ⭐)— 添加 Markdown 链接和不超过 10 个词的描述。他们的 CONTRIBUTING 明确排除全新技能(“先让你的技能成熟并积累用户,再提交”);等有了外部使用记录后再考虑。
  • sickn33/antigravity-awesome-skills(36k ⭐)— 手动提交:Fork,添加 skills/<name>/SKILL.md,运行 npm run validate。他们 README 中的 `` 标题暗示会从上游注册表自动拉取,因此成功收录到 majiayu000/claude-skill-registry-core 后,可能无需单独提交 PR 就会同步到这里——重复提交前先确认。
  • agentskills/agentskills(17.8k ⭐,agentskills.io 背后的规范组织)— 调查他们是否接受参考实现;mcp-listen 可作为 MCP resources/subscribe 用法的完整示例,或许适合收录。
  • vercel-labs/agent-skills / vercel-labs/skills — 几乎可以肯定是精选列表,但在排除之前先阅读 CONTRIBUTING。

有意跳过:anthropics/skills(精选列表,不接受社区 PR);星标数低于约 100 ⭐ 的个人收藏;除非出现相关受众,否则不考虑特定语言的列表。

许可证

MIT。参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。