mcpField
M
mcacp

mcacp

本地服务
github.com/OortonautAI 与智能体1239 周前更新

关于 mcacp

mcacp 是一款 MCP 服务,让 MCP 客户端能够启动和控制 ACP 编码 Agent。它提供 Agent 安装、会话管理、提示词交互、权限处理和持久会话恢复功能。

主要功能

  1. 01安装并发现 ACP Agent
  2. 02启动和管理 Agent 进程
  3. 03创建并恢复持久会话
  4. 04发送提示词并接收事件
  5. 05处理权限请求
  6. 06并行运行多个 Agent

适用场景

  1. 01从 MCP 客户端运行 ACP Agent
  2. 02比较并行 Agent 的结果
  3. 03构建编写、审查、测试流程

MCP 相关

mcacp 向 MCP 客户端提供工具,用于查找和安装 ACP Agent、管理其生命周期与会话、发送提示词及处理权限。它通过 ACP 与 Agent 通信。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"oortonaut-mcacp": {
"command": "npx",
"args": [
"-y",
"mcacp"
]
}
}
}
启动命令npx -y mcacp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmcacp0.1.3

工具

24

收录的工具列表 · 更新于 2 周前

此工具无需参数。

详细介绍

MCACP

将任意 MCP 客户端连接到任意 ACP 编码 Agent。

MCACP 是一个 MCP 服务,代表 MCP 主机使用 Agent Client Protocol。它让 Claude Code、Zed、VS Code 或任何兼容 MCP 的客户端都能启动、管理并与 ACP 编码 Agent 交互,将单个聊天窗口变成多 Agent 控制平面。

MCP Client (Claude Code, Zed, VS Code, ...)
    |
    |  MCP (stdio)
    v
  MCACP
    |
    |  ACP (stdio, per agent)
    v
 Claude Code  ·  Gemini CLI  ·  Codex  ·  Auggie  ·  Copilot  ·  ...

你可以用它做什么?

从任意 MCP 客户端运行任意 ACP Agent。 你无需为每个 Agent 安装专用 IDE 插件。通过 Claude Code 安装 Gemini。通过 Zed 运行 Codex。自由组合。

并排比较 Agent。 在并行会话中,将同一任务交给 Claude Code ACP 和 Gemini CLI,并比较结果。

构建由 Agent 驱动的流水线。 一个 Agent 编写代码,另一个负责审查,第三个运行测试。MCACP 会为它们处理整个生命周期和权限流程。

交互式控制权限。 在支持 MCP 询问功能的主机(Zed)上,权限请求会以交互式表单的形式弹出。在不支持的主机(Claude Code)上,则会回退到操作员模式,由主机 Agent 决定。

从上次停下的地方继续。 会话会持久化到磁盘。关闭、重启,然后运行 load_session——Agent 会从中断处继续。

在聊天中发现并安装 Agent。 浏览 ACP 注册表、安装 Agent、检查升级,无需离开对话。

快速开始

安装
npm install -g mcacp

或直接运行:

npx mcacp
添加到 MCP 客户端

Claude Code(~/.claude/settings.json):

{
  "mcpServers": {
    "mcacp": {
      "command": "npx",
      "args": ["-y", "mcacp"]
    }
  }
}

Zed(settings.json):

{
  "context_servers": {
    "mcacp": {
      "command": { "path": "npx", "args": ["-y", "mcacp"] }
    }
  }
}

然后在聊天中:

"Search for available agents"        →  registry_search
"Install the Gemini agent"           →  agent_install
"Initialize it and start a session"  →  initialize + new_session
"Ask it to refactor auth"            →  prompt_start + prompt

MCP 工具

MCACP 提供 22 个工具,分为五组。

注册表
工具描述
list_installed_agents列出本地已安装的 Agent
registry_search搜索 ACP Agent 注册表
agent_install从注册表安装 Agent
agent_uninstall移除已安装的 Agent
agent_check_upgrades检查是否有可用升级
discover_agents扫描编辑器配置(Zed、JetBrains)以查找 Agent
reload_config从磁盘重新加载 mcacp.json
生命周期
工具描述
initialize启动 Agent 进程并执行 ACP 握手
shutdown正常关闭 Agent
会话
工具描述
new_session使用工作目录和权限策略创建会话
load_session恢复持久化的会话
list_sessions列出某个 Agent 已存储的会话
close_session关闭会话(保留以供之后恢复)
交互
工具描述
prompt_start发送提示词(立即返回)
prompt阻塞等待事件可用
prompt_events非阻塞轮询事件
grant_permission解决待处理的权限请求(操作员模式)
request_permission向主机发送 MCP 询问,请求其作出权限决定
cancel取消正在进行的提示词
set_mode切换 Agent 运行模式
状态
工具描述
list_running_agents列出所有 Agent 的状态和会话
get_agent_status查看运行中 Agent 的详细状态
set_agent_status设置 Agent 的状态文本

权限策略

每个会话都可以使用不同的策略:

策略行为
allow_all自动批准 Agent 的所有操作
deny_all阻止使用所有工具
elicit以 MCP 询问的形式转发给主机;若不受支持,则回退到 operator
operator将请求排入事件队列,由主机 Agent 通过 grant_permission 决定
操作员流程
Orchestrator                   MCACP                      ACP Agent
    |                            |                            |
    |-- prompt(sessionId, ...) ->|                            |
    |                            |-- session/prompt --------->|
    |                            |<- request_permission ------|
    |<- {pendingPermission: ...} |                            |
    |                            |                            |
    |-- grant_permission ------->|                            |
    |   {toolCallId, optionId}   |-- permission outcome ----->|
    |                            |<- prompt result -----------|
    |<- {stopReason, updates}    |                            |

配置

MCACP 会在以下位置查找 mcacp.json(使用第一个找到的文件):

  1. --config 标志或 MCACP_CONFIG 环境变量
  2. 当前目录中的 .mcacp/mcacp.json
  3. ~/.config/mcacp/mcacp.json
{
  "registries": ["https://cdn.agentclientprotocol.com/registry/v1/latest/registry.json"],
  "defaultPermissionPolicy": "elicit",
  "agent_servers": {
    "my-custom-agent": {
      "command": "node",
      "args": ["my-agent.js"]
    }
  }
}

完整的架构请参阅 docs/configuration.md。

从源代码构建

git clone https://github.com/Oortonaut/mcacp.git
cd mcacp
npm install
npm run build
node dist/index.js

许可证

Apache-2.0

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。