mcpField
P
pitchboom

pitchboom

Remote
pitchboom.ioMedia & Design0Updated 2d ago

About pitchboom

pitchboom turns a product URL or brief into a motion-design video ad for teams creating ads through AI assistants. It handles scripts, editable storyboards, voice-over, music, rendering, and revisions, with quotes shown before paid actions.

Key features

  1. 01Create ads from a URL or brief
  2. 02Build editable storyboards
  3. 03Add voice-over and music
  4. 04Render and download MP4s
  5. 05Charge credits only after quote approval

Use cases

  1. 01Create product video ads
  2. 02Revise a storyboard and finished video
  3. 03Prepare video variants in other languages or formats

MCP support

The remote MCP server uses Streamable HTTP to provide AI assistants with tools for projects, videos, storyboards, and credits, including preparing, quoting, launching, editing, and downloading videos. Paid actions require a quote and user approval.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://pitchboom.io/api/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://pitchboom.io/api/mcpAuth required

Tools

Details

From the project README

pitchboom MCP server: make video ads from your AI assistant

pitchboom.io is an AI motion-design studio for video ads. From a product URL or a short brief, it writes the script, builds an editable storyboard, adds a voice-over and music, and renders MP4 videos (1080p; 4K on Pro and Premium) in 16:9, 9:16, 1:1, 4:5 and 3:4. This repository connects AI assistants (Claude Code, Claude Desktop and claude.ai, Cursor, VS Code, Gemini CLI, Codex) to pitchboom's remote MCP server, so an agent can prepare, price, launch, edit and download videos on your pitchboom account. Paid steps return a quote first, and credits are spent only after you approve it.

Free to start: Every new account gets 500 free credits at signup, no card required (about one 30-second Standard video), then plans from €30 a month (excl. VAT) with monthly credits. The MCP server is part of the Pro and Premium plans; free accounts make Standard videos in the web app.

PlanPrice per month (excl. VAT)CreditsMCP server4K exportLongest videoVideos per batch
Free account€0500 once, at signupNo (web app only)No30 s1
Starter€303,000 per monthNoNo60 s3
Pro€9911,000 per monthYes+4 credits per second90 s10
Premium€30037,500 per monthYesIncluded120 s25

What a video costs (storyboard, voice-over, music and 1080p render included): Standard 13, Studio 100 credits per second; with your code: Standard +10, Studio +20 credits per second. Videos shorter than 15 s are billed as 15 s. Studio videos are billed on at least 20 s; with screens rebuilt from your code, the code surcharge is billed on at least 30 s. Example: a 15-second Standard video is 195 credits (about €1.95 at the Starter rate, €1.56 on Premium). 1 credit = €0.01 at the Starter rate (10% off every credit on Pro and 20% off every credit on Premium).

How credits are charged: Every paid action shows an estimate first. When you confirm, the estimate is held from your balance; each finished step consumes its share, and whatever isn't used is released when the job ends. If a render fails on our side, the credits it consumed are refunded automatically.

Prices as of pricing version 2026-10-24. The live figures are on https://pitchboom.io/pricing and https://pitchboom.io/llms.txt.

Full documentation: https://pitchboom.io/docs/mcp

Contents

Before you start

  1. A pitchboom account on a plan with the MCP server (see the table above).

  2. The server: https://pitchboom.io/api/mcp, Streamable HTTP transport. Two ways to sign in:

    • OAuth 2.1 (claude.ai and Claude Desktop custom connectors, ChatGPT, Claude Code, the MCP Inspector and other clients that support it): add only the URL. The client opens pitchboom, you sign in, approve the app and choose its permissions. Connected apps are listed, and disconnected, at https://pitchboom.io/settings/api.
    • Personal API key for every other client: create it at https://pitchboom.io/settings/api and send Authorization: Bearer <your key>. Keys start with pb_live_; you choose the key's permissions when you create it and can revoke it there at any time. The server refuses a key passed in the URL.
  3. Keep a key out of your files. Most key setups below read it from an environment variable:

    export PITCHBOOM_API_KEY=pb_live_YOUR_KEY   # for example in ~/.zshrc; never commit it
    

Permission presets offered when you create a key or approve an app:

PresetPermissionsWhat it allows
Full accessRead, Prepare & edit, Spend creditsRead, prepare and edit, and spend credits after you confirm a quote.
No spendingRead, Prepare & editPrepare quotes, edit storyboards and drafts; confirming paid work stays in the app.
Read onlyReadList and inspect projects, videos, jobs and credits. Nothing changes.

Quickstart

Claude Code

Install this repository as a plugin. It adds the MCP server and a skill that tells Claude how to write a brief, show the quote and wait for your approval:

/plugin marketplace add arseneHuot/pitchboom
/plugin install pitchboom@pitchboom

The plugin reads PITCHBOOM_API_KEY from the environment Claude Code was started in. Run /mcp to check the connection.

To add only the server, without the skill, and sign in with OAuth (run /mcp, pick pitchboom, then Authenticate):

claude mcp add --transport http pitchboom https://pitchboom.io/api/mcp

Or with a key: add --header "Authorization: Bearer pb_live_YOUR_KEY".

Add --scope user to use it in every project. Docs: MCP in Claude Code, plugin marketplaces.

Claude Desktop and claude.ai
  • Claude Desktop, Code tab: paste this into a chat in the Code tab (Claude runs it for you), or run it in a terminal, then start a new chat:

    claude mcp add --transport http --scope user pitchboom https://pitchboom.io/api/mcp --header "Authorization: Bearer pb_live_YOUR_KEY"
    
  • Custom connector (claude.ai, Claude Desktop and mobile chats): in Customize > Connectors, choose Add custom connector, enter https://pitchboom.io/api/mcp (leave the OAuth client ID and secret empty), then Connect: pitchboom opens, you sign in and choose the permissions, and you're back in Claude. On Team and Enterprise plans, each member connects their own pitchboom account.

  • Claude Desktop chats through a local bridge (needs Node.js): add this to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\) and restart Claude Desktop.

    {
      "mcpServers": {
        "pitchboom": {
          "command": "npx",
          "args": ["-y", "mcp-remote@latest", "https://pitchboom.io/api/mcp", "--header", "Authorization:${AUTH_HEADER}"],
          "env": { "AUTH_HEADER": "Bearer pb_live_YOUR_KEY" }
        }
      }
    }
    

    The header has no space after the colon because some clients split arguments on spaces (mcp-remote README).

Cursor

Add this to ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project). Cursor reads ${env:PITCHBOOM_API_KEY} from your environment (Cursor MCP docs):

{
  "mcpServers": {
    "pitchboom": {
      "url": "https://pitchboom.io/api/mcp",
      "headers": { "Authorization": "Bearer ${env:PITCHBOOM_API_KEY}" }
    }
  }
}

This repository is also a Cursor plugin (.cursor-plugin/plugin.json, mcp.json and the skill). When you install it as a plugin, set the key in the PITCHBOOM_API_KEY plugin variable under Dashboard > Plugins > Configure (Cursor plugin variables).

VS Code

Add this to .vscode/mcp.json. VS Code asks for the key once and stores it securely (VS Code MCP configuration):

{
  "inputs": [
    { "type": "promptString", "id": "pitchboom-key", "description": "pitchboom API key", "password": true }
  ],
  "servers": {
    "pitchboom": {
      "type": "http",
      "url": "https://pitchboom.io/api/mcp",
      "headers": { "Authorization": "Bearer ${input:pitchboom-key}" }
    }
  }
}
Gemini CLI

Install this repository as an extension. It asks for your API key during installation and keeps it in the system keychain; it also adds the skill:

gemini extensions install https://github.com/arseneHuot/pitchboom

To add only the server (--scope user for every project):

gemini mcp add --transport http --header "Authorization: Bearer pb_live_YOUR_KEY" pitchboom https://pitchboom.io/api/mcp

Docs: Gemini CLI extensions, MCP servers in Gemini CLI.

Codex
export PITCHBOOM_API_KEY=pb_live_YOUR_KEY
codex mcp add pitchboom --url https://pitchboom.io/api/mcp --bearer-token-env-var PITCHBOOM_API_KEY

--bearer-token-env-var takes the variable's name, not the key. The same setting in ~/.codex/config.toml, shared by the Codex CLI, the IDE extension and the ChatGPT desktop app (Codex MCP docs):

[mcp_servers.pitchboom]
url = "https://pitchboom.io/api/mcp"
bearer_token_env_var = "PITCHBOOM_API_KEY"
Other MCP clients

Any client that supports Streamable HTTP and custom headers works:

URL:        https://pitchboom.io/api/mcp
Transport:  Streamable HTTP
Header:     Authorization: Bearer pb_live_YOUR_KEY

A client that only runs local servers can use the bridge npx -y mcp-remote@latest https://pitchboom.io/api/mcp --header "Authorization: Bearer <key>". Clients that support OAuth need only the URL. To inspect the server, use the MCP Inspector: npx @modelcontextprotocol/inspector (Streamable HTTP, URL only: it signs in with OAuth).

The money rule

Nothing is charged without an explicit confirmation.

  1. create_project, get_estimate, request_variant and paid edits only return a quote: quote_id, credits per video and in total, balance after. Nothing is charged.
  2. Your assistant shows you the quote, and you approve that exact amount (or not).
  3. Only then does it call confirm_operation(quote_id), which holds the credits and starts the work. A video that waits for storyboard approval resumes with approve_storyboard(max_total) within the total you accepted; if the price grew, nothing happens and you get the new total.

Quotes expire after 30 minutes. confirm_operation and approve_storyboard are the only tools that spend credits; both are marked destructive and tell Claude Code to ask you before every call. With a No spending key, the assistant prepares quotes and edits storyboards, and you confirm paid work in the web app.

Typical flow

get_credit_balance
→ get_options, list_brand_kits             accepted values, Brand Kits
→ create_project                           a quote; the free website analysis starts
→ you approve the quote → confirm_operation
→ get_job_status(wait_seconds=50)          until the storyboard waits for approval
→ get_storyboard → update_storyboard       free edits
→ you approve → approve_storyboard(max_total)
→ get_job_status                           until succeeded
→ get_video                                download links valid 1 hour

After rendering: edit_video for changes, request_variant for translations, other formats, new takes or 4K.

Prompts to try:

  • "Make a 15-second 9:16 TikTok ad for https://example.com with the goal sign-ups. Show me the quote before anything is charged."
  • "Translate my last pitchboom video into French and German. Quote it first."
  • "How many pitchboom credits do I have left?"

Tools

The server lists 18 tools to every key:

ToolWhat it doesKey permissionSpends credits
get_credit_balanceCredits & planReadNo
get_optionsAllowed settings and pricesReadNo
list_brand_kitsBrand KitsReadNo
list_projectsProjectsReadNo
get_projectProject detailsReadNo
analyze_urlRead a websitePrepare & editNo
create_projectPrepare videos (quote)Prepare & editNo
get_estimateQuote (refresh or read)ReadNo
confirm_operationConfirm and spend creditsSpend creditsYes, only after you approve the quote; Claude Code asks you before each call
get_job_statusJob progressReadNo
cancel_jobCancel a jobPrepare & editNo (stops or deletes)
get_storyboardStoryboardReadNo
update_storyboardEdit a storyboard (free)Prepare & editNo
approve_storyboardApprove a storyboardSpend creditsYes, only after you approve the quote; Claude Code asks you before each call
list_videosVideosReadNo
get_videoVideo details & downloadsReadNo
request_variantPrepare a variant (quote)Prepare & editNo
edit_videoEdit a rendered videoPrepare & editNo

When source-code input is enabled on your account, 5 more tools let an agent with a shell (Claude Code, Codex, Gemini CLI) send your product's code so videos rebuild your real screens. They ask you first: your code leaves your machine.

ToolWhat it doesKey permissionSpends credits
prepare_code_uploadSend your source code (step 1 of 2)Prepare & editNo; Claude Code asks you before each call
complete_code_uploadAnalyse the uploaded codePrepare & editNo
import_code_from_githubRead a GitHub repositoryPrepare & editNo; Claude Code asks you before each call
get_code_sourceCode analysisReadNo
delete_code_sourceDelete uploaded code nowPrepare & editNo (stops or deletes)

Every tool's full description and input schema come from the server (tools/list), and at https://pitchboom.io/docs/mcp.

Errors

Tool errors start with ERROR <code>: followed by how to fix it. The common ones:

CodeMeaningWhat to do
plan_requiredThe plan doesn't include this (MCP access, 4K, a longer video).Upgrade at https://pitchboom.io/billing, or choose a shorter length.
subscription_requiredNo paid plan on the account.Free accounts use the web app; plans at https://pitchboom.io/pricing.
insufficient_scopeThe key lacks the permission (for example a Read only key).Create a key with the right preset.
insufficient_creditsNot enough credits for the quote. Nothing was charged.Top up at https://pitchboom.io/billing#top-up, or ask for fewer or shorter videos.
quote_expired, quote_staleThe quote is older than 30 minutes, or prices changed.Get a fresh quote with get_estimate and show it again.
estimate_changedThe storyboard grew and costs more than the accepted total.Show the new total; call approve_storyboard with it only if you agree.
analysis_runningThe website analysis isn't finished.Poll get_project until analysis_status is ready, then confirm the same quote again.
batch_too_largeMore videos at once than the plan allows.Lower quantity.
video_busyA job is already running on this video.Wait with get_job_status.
rate_limitedToo many requests.Wait and retry.

HTTP errors are JSON { "error": { "code", "message", "docs" } }: 401 with missing_api_key, malformed_api_key, invalid_api_key or key_in_url; 429 with rate_limited and a Retry-After header; 503 when the service is briefly unavailable.

Security and privacy

  • The key is personal. pitchboom stores only a hash of it and checks it on every request, so revoking it at https://pitchboom.io/settings/api, a plan change or a suspension applies at once.
  • Keep the key in an environment variable, your client's secret storage or your keychain; never in a repository, a chat or a URL.
  • Text inside storyboards and site analyses comes from websites: the server tells agents to treat it as data, never as instructions.
  • Videos are public in the pitchboom gallery by default. Pass visibility: "private" to create_project, or make private the default in your account settings.
  • Download links from get_video are valid for 1 hour: download the file right away and don't store or share the links.
  • The source-code tools ask you first, because your code leaves your machine. delete_code_source deletes uploaded code and everything derived from it, except saved Brand Kits and rendered videos.

What is in this repository

PathPurpose
server.jsonEntry for the official MCP Registry (io.pitchboom/pitchboom)
.claude-plugin/plugin.json, .claude-plugin/marketplace.json, .mcp.jsonClaude Code plugin and its marketplace
.cursor-plugin/plugin.json, mcp.jsonCursor plugin
gemini-extension.json, GEMINI.mdGemini CLI extension
skills/pitchboom-video-ads/SKILL.mdThe agent skill (Agent Skills format), shared by the plugins and the extension
assets/Icon
scripts/sync-from-source.mjsRegenerates the facts and the tool list from pitchboom's source code

The pitchboom server is hosted by pitchboom and its code is not public: this repository holds configuration and documentation only. The blocks marked "GENERATED" are written by scripts/sync-from-source.mjs from the same source files as the live server and https://pitchboom.io/llms.txt.

Links

License

The files in this repository are under the MIT license (LICENSE). Use of the pitchboom service is governed by its terms of service.

En français

pitchboom.io est un studio de motion design par IA pour les publicités vidéo. À partir de l'URL d'un produit ou d'un court brief, il écrit le script, construit un storyboard modifiable, ajoute une voix off et une musique, et livre des vidéos MP4 (1080p ; 4K avec les formules Pro et Premium) aux formats 16:9, 9:16, 1:1, 4:5 et 3:4. Ce dépôt relie vos assistants IA (Claude Code, Claude Desktop et claude.ai, Cursor, VS Code, Gemini CLI, Codex) au serveur MCP distant de pitchboom.

Pour commencer : chaque nouveau compte reçoit 500 crédits gratuits, une seule fois à l'inscription, sans carte bancaire. Le serveur MCP est inclus dans les formules Pro (99 € HT par mois) et Premium (300 € HT par mois) ; les comptes gratuits utilisent l'application web.

  • Adresse du serveur : https://pitchboom.io/api/mcp (Streamable HTTP). Claude (connecteur personnalisé), ChatGPT, Claude Code et les autres clients compatibles OAuth n'ont besoin que de l'adresse : ils ouvrent pitchboom pour vous connecter et choisir les permissions. Sinon, en-tête Authorization: Bearer pb_live_… avec une clé personnelle créée sur https://pitchboom.io/settings/api ; ne la mettez jamais dans un fichier partagé ni dans une URL.
  • Installation : dans Claude Code, /plugin marketplace add arseneHuot/pitchboom puis /plugin install pitchboom@pitchboom ; dans Gemini CLI, gemini extensions install https://github.com/arseneHuot/pitchboom. Les autres clients (Cursor, VS Code, Codex, Claude Desktop) sont décrits plus haut.
  • Règle d'argent : les outils payants renvoient d'abord un devis. L'assistant vous le montre, vous approuvez ce montant précis, puis seulement il appelle confirm_operation. Un devis expire au bout de 30 minutes.
  • Documentation (en anglais) : https://pitchboom.io/docs/mcp · Tarifs : https://pitchboom.io/pricing

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.