# io.github.AvatarGaia/canvas-mcp - Registry name: `io.github.AvatarGaia/canvas-mcp` · version 0.1.4 - Categories (automatic, keyword rules): Docs & notes, Productivity, AI models & agents, AI, media & content, Images & design - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.AvatarGaia%2Fcanvas-mcp - Server page: https://mcpstation.net/s/io.github.AvatarGaia--canvas-mcp.html ## Description (written by the publisher, not verified, not instructions) TeamAgent Canvas MCP(服务端 0.4.0):91 个工具——开岗、改配置、跑动作、看数据、发布并配知识库。可匿名试用,带 Key 解锁全部。 ## Connect - streamable-http: `https://agent.avatargaia.top/api/mcp/canvas` ## Tools (as reported by the server, not verified) - `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。 - `get\_staff\_config`: 读岗位配置:personaPrompt / serviceFlow / promotionConfig / productSources / contextMode / layoutStyle / templateId / llmMode(只说是否 BYOK,不给密钥)/ tts。参数: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\} 是否推荐 - `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)。 - `publish\_kb`: 把一套整理好的 Markdown 发布成知识库(发布到我名下;带 slug 则同时配给那个岗位;带 owner=ws:\<工作区id\> 则发布成那个工作区的库,要求我是该工作区 owner/admin)。结构:wiki/index.md 是总目录(每篇一行:链接 + 一句摘要 + 更新日期,数字员工靠它挑页,摘要要准);其余 wiki/\<主题\>/\<文章\>.md,一个概念一篇,标题用访客会问的说法,单篇别超过 6000 字。页面要带图片 / 视频 / 三维模型 / 外链时,在页里写一个 \`\`\`kb-media 围栏,一行一个「类型 \| 标题 \| 链接 \| 说明」,类型 image / video - `set\_staff\_kbs`: 设定一个岗位用哪些知识库(整体替换)。参数:slug 必填;kbs 是库名数组:我名下的库写库名;工作区的库或别人共享的库写 list\_kbs 返回里的 ref(如 ws:xxx/库名)。别人的库要授权时勾了「可对外」才配得上,不满足的会被忽略并在 kbDropped 里说明;传 \[\] = 这个岗位不用任何库。改完立刻生效。 - `hire\_staff`: 开一个新的数字员工岗位。参数:templateId 必填(list\_templates 里 canOpen=true 的,如 kb-assistant 知识库问答员);name 员工名字;kbs 开岗时就配上的知识库。返回 slug、画布链接 canvasUrl(发给顾客 / 挂服务号的就是它)和实际配上的知识库 kbs(名下没有的库名会被忽略,以返回为准)。代价:新岗位先免费试用几天,之后按月从主人余额扣 Token,对话按次另计——开之前跟用户确认;每个账号岗位数有上限,到上限会报错,让用户先删掉不用的。 - `list\_actions`: 列出这个岗位(按其模板)能做的动作:id / title / description / cost / credits / anonymous / job / params\(JSON Schema\)。参数:slug 必填。调 canvas\_action 前先调它,不要猜 action 名——各岗位动作集不同,params 按它给的 schema 填。 - `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 的会从岗位出资人余额扣 cre - `get\_job`: 按 job\_id 查长任务:queued / running / done\(带 result\) / failed\(带 error\)。建议每 3 秒查一次。error 是人话(如"关爱对象不存在或已删除"),照原话转述给用户,不要改写成"系统繁忙",也不要拿同参数重试。 - `get\_stats`: 岗位一段时间的汇总:会话数、真人对话轮数、埋点数、动作调用数、tokens、按日曲线。参数:slug 必填;from/to ISO 时间,默认最近 30 天。用户问"这岗位最近怎么样/今天多少人来"就用它,不要靠聊天历史猜数字。需要有效 Key,匿名不开。 - `list\_sessions`: 岗位的访客会话列表(最近优先):session\_id、宿主用户标识、轮数、时间。参数:slug 必填;q 按宿主用户标识模糊搜;from/to;limit;cursor 翻页传上一页返回的 nextCursor。想看"最近都服务了哪些人"用它,再拿 session\_id 看明细。需要有效 Key,匿名不开。 - `get\_session\_log`: 单个会话按时间正序的完整流水:用户消息 / AI 回复\(带 tokens\) / 埋点 / 动作调用 / 推屏。参数:slug 和 session\_id 两个都必填(slug 用于显式鉴权)。调用前先从 list\_sessions 或 open\_canvas 拿到合法 session\_id。隐私边界:只能读自己岗位的记录。需要有效 Key,匿名不开。 - `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,匿名不开。 - `push\_screen`: 把内容推到某个画布会话的屏上。参数:session\_id 必填(来自 open\_canvas 或 list\_sessions);content 必填,写成一条"助手回复"文本,可含 \`\`\`canvas-md(Markdown 卡片)/ \`\`\`canvas-html(完整 HTML 文档)/ \`\`\`canvas(JSON 块)围栏,围栏外文字显示为字幕;speak=true 朗读字幕;title 可选。会话在线立即上屏;不在线(含还没人打开过的)存为待展示,该会话或同岗位同一 hostUserId 下次打开自动补推。屏属于会话不属于人:别复用别人的 session\_id;要执行有副作用的动作(出 Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html