Skip to main content
Glama
AvatarGaia

TeamAgent Canvas

by AvatarGaia
README.md
# @avatargaia/canvas-mcp

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

两个门,同一把 Key:

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

自动安装说明(给 Agent 读):[`llms-install.md`](./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.0
tools/list   ✅ 91 个工具
publish_kb   ✅ checked:false 被拦下;checked:true 发布成功
hire_staff   ✅ 开岗并同时配知识库,返回里带 kbs
set_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":"you@example.com"}'
# → 返回 dk_ Key(只显示一次)+ 20 credits + 接入信息
```

- 开发者入口(控制台 / 计费 / 错误码):https://agent.avatargaia.top/developers
- 机器可读自描述(Agent 自发现首选):`GET https://agent.avatargaia.top/api/dev`

## 工具注解

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

## 收录

- 官方 MCP Registry:`io.github.AvatarGaia/canvas-mcp`
- 接入文档:https://agent.avatargaia.top/mcp/canvas.html | LLM 索引:/llms.txt