Canvas Mcp

io.github.AvatarGaia由 GitHub 帳號 AvatarGaia 發布v0.1.4更新於 Oct 31, 2026

TeamAgent Canvas MCP(服务端 0.4.0):91 个工具——开岗、改配置、跑动作、看数据、发布并配知识库。可匿名试用,带 Key 解锁全部。

已驗證Streamable HTTP可網頁執行知識與記憶資料與分析AI 與機器學習

概覽

AI 產生的概覽

TeamAgent Canvas MCP 讓助理開通並設定數位員工職位、執行職位動作、發布知識庫,並檢視工作階段與統計資料。

可以做什麼
  • 列出職位範本,開通、檢視數位員工職位及其畫布連結與工作階段 ID
  • 讀取與局部修改職位設定,例如人設、服務流程、推廣設定與畫布外觀
  • 列出並執行職位動作、輪詢長任務,並把 Markdown、HTML 或 JSON 卡片推送到畫布工作階段
  • 列出、讀取、發布 Markdown 知識庫,並把知識庫指派給職位
  • 檢視職位統計、訪客工作階段、工作階段紀錄與跨工作階段事件
適用情境
適合讓助理建立與調整面向訪客的數位員工、為其設定 Markdown 知識庫、觸發職位動作,並了解訪客服務狀況。匿名模式只能使用免費的清單與畫布類工具。
執行需求
可作為遠端 streamable-HTTP 端點使用,也可用 npx 啟動本機 npm 套件;該套件只是轉送到遠端伺服器的 stdio 外殼。需透過 Authorization 標頭或 CANVAS_MCP_TOKEN / CANVAS_MCP_KEY 環境變數提供 dk_ 或 ta_ 金鑰,未帶金鑰只能使用匿名沙箱工具;金鑰可向提供者的開發者介面自助註冊取得。需要能連線至提供者網路。
安裝前請注意
付費動作與職位月費會從擁有者餘額扣款,開通職位或執行付費動作前應先確認費用。發布知識庫等於對匿名訪客公開,不要放入隱私、客戶資料、權杖或內部維運內容。工具會修改職位設定、整庫取代知識庫並向工作階段推播畫面;工作階段紀錄僅能讀取自己職位的資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Canvas Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.AvatarGaia%2Fcanvas-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "canvas": {
      "type": "http",
      "url": "https://agent.avatargaia.top/api/mcp/canvas"
    }
  }
}

README

@avatargaia/canvas-mcp

stdio 马甲:让只支持 stdio 的 MCP 客户端(Claude Desktop / Cursor / Cline / 各类本地 Agent)接入 TeamAgent 的 MCP 服务器(streamable-http)。 纯转调,无状态、不缓存、不改写请求。

两个门,同一把 Key:

门端点工具鉴权
Canvashttps://agent.avatargaia.top/api/mcp/canvas带 Key 97 个;匿名沙箱 18 个免费工具可不带 Key:匿名沙箱开放免费工具;带 dk_/ta_ 解锁全部
AICarehttps://agent.avatargaia.top/api/mcp/aicare7 个(AI 健康检测 13 类:舌苔/面部/指甲…)必须带 Key,按次计费

自动安装说明(给 Agent 读):llms-install.md | 隐私政策与支持:https://agent.avatargaia.top/privacy

用

bash
CANVAS_MCP_URL=https://agent.avatargaia.top/api/mcp/canvas \CANVAS_MCP_TOKEN=ta_xxxxxxxx \npx -y @avatargaia/canvas-mcp

客户端配置(Claude Desktop claude_desktop_config.json 为例):

json
{  "mcpServers": {    "teamagent-canvas": {      "command": "npx",      "args": ["-y", "@avatargaia/canvas-mcp", "--token", "dk_xxxxxxxx"]    }  }}

环境变量

变量必填说明
CANVAS_MCP_TOKEN否dk_(开发者 Key)或 ta_(平台令牌);不带 = 匿名沙箱,只能用免费工具
CANVAS_MCP_URL否默认 Canvas 门;AICare 门填 https://agent.avatargaia.top/api/mcp/aicare;自建部署时改这里
CANVAS_MCP_KEY否CANVAS_MCP_TOKEN 的别名

给数字员工喂知识(v0.4.0 起)

岗位可以配知识库:访客问到时,数字员工先查库再答,并把依据的那一页显示在画布上;库里没有的,它会直说没有。

工具作用
list_kbs我名下的知识库 + 每个岗位配了哪些库
read_kb库的页面清单,或某一页原文
publish_kb发布一套 wiki(整库替换,可顺手配给岗位);checked 不为 true 不发
set_staff_kbs设定岗位用哪些库
hire_staff按模板开岗,可带 kbs

三步:整理(一套 Markdown,wiki/index.md 总目录 + wiki/<主题>/<文章>.md,一个概念一篇,数字日期照原文写)→ 发布(publish_kb,库名 + 全部页面 + checked: true,同名再发是整库替换)→ 配给岗位(set_staff_kbs,或发布时带 slug,或 hire_staff 直接带 kbs)。

⚠️ 发布等于公开:岗位是匿名访客都能聊的,库里写了什么访客就能问出什么。个人隐私、客户资料、令牌、内部运维内容不要放。上限:200 个文件 / 单个 64KB / 合计 2MB。

行为

  • stdin/stdout 逐行 JSON-RPC 2.0;通知(无 id)不回包
  • 上游 HTTP 错误原样透传成 JSON-RPC error(401: Missing Authorization header / 402: … / 429: …),客户端能看见真正原因
  • 上游返回 SSE 或 JSON 都能解析(取最后一条 data:)
  • stdin 关闭后等所有在途请求落地再退出

验证记录(2026-10-03)

initialize   ✅ serverInfo teamagent-canvas 0.4.0tools/list   ✅ 91 个工具publish_kb   ✅ checked:false 被拦下;checked:true 发布成功hire_staff   ✅ 开岗并同时配知识库,返回里带 kbsset_staff_kbs ✅ 正向成功;跨账号岗位返回 404(越权被拒)匿名调用      ✅ {"error":{"code":-32000,"message":"401: Missing Authorization header"}}

(早期 0.3.0 的 stdio 马甲验证:initialize / tools/list / tools/call / 无令牌 401 / mcporter 接入,均通过。)

拿 Key(自助,30 秒)

外部 / 本地 Agent 无需 TeamAgent 账号:

bash
curl -X POST https://agent.avatargaia.top/api/dev/register \  -H "Content-Type: application/json" \  -d '{"name":"my-agent","email":"[email protected]"}'# → 返回 dk_ Key(只显示一次)+ 20 credits + 接入信息

工具注解

每个工具都带 MCP annotations(readOnlyHint / destructiveHint / idempotentHint / openWorldHint),付费工具在描述里写明 credit 数,客户端可据此做二次确认。

收录

來源:README.md,提交 33632b1

工具

18

list_templates

岗位模板清单

列出可开岗的数字员工模板。用于:想知道"系统能开哪些岗位"、或用户要开通新岗位时。返回每个模板的 templateId / 名称 / 说明 / canOpen / missingHandlers / 动作清单。别用它找"已开好的岗位"——那是 list_my_staff。canOpen=false 的模板不可开通(缺实现),别推荐用户选。参数:无。

無需輸入參數。

list_my_staff

我名下的岗位

列出我名下的数字员工岗位(slug / 名称 / 模板 / 画布链接)。用户问"我有哪些岗位"用它;后续所有按岗位操作的工具都要 slug,slug 一律从这里拿,不要凭记忆拼。参数:无。

無需輸入參數。

open_canvas

打开画布(拿链接和会话)

为岗位生成画布链接 + 会话 ID。用于用户需要"看得见的界面"(看报告/看商品/做检测)。参数:slug 必填;hostUserId 宿主用户标识(强烈建议带,会话归属和离线补推都靠它);targetId 关爱/业务对象;app 指定画布页(如 aicare-kf)。返回 {url, session_id}——把 session_id 存下来,get_session_log / push_screen 都用它。会话在返回时已建立:现在就能 push_screen 给"还没来的人"备卡片,用户打开链接即补推;人打开后聊天/埋点都归到同一个 session_id。

輸入參數appslug必填targetIdhostUserId

get_staff_config

读岗位配置

读岗位配置:personaPrompt / serviceFlow / promotionConfig / productSources / contextMode / layoutStyle / templateId / llmMode(只说是否 BYOK,不给密钥)/ tts。参数:slug 必填。改之前先读,否则会用"想当然的人设"覆盖客户调过的版本。

輸入參數slug必填

patch_staff_config

改岗位配置

局部修改岗位配置,patch 只放要改的字段:personaPrompt(人设) / serviceFlow(服务流程,一行一步) / promotionConfig(只放要改的键,其余保留:categories:[{name,priority,url}] 主推;look:{brandName,slogan,intro,avatarUrl,theme(ember|green|blue|purple),particles,startText,footer,placeholder,emptyTitle,emptyHint,showPhoto} 画布外观与文案;sell:{sop,pdd} 是否推荐服务包 / 拼多多商品;kbs:[库名] 用哪些知识库,也可用 set_staff_kbs)/ productSources([{key,label,searchUrl,weAppId?,weAppUsername?}]) / layoutStyle(split|pip|classic) / contextMode(inline|webhook) / contextWebhookUrl / name。参数:slug、patch 都必填。这是写操作,改的是客户的岗位,改完立刻生效;不确定用户真要改时先复述一遍再调。

輸入參數slug必填patch必填

list_kbs

我的知识库

列出我名下已发布的知识库(库名 / 版本 / 发布时间 / 篇数 / 每页的 path 与标题),以及我名下每个岗位各自配了哪些库;还有 workspaces(我所在工作区自己的库 + 工作区引用的库)和 shared(别人授权给我的库),这些库各带 ownerKey 与 ref。在某个工作区里干活时,优先读那个工作区的库和它引用的库,说法冲突时都列出来。用户问"我有哪些知识库""这个岗位用的什么资料"时用。知识库是数字员工回答业务问题的依据:岗位配了库,访客问到时它会先查库再答。

無需輸入參數。

read_kb

读知识库

读一个知识库。参数名是 name(库名,就是 list_kbs 返回里的 kbName)和 page(页面路径,取自页面清单里的 path)。只传 name → 这个库的版本和页面清单;再传 page(如 wiki/index.md)→ 那一页的原文。要更新一个库之前先用它把现有页面读回来——publish_kb 是整库替换,没带上的页面会消失。读工作区的库或别人共享的库要加 owner(list_kbs 返回里的 ownerKey,如 ws:xxx)。

輸入參數namepagepathownerkbName

publish_kb

发布知识库

把一套整理好的 Markdown 发布成知识库(发布到我名下;带 slug 则同时配给那个岗位;带 owner=ws:<工作区id> 则发布成那个工作区的库,要求我是该工作区 owner/admin)。结构:wiki/index.md 是总目录(每篇一行:链接 + 一句摘要 + 更新日期,数字员工靠它挑页,摘要要准);其余 wiki/<主题>/<文章>.md,一个概念一篇,标题用访客会问的说法,单篇别超过 6000 字。页面要带图片 / 视频 / 三维模型 / 外链时,在页里写一个 ```kb-media 围栏,一行一个「类型 | 标题 | 链接 | 说明」,类型 image / video / model(.glb) / link / embed(只认白名单站点),链接用 https:// 或本站 /static/ /uploads/ /apps/ 路径——素材只放链接,不要把文件内容塞进来;数字员工回答时会把素材显示给访客。库主人可以开「只用已校验的页」,那时你新发或改过的页都是待校验,要人在网页上核对后才对访客生效,你不能自己批。规矩:①数字、日期、引文必须照原始资料逐字写,不改写不推算;②只收 wiki/ 下的 .md,原始资料不要发上来;③同名再发是整库替换,更新前先 read_kb 把现有页面读回来合并;④发布等于公开——岗位是匿名访客都能聊的,个人隐私、客户资料、令牌、内部运维内容一律不放(平台会拦身份证号和令牌,其它靠你自检)。checked 必须为 true 才会发。上限 200 个文件 / 单个 64KB / 合计 2MB。参数示例:{"name":"选课指南","checked":true,"files":[{"path":"wiki/index.md","content":"# Knowledge Base Index\n..."},{"path":"wiki/xuanke/rules.md","content":"# 选课时间与学分上限\n..."}]}(files 是数组,每项一个 {path, content},不是 {路径: 内容} 的对象)。这是写操作,发之前跟用户确认库名和要不要配给岗位。

輸入參數nameslugfiles必填ownerkbNamechecked必填

set_staff_kbs

给岗位配知识库

设定一个岗位用哪些知识库(整体替换)。参数:slug 必填;kbs 是库名数组:我名下的库写库名;工作区的库或别人共享的库写 list_kbs 返回里的 ref(如 ws:xxx/库名)。别人的库要授权时勾了「可对外」才配得上,不满足的会被忽略并在 kbDropped 里说明;传 [] = 这个岗位不用任何库。改完立刻生效。

輸入參數kbs必填slug必填

hire_staff

开一个数字员工

开一个新的数字员工岗位。参数:templateId 必填(list_templates 里 canOpen=true 的,如 kb-assistant 知识库问答员);name 员工名字;kbs 开岗时就配上的知识库。返回 slug、画布链接 canvasUrl(发给顾客 / 挂服务号的就是它)和实际配上的知识库 kbs(名下没有的库名会被忽略,以返回为准)。代价:新岗位先免费试用几天,之后按月从主人余额扣 Token,对话按次另计——开之前跟用户确认;每个账号岗位数有上限,到上限会报错,让用户先删掉不用的。

輸入參數kbsnametemplateId必填

list_actions

岗位可用动作

列出这个岗位(按其模板)能做的动作:id / title / description / cost / credits / anonymous / job / params(JSON Schema)。参数:slug 必填。调 canvas_action 前先调它,不要猜 action 名——各岗位动作集不同,params 按它给的 schema 填。

輸入參數slug必填

canvas_action

执行岗位动作

执行一个岗位动作(如 AICare 的 preflight / list_checks / gen_report / run_detection / resolve_user)。参数:slug、action 必填;params 按 list_actions 的 schema 填;session_id 想让结果落在某次会话里就带;hostUserId 宿主用户标识可选。返回 {ok, mode:"sync", data} 直接用;{ok, mode:"job", jobId, pollSec} 用 get_job 轮询。代价:list_actions 标 paid 的会从岗位出资人余额扣 credits(出报告 5 / 跑检测 2),失败不扣;同键(如同对象同一天)重复调用返回缓存结果(cached 标记)不重复扣,用户催第二次可放心重试。典型编排:list_actions → canvas_action(preflight) 拿背景 → canvas_action(gen_report) → get_job → 用自然语言讲给用户。公共岗位:gaia-academy(龙虾学院 · Agent 进修)的动作标 public:true——任何持有效 Key 的调用方都能跑,不需要拥有该岗位;学员身份取调用方 Key 的用户,非 public 动作对非归属方仍 403。典型用法:canvas_action(gaia-academy, search_courses → start_exam → submit_exam → get_principle)。

輸入參數slug必填action必填paramshostUserIdsession_id

get_job

查长任务

按 job_id 查长任务:queued / running / done(带 result) / failed(带 error)。建议每 3 秒查一次。error 是人话(如"关爱对象不存在或已删除"),照原话转述给用户,不要改写成"系统繁忙",也不要拿同参数重试。

輸入參數job_id必填

get_stats

岗位统计

岗位一段时间的汇总:会话数、真人对话轮数、埋点数、动作调用数、tokens、按日曲线。参数:slug 必填;from/to ISO 时间,默认最近 30 天。用户问"这岗位最近怎么样/今天多少人来"就用它,不要靠聊天历史猜数字。需要有效 Key,匿名不开。

輸入參數tofromslug必填

list_sessions

会话列表

岗位的访客会话列表(最近优先):session_id、宿主用户标识、轮数、时间。参数:slug 必填;q 按宿主用户标识模糊搜;from/to;limit;cursor 翻页传上一页返回的 nextCursor。想看"最近都服务了哪些人"用它,再拿 session_id 看明细。需要有效 Key,匿名不开。

輸入參數qtofromslug必填limitcursor

get_session_log

会话完整记录

单个会话按时间正序的完整流水:用户消息 / AI 回复(带 tokens) / 埋点 / 动作调用 / 推屏。参数:slug 和 session_id 两个都必填(slug 用于显式鉴权)。调用前先从 list_sessions 或 open_canvas 拿到合法 session_id。隐私边界:只能读自己岗位的记录。需要有效 Key,匿名不开。

輸入參數slug必填session_id必填

query_events

按类型查事件

跨会话按类型拉事件(倒序):type = chat_user / chat_assistant / track / action_call / page_open / push。参数:slug 必填;type、from/to、limit(≤500)。每条带 source(mcp / page / server,看得出谁发起的);action_call 的 payload 有 params/ok/ms/credits/cached/jobId——计费与排障的证据链;push 的 payload 有 preview。需要有效 Key,匿名不开。

輸入參數tofromslug必填typelimit

push_screen

推内容到画布

把内容推到某个画布会话的屏上。参数:session_id 必填(来自 open_canvas 或 list_sessions);content 必填,写成一条"助手回复"文本,可含 ```canvas-md(Markdown 卡片)/ ```canvas-html(完整 HTML 文档)/ ```canvas(JSON 块)围栏,围栏外文字显示为字幕;speak=true 朗读字幕;title 可选。会话在线立即上屏;不在线(含还没人打开过的)存为待展示,该会话或同岗位同一 hostUserId 下次打开自动补推。屏属于会话不属于人:别复用别人的 session_id;要执行有副作用的动作(出报告/跑检测)用 canvas_action。需要有效 Key,匿名不开。

輸入參數speaktitlecontent必填session_id必填

版本歷史

3
  1. v0.1.4最新Oct 3, 2026
  2. v0.1.3Sep 29, 2026
  3. v0.1.2Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分