mcpbeat Sign in

Canvas MCP Server

by avatargaia Your server? Claim it
answering

Canvas MCP is answering right now. Last checked 16 min ago. 505 installs a week from npm. It exposes 13 tools. Last commit 12 Sep 2026.

TeamAgent Canvas MCP:13 个工具(岗位/商品/主题/活动等),支持远程 streamable-http 与 stdio 马甲。

Installs per day peak 431 · avg 17
a month agotoday
Uptime history 6 days of history · worst day 97%
6 days agonow
98.2%
Uptime 24h
54 of 55 checks
13
Tools
read from the server
1327 ms
Response time
average over 24h
505
Installs / week
npm and PyPI

Canvas MCP does not always answer

Over the last week it answered 99.5% of our checks. We check every 15 minutes, so you hear about the next outage within the hour — not from your users.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 16 min ago.

run in your terminal
claude mcp add canvas-mcp --transport http https://agent.avatargaia.top/api/mcp/canvas
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "canvas-mcp": {
      "url": "https://agent.avatargaia.top/api/mcp/canvas"
    }
  }
}
~/.codex/config.toml
[mcp_servers.canvas-mcp]
url = "https://agent.avatargaia.top/api/mcp/canvas"
.cursor/mcp.json
{
  "mcpServers": {
    "canvas-mcp": {
      "url": "https://agent.avatargaia.top/api/mcp/canvas"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "canvas-mcp": {
      "url": "https://agent.avatargaia.top/api/mcp/canvas"
    }
  }
}

Available tools 13

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

staff
get_staff_config
读岗位配置:personaPrompt / serviceFlow / promotionConfig / productSources / contextMode / layoutStyle / templateId / llmMode(只说是否 BYOK,不给密钥)/ tts。参数:slug 必填。改之前先读,否则会用"想当然的人设"覆盖客户调过的版本。
list_my_staff
列出我名下的数字员工岗位(slug / 名称 / 模板 / 画布链接)。用户问"我有哪些岗位"用它;后续所有按岗位操作的工具都要 slug,slug 一律从这里拿,不要凭记忆拼。参数:无。
actions
list_actions
列出这个岗位(按其模板)能做的动作:id / title / description / cost / credits / anonymous / job / params(JSON Schema)。参数:slug 必填。调 canvas_action 前先调它,不要猜 action 名——各岗位动作集不同,params 按它给的 schema 填。
canvas
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)。
events
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,匿名不开。
job
get_job
按 job_id 查长任务:queued / running / done(带 result) / failed(带 error)。建议每 3 秒查一次。error 是人话(如"关爱对象不存在或已删除"),照原话转述给用户,不要改写成"系统繁忙",也不要拿同参数重试。
open
open_canvas
为岗位生成画布链接 + 会话 ID。用于用户需要"看得见的界面"(看报告/看商品/做检测)。参数:slug 必填;hostUserId 宿主用户标识(强烈建议带,会话归属和离线补推都靠它);targetId 关爱/业务对象;app 指定画布页(如 aicare-kf)。返回 {url, session_id}——把 session_id 存下来,get_session_log / push_screen 都用它。会话在返回时已建立:现在就能 push_screen 给"还没来的人"备卡片,用户打开链接即补推;人打开后聊天/埋点都归到同一个 session_id。
patch
patch_staff_config
局部修改岗位配置,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 都必填。这是写操作,改的是客户的岗位,改完立刻生效;不确定用户真要改时先复述一遍再调。
push
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,匿名不开。
session
get_session_log
单个会话按时间正序的完整流水:用户消息 / AI 回复(带 tokens) / 埋点 / 动作调用 / 推屏。参数:slug 和 session_id 两个都必填(slug 用于显式鉴权)。调用前先从 list_sessions 或 open_canvas 拿到合法 session_id。隐私边界:只能读自己岗位的记录。需要有效 Key,匿名不开。
sessions
list_sessions
岗位的访客会话列表(最近优先):session_id、宿主用户标识、轮数、时间。参数:slug 必填;q 按宿主用户标识模糊搜;from/to;limit;cursor 翻页传上一页返回的 nextCursor。想看"最近都服务了哪些人"用它,再拿 session_id 看明细。需要有效 Key,匿名不开。
stats
get_stats
岗位一段时间的汇总:会话数、真人对话轮数、埋点数、动作调用数、tokens、按日曲线。参数:slug 必填;from/to ISO 时间,默认最近 30 天。用户问"这岗位最近怎么样/今天多少人来"就用它,不要靠聊天历史猜数字。需要有效 Key,匿名不开。
templates
list_templates
列出可开岗的数字员工模板。用于:想知道"系统能开哪些岗位"、或用户要开通新岗位时。返回每个模板的 templateId / 名称 / 说明 / canOpen / missingHandlers / 动作清单。别用它找"已开好的岗位"——那是 list_my_staff。canOpen=false 的模板不可开通(缺实现),别推荐用户选。参数:无。

Endpoints

URLTransportStateLatencyChecked
https://agent.avatargaia.top/api/mcp/canvas streamable-http answering 1109 ms 16 min ago

Alternatives to Canvas MCP

same job, measured the same way
Flato Design MCP
by sologovision

Connect AI agents to Flato's editable canvas runtime through a hosted MCP server.

answering
Canvas MCP
by admin978

Local-first MCP server for Canvas LMS. Stdio transport, no third-party broker.

81 installs/wk local only
D
Brilliant
by brilliant

Local MCP bridge: your coding agent designs on Brilliant's real vector canvas, fully on 127.0.0.1.

101 installs/wk local only
DAG Studio WebMCP
by black-swan-causal-labs

Read and edit a live DAG Studio canvas through its predefined WebMCP tools.

answering
Canvas Lms MCP
by bruchris

TypeScript MCP server for Canvas LMS — 165 tools across 42 domains.

1 319 installs/wk local only
Modellix Agent Canvas
by modellix

Local MCP canvas for Modellix image generation, editing, task recovery, and visual project work.

81 installs/wk local only
Canvas API MCP
by johannsenlum

MCP server exposing the Canvas LMS REST API (1,116 endpoints) for AI assistants

258 installs/wk local only
Canvas
by mcparmory

Manage courses, submissions, grades, and student data in Canvas LMS

255 installs/wk local only

Canvas MCP — questions

Answers built from our own checks of this server.

What can Canvas MCP do?
It exposes 13 tools, read directly from the server on our last check. Among them: canvas_action, get_job, get_session_log, get_staff_config, get_stats, list_actions and 7 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is Canvas MCP working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 54 of 55 checks got a reply (98.2%), average response time 1327 ms. The bar chart above shows every period we have measured.
How do I connect Canvas MCP?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Canvas MCP need an API key?
No. Canvas MCP completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 13 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Canvas MCP?
It answers our handshake in 1327 ms on average, which is faster than 3% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use Canvas MCP?
The npm package @avatargaia/canvas-mcp was installed 505 times in the last week. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is Canvas MCP open source?
Yes — it is published under the MIT licence, written in JavaScript and 0 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.