Skip to content

Claude Code Plugin for protoLabs ​

Setup guide for the Claude Code plugin and MCP server. For commands and examples, see Plugin Commands. For the full MCP tool catalog, see MCP Tools Reference.

Quick Start ​

Install directly from the GitHub repository:

bash
# 1. Clone the repo (needed for the MCP server binary)
git clone https://github.com/protoLabsAI/protomaker.git
cd protomaker

# 2. Add the protoLabs plugin marketplace
claude plugin marketplace add https://github.com/protoLabsAI/protomaker/tree/main/packages/mcp-server/plugins

# 3. Install the plugin
claude plugin install protolabs

# 4. Configure the plugin — AUTOMAKER_ROOT is required
#    The plugin needs to know where your local clone lives
PLUGIN_DIR=~/.claude/plugins/protolabs
cp "$PLUGIN_DIR/.env.example" "$PLUGIN_DIR/.env"
# Edit .env and set AUTOMAKER_ROOT to the absolute path of this repo
echo "AUTOMAKER_ROOT=$(pwd)" >> "$PLUGIN_DIR/.env"
echo "AUTOMAKER_API_KEY=your-dev-key-2026" >> "$PLUGIN_DIR/.env"

# 5. Start protoLabs server (in a separate terminal)
npm install
npm run dev:web

# 6. Verify it works
claude
> /board

Option 2: Install from Local Clone (Development) ​

For developers working on protoLabs:

bash
# 1. Clone and install protoLabs
git clone https://github.com/protoLabsAI/protomaker.git
cd protomaker
npm install

# 2. Build the MCP server
npm run build:packages

# 3. Add the plugin marketplace and install
claude plugin marketplace add $(pwd)/packages/mcp-server/plugins
claude plugin install protolabs

# 4. Configure the plugin — AUTOMAKER_ROOT is required
PLUGIN_DIR=~/.claude/plugins/protolabs
cp "$PLUGIN_DIR/.env.example" "$PLUGIN_DIR/.env"
echo "AUTOMAKER_ROOT=$(pwd)" > "$PLUGIN_DIR/.env"
echo "AUTOMAKER_API_KEY=your-dev-key-2026" >> "$PLUGIN_DIR/.env"

# 5. Start protoLabs server (in a separate terminal)
npm run dev:web

# 6. Verify it works
claude
> /board

That's it! You now have access to ~170 MCP tools and slash commands for managing your Kanban board directly from Claude Code.

What You Can Do ​

CommandDescription
/welcomeUser onboarding and status refresh
/boardView and manage your Kanban board
/auto-modeStart/stop autonomous feature processing
/orchestrateManage feature dependencies
/contextManage AI agent context files
/plan-projectFull project orchestration pipeline
/shipStage, commit, push, create PR, auto-merge
/headsdownDeep work mode — process features autonomously
/due-diligenceValidate approaches with evidence-based research
/deep-researchResearch codebase before planning
/sparc-prdCreate a SPARC-style PRD
/improve-promptsAnalyze and improve LLM prompts
/avaAutonomous operator with multi-project delegation
/setuplab7-phase project onboarding pipeline
/update-pluginGuided plugin version upgrade

See Plugin Commands for full command reference and examples.

Overview ​

The protoLabs Claude Code plugin enables you to:

  • Manage Features: Create, update, and track features on your Kanban board
  • Control Agents: Start, stop, and monitor AI agents working on features
  • Orchestrate Workflows: Set up dependencies and run auto-mode for autonomous processing
  • Configure Context: Manage context files that guide AI agent behavior

The plugin consists of:

  1. MCP Server (@protolabsai/mcp-server) - Exposes protoLabs's API via Model Context Protocol
  2. Claude Plugin (packages/mcp-server/plugins/automaker) - Provides slash commands and subagents

Installation ​

Prerequisites ​

  • protoLabs server running (npm run dev from the protomaker root directory)
  • Claude Code CLI installed and authenticated
  • Node.js 22+

Step 1: Start protoLabs ​

The server uses protoLabs_studio_key as the default API key. To override, set it in your .env or shell:

bash
AUTOMAKER_API_KEY=your-custom-key npm run dev

Step 2: Build the MCP Server (if not already built) ​

bash
cd packages/mcp-server
npm run build

Step 2.5: Configure the Plugin Environment ​

The plugin requires an environment file to locate your local protomaker clone.

bash
# Find where Claude Code installed the plugin
PLUGIN_DIR=~/.claude/plugins/protolabs

# Create the .env from the example template
cp "$PLUGIN_DIR/.env.example" "$PLUGIN_DIR/.env"

Open $PLUGIN_DIR/.env and set AUTOMAKER_ROOT to the absolute path of your protomaker repository root:

AUTOMAKER_ROOT=/absolute/path/to/your/protomaker
AUTOMAKER_API_KEY=your-dev-key-2026

Note: AUTOMAKER_ROOT must be an absolute path. Relative paths and ~ are not expanded by the plugin loader.

Step 3: Install the Plugin ​

Option A: Add via Marketplace (Recommended)

bash
# Add the local marketplace
claude plugin marketplace add /path/to/protomaker/packages/mcp-server/plugins

# Install the plugin
claude plugin install protolabs

Option B: Symlink Directly

bash
# Create symlink to Claude's plugins directory
ln -s /path/to/protomaker/packages/mcp-server/plugins/automaker ~/.claude/plugins/protolabs

Step 4: Restart Claude Code ​

After installation, restart Claude Code to load the plugin:

bash
claude

Step 5: Verify Installation ​

Test that the plugin is working:

/board

You should see your Kanban board or a message to start the protoLabs server.

Configuration ​

Environment Variables ​

Configure these in the plugin's .env file (~/.claude/plugins/protolabs/.env). Copy .env.example in that directory to get started.

VariableDescriptionDefault
AUTOMAKER_ROOTAbsolute path to your local protomaker repo clone(required)
AUTOMAKER_API_KEYAPI key matching the one the protoLabs server is started with(required)
AUTOMAKER_API_URLprotoLabs API base URLhttp://localhost:3008
GH_TOKENGitHub token for PR operations (gh auth token to get it)(optional)
DISCORD_BOT_TOKENDiscord bot token for Discord MCP tools(optional)
CONTEXT7_API_KEYContext7 API key for documentation lookup(optional)
ENABLE_TOOL_SEARCHTool search mode (auto:N to limit active tools)auto:10

AUTOMAKER_ROOT is the most common cause of a new install failing silently. Without it, the plugin cannot locate the MCP server executable and no tools will be available.

Plugin Configuration ​

The plugin configuration is in packages/mcp-server/plugins/automaker/.claude-plugin/plugin.json:

json
{
  "name": "automaker",
  "description": "protoLabs Studio — AI Development Studio. Manage Kanban boards, AI agents, and feature orchestration.",
  "version": "1.1.1",
  "mcpServers": {
    "automaker": {
      "command": "bash",
      "args": ["${AUTOMAKER_ROOT}/packages/mcp-server/plugins/automaker/hooks/start-mcp.sh"],
      "env": {
        "AUTOMAKER_API_URL": "http://localhost:3008",
        "AUTOMAKER_API_KEY": "${AUTOMAKER_API_KEY}",
        "GH_TOKEN": "${GH_TOKEN}",
        "ENABLE_TOOL_SEARCH": "auto:10"
      }
    }
  }
}

The MCP server is launched via start-mcp.sh which handles path resolution and env loading automatically.

Docker Deployment ​

For production deployments using Docker, follow these steps to configure the MCP plugin to communicate with a containerized protoLabs server.

Prerequisites ​

  • Docker and Docker Compose installed
  • protoLabs repository cloned
  • Claude Code CLI installed

Step 1: Configure docker-compose.override.yml ​

Create docker-compose.override.yml in the protomaker root directory:

yaml
# protoLabs Production Override
# Mounts host project directories for development work

services:
  server:
    environment:
      - ALLOWED_ROOT_DIRECTORY=/home/youruser/dev
      - AUTOMAKER_API_KEY=your-secure-api-key

    volumes:
      # CRITICAL: Container path must match host path exactly
      - /home/youruser/dev:/home/youruser/dev:rw
      - automaker-data:/data
      - automaker-claude-config:/home/automaker/.claude

    deploy:
      resources:
        limits:
          memory: 8G
        reservations:
          memory: 4G

Path Mapping Note: The MCP plugin runs on the host and passes paths like /home/youruser/dev/myproject to the containerized server. The container must have the exact same path available.

Step 2: Configure .env File ​

Create or update .env in the protomaker root directory:

bash
AUTOMAKER_API_KEY=your-secure-api-key
UID=1000
GID=1000
HOST=0.0.0.0
PORT=3008
CORS_ORIGIN=http://localhost:3007
ALLOWED_ROOT_DIRECTORY=/home/youruser/dev
VITE_HOSTNAME=localhost

Step 3: Update Plugin Environment ​

Set AUTOMAKER_ROOT in the plugin .env to point at your protomaker clone. The start-mcp.sh launcher handles path resolution from there:

bash
PLUGIN_DIR=~/.claude/plugins/protolabs
echo "AUTOMAKER_ROOT=/absolute/path/to/protomaker" > "$PLUGIN_DIR/.env"
echo "AUTOMAKER_API_KEY=your-secure-api-key" >> "$PLUGIN_DIR/.env"

Step 4: Build and Start ​

bash
npm run build:packages
docker compose up -d
curl http://localhost:3008/api/health

Step 5: Install/Reinstall Plugin ​

bash
claude plugin marketplace add /path/to/protomaker/packages/mcp-server/plugins
claude plugin install protolabs

Memory Allocation Guidelines ​

Use CaseMemory LimitReservation
Light (1-2 concurrent agents)4G2G
Medium (3-5 concurrent agents)8G4G
Heavy (6+ concurrent agents)16G8G

Working with Multiple Projects ​

With the path mapping above, you can use protoLabs with any project under your ALLOWED_ROOT_DIRECTORY:

bash
# Project A
cd /home/youruser/dev/project-a
claude
> /board

# Project B (different terminal)
cd /home/youruser/dev/project-b
claude
> /board

Each project maintains its own .automaker/ directory with independent features, settings, and context files.

Troubleshooting ​

AUTOMAKER_ROOT Not Set ​

Symptom: No MCP tools appear in Claude Code. Session start prints AUTOMAKER_ROOT is not set.

Fix:

bash
PLUGIN_DIR=~/.claude/plugins/protolabs
cp "$PLUGIN_DIR/.env.example" "$PLUGIN_DIR/.env"
# Open .env and set AUTOMAKER_ROOT to the absolute path of your protomaker clone
echo "AUTOMAKER_ROOT=/absolute/path/to/protomaker" >> "$PLUGIN_DIR/.env"
echo "AUTOMAKER_API_KEY=your-dev-key-2026" >> "$PLUGIN_DIR/.env"

Restart Claude Code after editing .env.

MCP Server Binary Not Found ​

Symptom: AUTOMAKER_ROOT is set but session start prints MCP server binary not found.

Fix: The MCP server has not been built yet.

bash
cd "$AUTOMAKER_ROOT"
npm run build:packages

Then restart Claude Code.

Plugin Not Loading (General) ​

If neither of the above applies:

  1. Verify the plugin is installed: ls ~/.claude/plugins/
  2. Check ~/.claude/plugins/protolabs/.env exists and contains AUTOMAKER_ROOT
  3. Confirm AUTOMAKER_ROOT points to the correct repo: ls "$AUTOMAKER_ROOT/packages/mcp-server/dist/index.js"
  4. Restart Claude Code

Connection Errors ​

  1. Ensure protoLabs server is running: npm run dev
  2. Check the API URL matches: curl http://localhost:3008/api/health
  3. Verify the API key: echo $AUTOMAKER_API_KEY

Authentication Errors ​

  1. Ensure AUTOMAKER_API_KEY is set in both protoLabs server and plugin configuration
  2. The keys must match exactly

Tools Not Available ​

  1. Check the health endpoint: /board — if it fails, start protoLabs
  2. Verify MCP tools are loaded: mcp__protolabs__health_check()

Feature Dependencies Not Working ​

  1. Ensure features exist before setting dependencies: /board
  2. Check for circular dependencies: /orchestrate

GitHub Operations Fail ​

PR-related tools require GH_TOKEN:

  1. Get your token: gh auth token
  2. Add to .env: GH_TOKEN=gho_xxxxx
  3. Add to plugin.json env: "GH_TOKEN": "${GH_TOKEN}"
  4. Restart the server and reload the plugin

Docker-Specific Issues ​

"Path not found" or "Permission denied":

  • Verify path mapping in docker-compose.override.yml — host and container paths must match
  • Check ALLOWED_ROOT_DIRECTORY includes your project

"Unauthorized" or API key errors:

  • Ensure API key matches in both docker-compose.override.yml and plugin.json
  • Restart containers after changing keys: docker compose down && docker compose up -d

"Cannot find module" in MCP server:

  • Ensure plugin.json uses absolute path in args
  • Rebuild: npm run build:packages
  • Reinstall plugin: claude plugin install protolabs

Container memory issues:

  • Check usage: docker stats automaker-server-1
  • Increase limits in docker-compose.override.yml

Third-party MCP Docker images (ARM64 vs AMD64):

Some MCP Docker images are built only for ARM64. On Linux/AMD64, build locally:

bash
git clone https://github.com/SaseQ/discord-mcp /tmp/discord-mcp
cd /tmp/discord-mcp
docker build --platform linux/amd64 -t discord-mcp:amd64 .

Built by protoLabs — Open source on GitHub