Back to the catalog

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

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

Open source Open in the app JSON README (API)

About

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

Details

Kind
MCP servers
Topic
No topic detected
Publisher
alex-kaff
Origin
official
Category
ferramentas
Transport
local
Version
0.1.0
Last push
2026-09-07T22:00:59Z
Repository state
ativo
Language
TypeScript
License
MIT
Added
2026-08-29 03:01:41
Updated
2026-08-29 03:01:41
Origin id
io.github.Alex-Kaff/claude-wrap-mcp

README

# claude-wrap-mcp

[![npm version](https://img.shields.io/npm/v/claude-wrap-mcp.svg)](https://www.npmjs.com/package/claude-wrap-mcp)
[![license](https://img.shields.io/npm/l/claude-wrap-mcp.svg)](./LICENSE)

An [MCP](https://modelcontextprotocol.io) 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`](https://www.npmjs.com/package/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

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

Or in `.mcp.json` / `claude_desktop_config.json`:

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

## Tools

| Tool | What it does |
|---|---|
| `claude_spawn` | Start a session in an **absolute** `cwd`. Returns a `sessionId`. |
| `claude_ask` | Send a prompt, wait for idle, return the transcript tail + parsed state. |
| `claude_send` | Send raw input (`text` / `line` / `key`) without waiting — for long tasks. |
| `claude_status` | Busy, mode, tokens, pending permission prompt, todos, last 5 tool **names**. |
| `claude_tool_calls` | Page through the session's tool calls. Ids + names by default. |
| `claude_tool_result` | One tool call by id: its args and result. |
| `claude_snapshot` | The rendered transcript lines. |
| `claude_list` | Every session — spawned here or discovered. |
| `claude_resolve_permission` | `approve` / `deny` a pending permission prompt. |
| `claude_stop` | Shut 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

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

## License

[MIT](./LICENSE) © Alex Kaffetzakis

More