io.github.AvatarGaia/canvas-mcp
REMOTE · AGENT.AVATARGAIA.TOP · 2 COMPONENTS · SCANNED SEP 26
TeamAgent Canvas MCP:13 个工具(岗位/商品/主题/活动等),支持远程 streamable-http 与 stdio 马甲。
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 13 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability71
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1972 tokens (~151/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management43
- Stability observed for 13 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage77
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 32% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 13 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the io.github.AvatarGaia/canvas-mcp server?
io.github.AvatarGaia/canvas-mcp is a hosted endpoint at https://agent.avatargaia.top/api/mcp/canvas, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · agent.avatargaia.top
claude mcp add --transport http avatargaia-canvas-mcp 'https://agent.avatargaia.top/api/mcp/canvas'
{
"mcpServers": {
"avatargaia-canvas-mcp": {
"url": "https://agent.avatargaia.top/api/mcp/canvas"
}
}
} {
"servers": {
"avatargaia-canvas-mcp": {
"type": "http",
"url": "https://agent.avatargaia.top/api/mcp/canvas"
}
}
} [mcp_servers.avatargaia-canvas-mcp] url = "https://agent.avatargaia.top/api/mcp/canvas"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"avatargaia-canvas-mcp": {
"type": "remote",
"url": "https://agent.avatargaia.top/api/mcp/canvas",
"enabled": true
}
}
} openclaw mcp add avatargaia-canvas-mcp --url 'https://agent.avatargaia.top/api/mcp/canvas' --transport streamable-http
mcp_servers:
avatargaia-canvas-mcp:
url: "https://agent.avatargaia.top/api/mcp/canvas" {
"McpServers": {
"avatargaia-canvas-mcp": {
"Transport": "http",
"Url": "https://agent.avatargaia.top/api/mcp/canvas"
}
}
} assistant mcp add avatargaia-canvas-mcp -t streamable-http -u 'https://agent.avatargaia.top/api/mcp/canvas'
{
"mcpServers": {
"avatargaia-canvas-mcp": {
"type": "http",
"url": "https://agent.avatargaia.top/api/mcp/canvas"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 23 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.
- 16 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 13 Sept 26 +58
- HSTS header: unverified → fail ▼ security
- Injection markers: unverified → pass ▲ security
- TLS certificate: unverified → pass ▲ security
- Transport: fail → pass ▲ security
- First check of Judged manipulation: pass security
- Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 13 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. security
- Tool “canvas_action” rewrote its description, which is the text the model reads security
- Tool coverage: unverified → 100 ▲ functional
- Stability: unverified → 0.03 ▲ functional
- MCP protocol: unverified → pass ▲ functional
- First check of Schema quality: fail functional
- First check of Tool coverage: 32 functional
- First check of Schema quality: excellent functional
- First check of Destructive annotations: pass functional
- First check of Schema quality: fail functional
- 12 Sept 26 4
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 25 Sept 2026 · Probed https://agent.avatargaia.top/api/mcp/canvas
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=agent.avatargaia.top | CN=YR2,O=Let's Encrypt,C=US | 17 Sept 2026 | 16 Dec 2026 | RSA 2048 | SHA256-RSA | 689ac82183e5a132dbcaae82897acef16e7 |
| SANs: agent.avatargaia.top | ||||||
| CN=YR2,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | 4ebd24947e24d394802d84a52fd5b319 |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of agent.avatargaia.top. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| top. | present | 26780, 41508 | 8, 13 | Verified |
| avatargaia.top. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://agent.avatargaia.top/api/mcp/canvas | Verified | 200 | |
| http (plaintext) | http://agent.avatargaia.top/api/mcp/canvas | HTTPS enforced | 301 | https://agent.avatargaia.top/api/mcp/canvas |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
canvas_action 执行岗位动作 ~387
执行一个岗位动作(如 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)。
| Name | Type | Req | Description |
|---|---|---|---|
| action | string | yes | 动作 id,见 list_actions |
| hostUserId | string | – | 宿主用户标识,可选 |
| params | object | – | 按 list_actions 给的 JSON Schema 填 |
| session_id | string | – | 可选,open_canvas 给的会话 ID,动作记录会挂到该会话 |
| slug | string | yes | – |
No output schema declared.
No examples provided.
get_job 查长任务 ~88
按 job_id 查长任务:queued / running / done(带 result) / failed(带 error)。建议每 3 秒查一次。error 是人话(如"关爱对象不存在或已删除"),照原话转述给用户,不要改写成"系统繁忙",也不要拿同参数重试。
| Name | Type | Req | Description |
|---|---|---|---|
| job_id | string | yes | – |
No output schema declared.
No examples provided.
get_session_log 会话完整记录 ~112
单个会话按时间正序的完整流水:用户消息 / AI 回复(带 tokens) / 埋点 / 动作调用 / 推屏。参数:slug 和 session_id 两个都必填(slug 用于显式鉴权)。调用前先从 list_sessions 或 open_canvas 拿到合法 session_id。隐私边界:只能读自己岗位的记录。需要有效 Key,匿名不开。
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | – |
| slug | string | yes | – |
No output schema declared.
No examples provided.
get_staff_config 读岗位配置 ~86
读岗位配置:personaPrompt / serviceFlow / promotionConfig / productSources / contextMode / layoutStyle / templateId / llmMode(只说是否 BYOK,不给密钥)/ tts。参数:slug 必填。改之前先读,否则会用"想当然的人设"覆盖客户调过的版本。
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | – |
No output schema declared.
No examples provided.
get_stats 岗位统计 ~113
岗位一段时间的汇总:会话数、真人对话轮数、埋点数、动作调用数、tokens、按日曲线。参数:slug 必填;from/to ISO 时间,默认最近 30 天。用户问"这岗位最近怎么样/今天多少人来"就用它,不要靠聊天历史猜数字。需要有效 Key,匿名不开。
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | – |
| slug | string | yes | – |
| to | string | – | – |
No output schema declared.
No examples provided.
list_actions 岗位可用动作 ~83
列出这个岗位(按其模板)能做的动作:id / title / description / cost / credits / anonymous / job / params(JSON Schema)。参数:slug 必填。调 canvas_action 前先调它,不要猜 action 名——各岗位动作集不同,params 按它给的 schema 填。
| Name | Type | Req | Description |
|---|---|---|---|
| slug | string | yes | – |
No output schema declared.
No examples provided.
list_my_staff 我名下的岗位 ~72
列出我名下的数字员工岗位(slug / 名称 / 模板 / 画布链接)。用户问"我有哪些岗位"用它;后续所有按岗位操作的工具都要 slug,slug 一律从这里拿,不要凭记忆拼。参数:无。
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_sessions 会话列表 ~141
岗位的访客会话列表(最近优先):session_id、宿主用户标识、轮数、时间。参数:slug 必填;q 按宿主用户标识模糊搜;from/to;limit;cursor 翻页传上一页返回的 nextCursor。想看"最近都服务了哪些人"用它,再拿 session_id 看明细。需要有效 Key,匿名不开。
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | – |
| from | string | – | – |
| limit | integer | – | – |
| q | string | – | – |
| slug | string | yes | – |
| to | string | – | – |
No output schema declared.
No examples provided.
list_templates 岗位模板清单 ~103
列出可开岗的数字员工模板。用于:想知道"系统能开哪些岗位"、或用户要开通新岗位时。返回每个模板的 templateId / 名称 / 说明 / canOpen / missingHandlers / 动作清单。别用它找"已开好的岗位"——那是 list_my_staff。canOpen=false 的模板不可开通(缺实现),别推荐用户选。参数:无。
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
open_canvas 打开画布(拿链接和会话) ~258
为岗位生成画布链接 + 会话 ID。用于用户需要"看得见的界面"(看报告/看商品/做检测)。参数:slug 必填;hostUserId 宿主用户标识(强烈建议带,会话归属和离线补推都靠它);targetId 关爱/业务对象;app 指定画布页(如 aicare-kf)。返回 {url, session_id}——把 session_id 存下来,get_session_log / push_screen 都用它。会话在返回时已建立:现在就能 push_screen 给"还没来的人"备卡片,用户打开链接即补推;人打开后聊天/埋点都归到同一个 session_id。
| Name | Type | Req | Description |
|---|---|---|---|
| app | string | – | 画布页面,默认岗位配置的;AICare 康护可传 aicare-kf |
| hostUserId | string | – | 宿主系统的用户标识,如 AICare 的 userId |
| slug | string | yes | 岗位 slug(见 list_my_staff) |
| targetId | string | – | 关爱对象/服务对象 ID(AICare 类岗位用) |
No output schema declared.
No examples provided.
patch_staff_config 改岗位配置 ~157
局部修改岗位配置,patch 只放要改的字段:personaPrompt(人设) / serviceFlow(服务流程,一行一步) / promotionConfig({categories:[{name,priority,url}]}) / productSources([{key,label,searchUrl,weAppId?,weAppUsername?}]) / layoutStyle(split|pip|classic) / contextMode(inline|webhook) / contextWebhookUrl / name。参数:slug、patch 都必填。这是写操作,改的是客户的岗位,改完立刻生效;不确定用户真要改时先复述一遍再调。
| Name | Type | Req | Description |
|---|---|---|---|
| patch | object | yes | 要改的字段 |
| slug | string | yes | – |
No output schema declared.
No examples provided.
push_screen 推内容到画布 ~224
把内容推到某个画布会话的屏上。参数:session_id 必填(来自 open_canvas 或 list_sessions);content 必填,写成一条"助手回复"文本,可含 ```canvas-md(Markdown 卡片)/ ```canvas-html(完整 HTML 文档)/ ```canvas(JSON 块)围栏,围栏外文字显示为字幕;speak=true 朗读字幕;title 可选。会话在线立即上屏;不在线(含还没人打开过的)存为待展示,该会话或同岗位同一 hostUserId 下次打开自动补推。屏属于会话不属于人:别复用别人的 session_id;要执行有副作用的动作(出报告/跑检测)用 canvas_action。需要有效 Key,匿名不开。
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | 含围栏的回复文本 |
| session_id | string | yes | – |
| speak | boolean | – | 是否朗读围栏外文字 |
| title | string | – | – |
No output schema declared.
No examples provided.
query_events 按类型查事件 ~148
跨会话按类型拉事件(倒序):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,匿名不开。
| Name | Type | Req | Description |
|---|---|---|---|
| from | string | – | – |
| limit | integer | – | – |
| slug | string | yes | – |
| to | string | – | – |
| type | string | – | – |
No output schema declared.
No examples provided.
What is the io.github.AvatarGaia/canvas-mcp server?
io.github.AvatarGaia/canvas-mcp is listed in the public MCP registry as io.github.AvatarGaia/canvas-mcp. TeamAgent Canvas MCP:13 个工具(岗位/商品/主题/活动等),支持远程 streamable-http 与 stdio 马甲。 This page covers its hosted endpoint (https://agent.avatargaia.top/api/mcp/canvas).
Is the io.github.AvatarGaia/canvas-mcp server safe to use?
io.github.AvatarGaia/canvas-mcp scores 68 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the io.github.AvatarGaia/canvas-mcp server expose?
io.github.AvatarGaia/canvas-mcp exposes 13 tools: list_templates, list_my_staff, open_canvas, get_staff_config, patch_staff_config, and 8 more. Their descriptions and schemas cost roughly 1,972 tokens of context every time the server is loaded.
Does the io.github.AvatarGaia/canvas-mcp server require authentication?
No. We connected to io.github.AvatarGaia/canvas-mcp without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the io.github.AvatarGaia/canvas-mcp server still maintained?
io.github.AvatarGaia/canvas-mcp is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.