mcpField
C
claude-wrap-mcp

claude-wrap-mcp

本地服务
github.com/Alex-KaffAI 与智能体02 周前更新

关于 claude-wrap-mcp

claude-wrap-mcp 是用于启动和控制 Claude Code 会话的 MCP 服务,可让 Agent 运行多个 Claude Code 子 Agent。它支持检查会话、处理权限请求,并提供非交互式 `claude -p` 会话接口。

主要功能

  1. 01启动并控制 Claude Code 会话
  2. 02发送提示词或原始输入
  3. 03查看会话状态和记录
  4. 04分页查看工具调用及结果
  5. 05批准或拒绝权限请求
  6. 06驱动非交互式 `claude -p` 会话

适用场景

  1. 01将任务分派给 Claude Code 子 Agent
  2. 02监控长时间运行的编码会话
  3. 03审查会话的工具调用和输出
  4. 04处理会话发出的权限请求

MCP 相关

该服务通过 MCP 工具启动、驱动、检查和停止 Claude Code 会话,也提供管理非交互式 `claude -p` 会话的工具。

配置

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

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

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

安装包
npmclaude-wrap-mcp0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

claude-wrap-mcp

npm version license

一个 MCP 服务,可让 Agent 启动并操控真实的 Claude Code 会话,从而使 Claude Code 能够运行一组 Claude Code 子 Agent。基于 claude-wrap 构建。

需要 Node ≥ 18,并且 claude CLI 位于你的 PATH 中。无头会话可在任何环境中运行;连接到可见终端窗口的功能则优先支持 Windows。

安装

npm install -g claude-wrap-mcp
claude mcp add claude-wrap -- claude-wrap-mcp

或者在 .mcp.json / claude_desktop_config.json 中配置:

{
  "mcpServers": {
    "claude-wrap": { "command": "npx", "args": ["-y", "claude-wrap-mcp"] }
  }
}

工具

工具功能
claude_spawn在绝对路径的 cwd 中启动会话。返回 sessionId。
claude_ask发送提示词,等待会话空闲,并返回对话记录末尾内容及解析后的状态。
claude_send发送原始输入(text / line / key),不等待返回结果——适用于长时间运行的任务。
claude_status查看运行状态、模式、令牌数、待处理的权限提示、待办事项,以及最近 5 个工具的名称。
claude_tool_calls分页查看会话的工具调用。默认只显示 ID 和名称。
claude_tool_result根据 ID 查看一次工具调用及其参数和结果。
claude_snapshot查看渲染后的对话记录行。
claude_list查看所有会话(包括在此启动或发现的会话),以及其后端、tmux 连接命令和谱系。
claude_resolve_permissionapprove / deny 待处理的权限提示。
claude_stop关闭此服务启动或接管的会话(会终止 tmux 会话)。

还有第二组工具 claudep_*,用于驱动非交互式 claude -p 会话,并返回结构化 JSON、工具调用、用量和费用。

有两点值得注意:

  • 权限提示会显示出来,不会被绕过。 当 claude_ask 或 claude_status 报告 permissionPrompt 时,使用 claude_resolve_permission 进行响应。
  • 工具调用采用分页方式,而非一次性全部返回。 状态轮询只携带名称,因此开销很小;claude_tool_calls 会列出其余内容,而 claude_tool_result 会根据 ID 获取单次调用的输出。

tmux 会话(Linux/macOS)

在服务的环境变量中设置 CLAUDE_WRAP_BACKEND=tmux(例如,在整台机器范围内设置)。 之后,claude_* 会话将在 tmux 会话中运行,无需更改 MCP 配置:

  • 会话不会随此服务一起退出:服务关闭时会让会话继续运行,任何人都可以执行 tmux attach(命令见 claude_spawn / claude_list)。 若要让会话随服务一起停止,请设置 CLAUDE_WRAP_TMUX_ON_EXIT=kill;
  • 任何服务都可以接管这些会话:将 tmux 会话名称(如列表所示)作为 sessionId 传入,即可在进程内连接会话,并获取完整的解析状态;
  • 谱系:如果在设置了 TASK_ID / AGENT_ID 的 Agent 中启动会话,则会记录该任务及其父级。claude_list 会显示这些信息,而注册表条目(CLAUDE_WRAP_REGISTRY;设置为目录时每个会话对应一个文件)会保留这些信息,供监管程序使用。

有关配置项和条目格式,请参阅 claude-wrap 的 README(“tmux backend”)。

开发

pnpm install
pnpm --filter claude-wrap-mcp build
pnpm --filter claude-wrap-mcp test

许可证

MIT © Alex Kaffetzakis

评论

支持 Markdown

第一次接触 MCP?

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

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