Skip to content

Slug: mcp

功能介绍

Tower 暴露 MCP Server 供外部 AI Agent 调用,通过 stdio 传输协议运行。外部 Agent(如 Claude CLI、OpenClaw、Paperclip)可以通过 MCP 协议管理 Tower 的全部资源。

主要能力:

  • 工作区管理:创建、更新、删除工作区
  • 项目管理:创建、更新、删除项目,识别项目
  • 任务管理:创建、更新、删除、移动任务
  • 标签管理:创建、删除标签,设置任务标签
  • 终端交互:启动任务执行、查询终端输出、发送终端输入、获取执行状态
  • 搜索:全局搜索任务、项目、仓库
  • 知识识别:按名称/别名/描述模糊匹配定位项目
  • 知识库问答:聚合仓库知识 markdown、事实卡、版本 commit、笔记回答项目问题
  • 笔记和资产:管理项目笔记和资产文件(截图、上传)
  • 报告:每日摘要、每日待办
  • Harness 与网关路由:无人值守消息、限域 CapabilityRequest、回灌回复、持久化渠道会话、项目解析、Workbench 排队与完成回传(详见 Harness 模块

工具名称分组和 profile 归属以 src/mcp/tool-capabilities.ts 为唯一来源,文档不再维护容易漂移的手写总数。

详细说明

启动方式

json
{
  "mcpServers": {
    "tower": {
      "command": "npx",
      "args": ["tsx", "<project-root>/src/mcp/index.ts"]
    }
  }
}

默认 profile 为 full,兼容已有 MCP 配置。可通过 TOWER_MCP_PROFILE 选择更小的运行面;未知值会使进程直接启动失败,不会回退到 full

Profile用途能力范围
full兼容已有配置完整工具面
assistantTower 内置 Assistantcore + terminal
taskTower 任务终端core + terminal + messaging + workbench
gatewayOpenClaw/Hermes 网关进程core/terminal 只读能力 + gateway + operations
gateway-query独立只读网关有界项目查询与讨论回传

Profile 是工具发现和可用性的纵深防御,不能替代 OpenClaw/Hermes 的 OWNER/NON_OWNER sender 策略,也不能替代 handler 内的权限和绑定检查。

内部 HTTP 桥接

MCP stdio 进程无法访问内存中的 PTY 会话,通过内部 HTTP 路由桥接:

  • GET /api/internal/terminal/[taskId]/buffer — 获取终端输出
  • POST /api/internal/terminal/[taskId]/input — 发送终端输入
  • POST /api/internal/terminal/[taskId]/start — 启动终端会话
  • POST /api/internal/terminal/[taskId]/stop — 关闭终端会话(复用「停止」按钮逻辑)
  • POST /api/internal/terminal/[taskId]/resume — 启动/继续终端(默认复用「继续/重试」按钮逻辑,无历史则全新启动)
  • POST/PATCH/PUT /api/internal/harness/gateway — 网关入站路由、处理完成登记、讨论/任务结果可靠回传
  • GET/POST /api/internal/harness/capabilities — 能力发现、最小请求状态和确定性 Direct 提交
  • POST /api/internal/harness/capabilities/completions — OpenClaw Job 完成回调;限域 token + 权威只读对账后写入 Workbench
  • localhost 限定,仅允许本机访问

文件清单

核心 (src/mcp/)

文件说明
server.tsMCP Server 初始化和配置
db.tsMCP 专用数据库连接
index.ts入口和导出
tool-capabilities.ts工具能力组、运行 profile 与网关 allowlist 的单一来源
tool-catalog.ts将能力 profile 映射到实际 schema/handler

工具模块 (src/mcp/tools/)

文件说明
workspace-tools.tsWorkspace CRUD
project-tools.tsProject CRUD + 产品组(product group)
task-tools.tsTask CRUD + move + 默认项 + 版本
unattended-goal-tools.ts可选无人值守 Goal 运行态(不属于 Core、不授予外部权限)
gateway-capability-tools.ts能力发现、限域 Direct 请求、Tower 最小结果查询与外部 Job 只读对账
label-tools.tsLabel CRUD + set_task_labels
search-tools.ts全局搜索
knowledge-tools.tsidentify_project(项目识别)
knowledge-base-tools.tsask_project_knowledge / manage_project_facts
note-asset-tools.tsmanage_notes / manage_assets
terminal-tools.ts启动执行 + 终端输出/输入/状态 + 关闭终端 + 启动/继续终端
report-tools.tsdaily_summary / daily_todo
harness/messaging、gateway query/owner、Workbench 和 operations 适配器(详见 Harness 模块