Back to Directory/Developer Tools

io.github.Alex-Kaff/claude-wrap-mcp

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

Developer ToolsTypeScriptv0.1.0

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.
claude_resolve_permissionapprove / deny a pending permission prompt.
claude_stopShut down a session this server spawned.

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.

Develop

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

License

MIT © Alex Kaffetzakis

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y claude-wrap-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

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

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

claude-wrap-mcpnpm

Compatible MCP Clients

io.github.Alex-Kaff/claude-wrap-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More