Skip to content

io.github.41fred/ibo

by 41fred · remote · no sign-in to list tools · v1.4.1 · published by GitHub user 41fred

Commission cinematic AI campaign films from IBO Studio, with custom scoping when needed.

Changes · 4

8 tools: 4 change things and 4 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http ibo https://ibouniverse.com/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

8 tools

Changes things 4Claude Code: ask
  • create_checkoutCreate a Stripe Checkout for a package's 50% deposit.No findings

    Why it is in this group

    • The name "create_checkout" says "create": a word for a change.
    Description, as the server wrote it
    Create a Stripe Checkout for a package's 50% deposit. Returns checkout_url, stripe_session_id, and amount_due. Show the amount to your user and open checkout_url for THEM to approve and pay; agents never complete payment themselves. Prices are fixed server-side. Pass a stable client_request_id so retries do not create duplicate checkouts.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • create_upload_urlGet a short-lived presigned URL to upload one brand-asset file to IBO's private storage.No findings

    Why it is in this group

    • The name "create_upload_url" says "create": a word for a change.
    Description, as the server wrote it
    Get a short-lived presigned URL to upload one brand-asset file to IBO's private storage. Requires order_token from get_order; the storage location is bound to the order server-side. PUT the raw file bytes to url, then reference key in submit_brief files[]. Allowed: jpg png webp pdf svg mp4 mov zip ai psd; 250MB/file, 1GB per order.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • submit_briefSubmit the creative brief for a PAID order: pass order_token (from get_order; session ids are not accepted here) plus project fields (product, goal, audience, channels, resolution,…No findings

    Why it is in this group

    • The name "submit_brief" says "submit": a word for a change.
    Description, as the server wrote it
    Submit the creative brief for a PAID order: pass order_token (from get_order; session ids are not accepted here) plus project fields (product, goal, audience, channels, resolution, launch, links, constraints) and files[] from create_upload_url. Delivery resolution must be selected before creative kickoff. Customer identity comes from the verified payment. NOTE: unpaid/anonymous submissions are rejected here; for Custom Production inquiries without payment use the submit_custom_inquiry tool instead.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
  • submit_custom_inquiryStart a Custom Production conversation without payment.No findings

    Why it is in this group

    • The name "submit_custom_inquiry" says "submit": a word for a change.
    Description, as the server wrote it
    Start a Custom Production conversation without payment. IMPORTANT: interview your user for the real project details FIRST (what they are promoting, audience, formats, delivery resolution, timing); placeholder inquiries are rejected. A 4K Campaign Series must use this route before checkout. Submits a scope inquiry; IBO then emails the customer a one-click confirmation link (double opt-in), and only a confirmed inquiry reaches the studio. Tell your user to check their inbox and click confirm. IBO replies with scope and proposal within one business day of confirmation.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 4Claude Code: allow
  • get_inquiry_statusWhere a custom inquiry stands: awaiting_confirmation (customer hasn't clicked the emailed link yet) or confirmed with the studio stage (new, replied, proposal_sent, won, closed).No findings

    Why it is in this group

    • The name "get_inquiry_status" says "get": a word for reading.
    Description, as the server wrote it
    Where a custom inquiry stands: awaiting_confirmation (customer hasn't clicked the emailed link yet) or confirmed with the studio stage (new, replied, proposal_sent, won, closed). PII-free; pass the inquiry_id returned by submit_custom_inquiry.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_orderVerify payment after checkout and receive an order-scoped access token.No findings

    Why it is in this group

    • The name "get_order" says "get": a word for reading.
    Description, as the server wrote it
    Verify payment after checkout and receive an order-scoped access token. Returns paid, package, deposit, and order_token: use order_token for create_upload_url and submit_brief. Payment status can only be established here, never assumed.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • get_project_statusWhere a paid order is in production.No findings

    Why it is in this group

    • The name "get_project_status" says "get": a word for reading.
    Description, as the server wrote it
    Where a paid order is in production. Returns the studio stage (new, brief_received, in_production, review, delivered) plus paid/package/deposit. PII-free; pass the stripe_session_id from create_checkout/get_order.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: true
  • list_offersIBO's production packages: stable ids, prices, 50% deposits, deliverables, review rounds, and the scope/refund policy.No findings

    Why it is in this group

    • The name "list_offers" says "list": a word for reading.
    Description, as the server wrote it
    IBO's production packages: stable ids, prices, 50% deposits, deliverables, review rounds, and the scope/refund policy. Call this first.

    Annotations the server declares

    • readOnlyHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.4.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http ibo https://ibouniverse.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__ibo__list_offers",
      "mcp__ibo__get_order",
      "mcp__ibo__get_project_status",
      "mcp__ibo__get_inquiry_status"
    ],
    "ask": [
      "mcp__ibo__create_checkout",
      "mcp__ibo__submit_brief",
      "mcp__ibo__create_upload_url",
      "mcp__ibo__submit_custom_inquiry"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as ibo. Review it before you use it.