Back to Browse

Claude Wrap MCP Server

Developer ToolsModerate5.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

MCP server that spawns and drives Claude Code sessions via claude-wrap.

About

MCP server that spawns and drives Claude Code sessions via claude-wrap.

Security Report

5.0
Moderate5.0Moderate Risk

This MCP server provides a well-structured interface for spawning and controlling Claude Code sessions via the claude-wrap library. The code demonstrates good security practices with input validation via Zod schemas, proper error handling, and no hardcoded credentials or malicious patterns. Minor code quality observations exist around broad error handling and subprocess spawning, but these do not pose significant security risks. Permissions align well with the server's stated purpose of session orchestration. Supply chain analysis found 2 known vulnerabilities in dependencies (1 critical, 0 high severity). Package verification found 1 issue.

7 files analyzed · 7 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

process_spawn

Check that this permission is expected for this type of plugin.

env_vars

Check that this permission is expected for this type of plugin.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

system_info

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

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

Documentation

View on GitHub

From the project's GitHub 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

Reviews

No reviews yet

Be the first to review this server!