MCP Hub
Back to servers

ninja-terminals

MCP server for multi-terminal Claude Code orchestration with DAG task management, parallel execution, and self-improvement

npm192/wk
Updated
Mar 31, 2026

Quick Install

npx -y ninja-terminals

Ninja Terminals

MCP server for multi-terminal Claude Code orchestration — spawn, manage, and coordinate 1-4+ parallel Claude Code instances with DAG task management and self-improvement.

Installation

npm install -g ninja-terminals

Quick Start

As MCP Server (Recommended)

Add to your .mcp.json:

{
  "mcpServers": {
    "ninjaterminal": {
      "command": "npx",
      "args": ["ninja-terminals-mcp"],
      "env": {
        "PORT": "3301",
        "HTTP_PORT": "3300"
      }
    }
  }
}

Then use the /ninjaterminal skill in Claude Code:

/ninjaterminal --terminals 4 --cwd /path/to/project

Standalone Server

ninja-terminals --port 3300 --terminals 4 --cwd /path/to/project

Open http://localhost:3300 for the web UI.

MCP Tools

Ninja Terminals exposes 12 MCP tools for terminal orchestration:

ToolDescription
spawn_terminalCreate a new Claude Code terminal instance
list_terminalsGet all terminals with status, elapsed time, context %
send_inputSend text/commands to a terminal
get_terminal_statusGet detailed status for a specific terminal
get_terminal_outputRead recent output lines from a terminal
get_terminal_logGet structured event log (DONE, BLOCKED, ERROR)
assign_taskAssign a named task with scope to a terminal
set_labelUpdate a terminal's display label
kill_terminalStop and remove a terminal
restart_terminalRestart a terminal preserving its label
get_session_infoGet session metadata (tier, limits, created)
end_sessionFinalize session and collect metrics

Example Invocations

Spawn a terminal for building

mcp__ninjaterminal__spawn_terminal
  label: "Build"
  scope: ["src/", "lib/"]
  cwd: "/Users/me/project"

Send a command

mcp__ninjaterminal__send_input
  id: 1
  text: "npm run build && npm test"

Check status

mcp__ninjaterminal__get_terminal_status
  id: 1

Returns: {id: 1, label: "Build", status: "working", elapsed: 45000, contextPct: 23, taskName: "Build project"}

Assign a task

mcp__ninjaterminal__assign_task
  id: 1
  name: "Fix auth bug"
  description: "Debug login flow in src/auth/"
  scope: ["src/auth/"]

Get output

mcp__ninjaterminal__get_terminal_output
  id: 1
  lines: 50
  offset: 0

List all terminals

mcp__ninjaterminal__list_terminals

Returns: [{id: 1, label: "Build", status: "done"}, {id: 2, label: "Test", status: "working"}]

Architecture

Claude Code (your terminal)
  |
  v
/ninjaterminal skill
  |
  v
MCP Server (stdio/TCP)
  |
  +-- Spawns PTY instances (node-pty)
  +-- Manages WebSocket connections
  +-- Tracks status via pattern detection
  +-- Serves web UI on localhost:3300
  +-- Self-improves via playbooks/metrics

Features

  • Parallel Execution: Run 1-4+ Claude Code instances simultaneously
  • DAG Task Management: Define task dependencies, auto-schedule
  • Status Detection: Parses STATUS: DONE/BLOCKED/ERROR patterns
  • Self-Improvement: Tracks tool success rates, evolves playbooks
  • Web UI: Real-time terminal grid with xterm.js
  • Permission Tiers: Free/Standard/Pro with different limits
  • Resilience: Circuit breakers, context compaction handling

Configuration

Environment variables:

  • PORT — MCP server port (default: 3301)
  • HTTP_PORT — Web UI port (default: 3300)
  • NINJA_TIER — Permission tier: free, standard, pro (default: pro)
  • NINJA_MAX_TERMINALS — Max concurrent terminals (default: 4)

Documentation

License

MIT

Reviews

No reviews yet

Sign in to write a review