mcpField
C
claude-wrap-mcp

claude-wrap-mcp

Local
github.com/Alex-KaffAI & Agents0Updated 2w ago

About claude-wrap-mcp

claude-wrap-mcp is an MCP server for starting and controlling Claude Code sessions, allowing an agent to run multiple Claude Code sub-agents. It provides session inspection, permission handling, and a separate interface for non-interactive `claude -p` sessions.

Key features

  1. 01Spawn and control Claude Code sessions
  2. 02Send prompts or raw input
  3. 03Inspect session status and transcripts
  4. 04Page through tool calls and results
  5. 05Approve or deny permission prompts
  6. 06Drive non-interactive `claude -p` sessions

Use cases

  1. 01Delegate work to Claude Code sub-agents
  2. 02Monitor long-running coding sessions
  3. 03Review session tool calls and outputs
  4. 04Handle permission requests from sessions

MCP support

The server exposes MCP tools for spawning, driving, inspecting, and stopping Claude Code sessions. It also offers tools for non-interactive `claude -p` sessions.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"alex-kaff-claude-wrap": {
"command": "npx",
"args": [
"-y",
"claude-wrap-mcp"
]
}
}
}
Run commandnpx -y claude-wrap-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmclaude-wrap-mcp0.1.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

claude-wrap-mcp

npm version license

An MCP server that lets an agent spawn and drive real Claude Code sessions, so Claude Code can run a fleet of Claude Code sub-agents. Built on claude-wrap.

Needs Node ≥ 18 and the claude CLI on your PATH. Headless sessions work everywhere; attaching to visible terminal windows is Windows-first.

Install

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

Or in .mcp.json / claude_desktop_config.json:

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

Tools

ToolWhat it does
claude_spawnStart a session in an absolute cwd. Returns a sessionId.
claude_askSend a prompt, wait for idle, return the transcript tail + parsed state.
claude_sendSend raw input (text / line / key) without waiting — for long tasks.
claude_statusBusy, mode, tokens, pending permission prompt, todos, last 5 tool names.
claude_tool_callsPage through the session's tool calls. Ids + names by default.
claude_tool_resultOne tool call by id: its args and result.
claude_snapshotThe rendered transcript lines.
claude_listEvery session, spawned here or discovered, with its backend, tmux attach command and lineage.
claude_resolve_permissionapprove / deny a pending permission prompt.
claude_stopShut down a session this server spawned or adopted (kills a tmux session).

There is a second family, claudep_*, that drives non-interactive claude -p sessions and returns structured JSON, tool calls, usage and cost.

Two things worth knowing:

  • Permission prompts are surfaced, not bypassed. When claude_ask or claude_status reports a permissionPrompt, answer it with claude_resolve_permission.
  • Tool calls are paged, not dumped. A status poll stays cheap because it carries only names; claude_tool_calls lists the rest and claude_tool_result fetches one call's output by id.

Sessions in tmux (Linux/macOS)

Set CLAUDE_WRAP_BACKEND=tmux in the server's environment (e.g. box-wide). claude_* sessions then run in tmux sessions, with no change to the MCP config:

  • they outlive this server: on shutdown it leaves them running, and anyone can tmux attach (the command is in claude_spawn / claude_list). Set CLAUDE_WRAP_TMUX_ON_EXIT=kill to stop them with the server instead;
  • any server adopts them: pass a tmux session name (as listed) as sessionId and the session is attached in-process, with full parsed state;
  • lineage: a session spawned from inside an agent that has TASK_ID / AGENT_ID set records that task and parent. claude_list shows it, and the registry entry (CLAUDE_WRAP_REGISTRY, one file per session when it's a directory) carries it for a supervisor.

See claude-wrap's README ("tmux backend") for the knobs and the entry format.

Develop

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

License

MIT © Alex Kaffetzakis

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.