Model Context Protocol

让你的智能体, 遇见指挥中心

MCP 服务器是 AI 客户端与看板之间的桥。登录一次、批准连接,智能体便在你可见的项目中、以你授予的权限工作,每次写入都留下回执。

没有要粘贴的 API 密钥,也就没有会漏进命令行历史的东西。

服务器地址

https://mcp.grafizum.com/mcp

开始设置

1

添加服务器

在 Claude Code 里运行下面的命令。其他 MCP 客户端把上面的地址当作服务器 URL(Streamable HTTP、OAuth 2.1)。只要能说 MCP,就找得到这里。

claude mcp add --transport http grafizum https://mcp.grafizum.com/mcp

https://mcp.grafizum.com/mcp

2

批准连接

客户端会打开看板上的批准页。登录、选择它代表哪个智能体、批准。项目和权限默认是该智能体的全部,之后仍可调整。

3

开始干活

智能体现在能读项目、任务、日历和记忆,并在自己的范围内写入。每一次写入都进活动记录。

Switching sync mode

One setting on the connection decides whether the agent keeps the board current as it works or waits for you to ask. It lives on the connection, not in the client — so the agent you switch it in is not the only one it applies to.

Auto

Default

Keeps the dashboard current as verified work finishes: the matching task is updated once, with the real outcome. No duplicate tasks, no invented progress.

/gz-auto

Manual

On request

Still reads freely — reading is how it answers you — but writes only when you ask in that turn. Otherwise it says what it would sync and waits.

/gz-manual
Three ways to say it
/gz-autoClaude Code CLI: the skill the Grafizum installer adds. /gz-manual is the other direction.
/grafizum:autoAny client that lists the server's prompts. /grafizum:manual exists too.
switch Grafizum to manualAny agent — Codex CLI, Gemini CLI, Aider, a plain terminal — because the connection has a set_sync_mode tool. Say "back to auto" to return.

The mode is an instruction the server hands the model, never behaviour it can enforce — which is why the connection card also shows the stored mode, and every session read carries it again.

Add a custom MCP client

Claude Code is the shortest path. Any MCP client that speaks Streamable HTTP works the same way: give it the server URL and let it run the OAuth flow itself — there's no API key to paste.

Portable format — .mcp.json, Cursor, Copilot
{
  "mcpServers": {
    "grafizum": { "type": "http", "url": "https://mcp.grafizum.com/mcp" }
  }
}

VS Code keeps the same two fields under a top-level "servers" object in .vscode/mcp.json.

Discovery

A client that speaks remote MCP needs nothing else: it reads the 401, then these two documents, and registers itself.

OAuth server metadata

https://mcp.grafizum.com/.well-known/oauth-authorization-server

Protected resource metadata

https://mcp.grafizum.com/.well-known/oauth-protected-resource/mcp

一个连接能做什么

可以读
  • 项目、状态与进度
  • 任务与待办
  • 日历与到期日
  • 项目记忆与全局手册
  • 活动摘要(绝不含密钥原文)
可以写
  • 创建与更新任务
  • 汇报项目状态
  • 记录事件与日历条目
  • 写入项目知识(在其范围内)
永远不做
  • 保险库里的密钥、GitHub 令牌、SSH 密钥
  • 没有授权的项目
  • 你的审核决定

The tools it exposes

The exact names your client lists, and what each one does. The dashboard shows the same names while a call runs; the connection's scopes decide which of them answer.

Session

3
get_sessionThe handbook, the projects, the memory file and the current mode
declare_projectSays which project the session is working on, before the first write
set_sync_modeRecords auto or manual for this connection

Read

13
get_changesWhat moved since the last read
list_projectsEvery project the connection may see
get_projectOne project, with its tasks and documents
get_project_statusOne project's state and its recent status reports
get_project_progressTask counts and progress for a project
list_tasksThe queue, filterable by project, status or review state
get_taskOne task, with its history
list_activityRecent writes, without payloads or credentials
list_calendarDue dates and calendar entries
list_memoryThe global knowledge documents it may read
get_memoryOne knowledge document
list_project_documentsA project's memory file
get_project_documentA project's memory file, PROJECT_GUIDE.md

Write

11
create_taskA new task, with the owner's answers and no invented priority
update_taskChanges a task's status, date or description
move_taskMoves a task within its project's queue
create_projectA project or subproject, after explicit confirmation
update_projectChanges a project, after explicit confirmation
report_project_statusRecords a project's progress and health
put_project_documentWrites the project's memory file
delete_project_documentDeletes a knowledge document, with confirmation
create_eventRecords an event in the activity log
create_calendar_eventAdds a dated entry, with confirmation
record_sync_runRecords one sync run, with confirmation

管理连接

所有连接都出现在看板的 MCP 里,以它所代表的智能体命名。改名、缩小到更少的项目、去掉写权限,或者吊销 —— 改动从下一个请求起生效,不用重连。连接 30 天后需要重新批准,访问令牌 15 分钟到期并自动续期。

打开 MCP 标签页

如何保证安全

  • OAuth 2.1 授权码加 PKCE。令牌以哈希存储,访问令牌 15 分钟、刷新令牌每次轮换 —— 一个被复用的令牌会吊销整个连接。
  • 连接是上限,不是扩张:它永远不能超过所代表智能体已有的范围和项目,保险库、GitHub 与删除类范围始终不可用。
  • 注册与授权有频率限制,每一次写入在接受前都会对照连接的范围和项目清单。
  • 批准页会显示授权码将要发往的确切地址,所以一个听起来熟悉的客户端名字藏不住你的访问去哪了。

排障

客户端提示 MCP login required (401)

令牌过期或连接已被吊销。重新执行客户端的认证 —— 再批准一次只需一点。

批准页说请求已过期

待处理的授权有效期为 10 分钟,且只能用一次。从客户端重新开始认证。10 分钟是窗口,不是性格测试。

工具调用被拒绝

连接可能缺少那个范围或项目。到 MCP 标签页检查,在那里收窄或放宽连接。