本地 stdio MCP Gateway 让外部 Agent 通过稳定身份与版本查询文件、对象、关系和数据表,再提交待审修改。
连接本地工作区
先在桌面 Tano 打开或刷新工作区,再复制 MCP 面板中的启动配置。需要 Node.js 24.12 或更新版本。应用数据目录必须位于工作区外,并与桌面应用一致,才能共享提案与活动记录。
从开源源码启动:
npm run mcp:build
node apps/mcp/dist/tano-mcp.cjs --workspace /path/to/notes --data-dir /path/to/tano-app-data --access review
| 权限 | 可执行操作 |
|---|---|
read |
查询与读取 |
review(默认) |
读取和提交待审提案 |
write |
额外启用旧 Markdown 直接创建与条件写入 |
可重复指定 --directory 限制普通文件目录,使用 --object-type 限制对象类型。两个范围独立,工作区指引和模型输出不能扩大权限。即使使用 write,跨资源提案也仍需审阅。
查询当前内容
| 工具 | 返回内容 |
|---|---|
tano_gateway_capabilities |
工作区身份与实际权限 |
tano_query_files / tano_read_file |
文件 ID、路径、属性、哈希与内容快照 |
tano_query_objects |
类型化对象和版本 |
tano_query_table |
数据表记录、保存视图和公式结果 |
tano_query_relations |
授权端点之间的关系 |
tano_read_workspace_rules |
已知工作区约定文件 |
先检查错误和完整性标记,再判断是否没有匹配项。按稳定 ID 读取并保留返回的哈希;外部移动后先刷新。路径本身不能证明文件身份。
提交与审阅修改
tano_propose_changes 支持 Markdown、对象 JSON 和 .table.json。提供 operationId,每项修改含 path、content、reason 和 expectedHash;已有文件还需 fileId,新建的 expectedHash 为 null。重试同一操作 ID 时输入必须相同。
在助手会话记录中打开外部提案,逐项查看差异并采纳或拒绝。通过 tano_get_operation 查询每项状态和实际写入回执。提交成功不等于已保存;批次可以部分成功,不是全有或全无的文件系统事务。
旧文档提案工具 tano_read_document_identity、tano_propose_document、tano_get_proposal 仍可用。Markdown 提案可转为逐项建议审阅;数据表和对象提案在助手内处理。
直接写入与活动
tano_list_documents、tano_read_document 提供旧 Markdown 读取接口。tano_create_document、tano_write_document 需要显式 --access write;更新比较当前 SHA-256 和 expectedHash,新建不能覆盖已有路径。
过期写入被拒绝后,重新读取、比较并合并,再提交。不要只替换 hash 后重发旧正文。tano_list_activity 和 tano_read_activity 提供本机操作记录与可用差异;客户端标签不是身份认证。
Gateway 使用本机 stdio,不是网络协作服务,也不执行终端命令。隐藏应用数据和工作区外符号链接不在读取范围。另见Agent 工作流、文件访问及源码接入指南。