Files
breakpilot-core/pitch-deck/mcp-server
Sharang Parnerkar 27479ee553
Some checks failed
Build pitch-deck / build-and-push (push) Failing after 1m2s
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-consent (push) Successful in 35s
CI / test-python-voice (push) Successful in 35s
CI / test-bqas (push) Successful in 34s
CI / Deploy (push) Failing after 3s
docs(mcp-server): add README + gitignore .mcp.json
Setup instructions for the pitch version MCP server.
.mcp.json contains the admin secret and is gitignored.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 10:36:54 +02:00
..

BreakPilot Pitch MCP Server

MCP server that lets Claude Code directly manage pitch versions, invite investors, and assign versions — without touching the browser admin UI.

What it does

11 tools exposed to Claude Code:

Tool Description
list_versions List all pitch versions with status + investor counts
create_version Create a draft (snapshot base tables or fork from parent)
get_version Get full version detail with all 12 data table snapshots
get_table_data Get one table's data (company, team, financials, market, etc.)
update_table_data Replace a table's data in a draft version
commit_version Lock a draft as immutable
fork_version Create new draft by copying an existing version
diff_versions Per-table diff between any two versions
list_investors List all investors with stats + version assignments
assign_version Assign a committed version to an investor
invite_investor Send magic-link email to a new investor

All actions go through the existing admin API at pitch.breakpilot.com, so they show up in the audit log.

Setup

1. Build

cd pitch-deck/mcp-server
npm install
npm run build

2. Get the admin secret

The PITCH_ADMIN_SECRET is stored in orca secrets on the server. SSH in and retrieve it:

ssh breakpilot-infra-vm1
cat ~/orca/services/breakpilot-dsms/secrets.json | grep PITCH_ADMIN_SECRET

3. Configure

Edit .mcp.json in the breakpilot-core repo root (already created):

{
  "mcpServers": {
    "pitch-versions": {
      "command": "node",
      "args": ["pitch-deck/mcp-server/dist/index.js"],
      "env": {
        "PITCH_API_URL": "https://pitch.breakpilot.com",
        "PITCH_ADMIN_SECRET": "paste-your-secret-here"
      }
    }
  }
}

Important: .mcp.json contains a secret. It's already in .gitignore — never commit it.

4. Restart Claude Code

Exit and reopen Claude Code, or run /mcp to check it loaded:

/mcp

You should see pitch-versions listed with 11 tools.

Usage examples

Just talk to Claude naturally:

  • "List all pitch versions" → calls list_versions
  • "Create a new version called 'Series A Aggressive'" → calls create_version
  • "Show me the company data from version X" → calls get_table_data
  • "Update the company tagline to 'AI-Powered Compliance' in version X" → calls update_table_data
  • "Commit version X" → calls commit_version
  • "Fork version X into a new draft called 'Conservative'" → calls fork_version
  • "Compare version X with version Y" → calls diff_versions
  • "Assign version X to investor jane@vc.com" → calls assign_version
  • "Invite john@fund.com from Big Fund" → calls invite_investor

Data tables

Each version stores 12 data tables as JSONB snapshots:

Table Content
company Name, tagline (DE/EN), mission (DE/EN), website, HQ city
team Members with roles, bios, equity, expertise (all bilingual)
financials Year-by-year revenue, costs, MRR, ARR, customers, employees
market TAM/SAM/SOM with values, growth rates, sources
competitors Names, customer counts, pricing, strengths, weaknesses
features Feature comparison matrix (BreakPilot vs competitors)
milestones Timeline with dates, titles, descriptions, status (bilingual)
metrics Key metrics with labels (bilingual) and values
funding Round details, amount, instrument, use of funds breakdown
products Product tiers with pricing, LLM specs, features (bilingual)
fm_scenarios Financial model scenario names, colors, default flag
fm_assumptions Per-scenario assumptions (growth rate, ARPU, churn, etc.)

Architecture

Claude Code ←stdio→ MCP Server ←HTTP→ pitch.breakpilot.com/api/admin/*
                     (local)           (deployed on orca)

The MCP server is a thin HTTP client. All auth, validation, and audit logging happens on the server side. The bearer token authenticates as a CLI admin actor.

Troubleshooting

"PITCH_ADMIN_SECRET is required" → The env var is missing in .mcp.json

401 errors → The secret is wrong or the pitch-deck container isn't running. Check: curl -s -H "Authorization: Bearer YOUR_SECRET" https://pitch.breakpilot.com/api/admin/investors

MCP server not showing in /mcp → Make sure you're in the breakpilot-core directory when you launch Claude Code (.mcp.json is project-scoped)