ibo

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

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
98%
Vollständigkeit des Schemas
85%
Qualität der Benennung
100%
Risiko der Vergiftung
80%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Befunde (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'submit_custom_inquiry' description contains placeholder textin submit_custom_inquiry
  • INFOTool description contains placeholder or incomplete textin submit_custom_inquiry

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~1,721Tokens (Tool-Definitionen)
~1.5 KBTypische Antwortgröße
Mittlere Auswirkung auf die Aufmerksamkeit (1.34% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "ibo": {
      "url": "https://ibouniverse.com/mcp"
    }
  }
}

Remote-Endpunkte

https://ibouniverse.com/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (8)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢list_offers

IBO's production packages: stable ids, prices, 50% deposits, deliverables, review rounds, and the scope/refund policy. Call this first.

Eingabe-Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "studio": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "currency": {
      "type": "string"
    },
    "policies": {
      "type": "object"
    },
    "how_to_order": {
      "type": "array"
    },
    "offers": {
      "type": "array"
    }
  },
  "additionalProperties": false
}
🟡create_checkout(package, client_request_id)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "package": {
      "type": "string",
      "enum": [
        "film",
        "film4k",
        "series"
      ],
      "description": "Offer id from list_offers"
    },
    "client_request_id": {
      "type": "string",
      "description": "Stable id you generate; makes creation idempotent on retry"
    }
  },
  "required": [
    "package",
    "client_request_id"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "offer_id": {
      "type": "string"
    },
    "checkout_url": {
      "type": "string"
    },
    "stripe_session_id": {
      "type": "string"
    },
    "amount_due": {
      "type": "number"
    },
    "currency": {
      "type": "string"
    },
    "note": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
🟢get_order(session_id)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "description": "Stripe checkout session id (cs_...)"
    }
  },
  "required": [
    "session_id"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "paid": {
      "type": "boolean"
    },
    "package": {
      "type": "string"
    },
    "total": {
      "type": "string"
    },
    "deposit": {
      "type": "number"
    },
    "order_token": {
      "type": "string"
    },
    "expires_at": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
🟡submit_brief(order_token, name, email, company, package, ...)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "order_token": {
      "type": "string",
      "description": "From get_order"
    },
    "name": {
      "type": "string"
    },
    "email": {
      "type": "string"
    },
    "company": {
      "type": "string"
    },
    "package": {
      "type": "string"
    },
    "product": {
      "type": "string"
    },
    "goal": {
      "type": "string"
    },
    "audience": {
      "type": "string"
    },
    "channels": {
      "type": "string"
    },
    "resolution": {
      "type": "string",
      "description": "Final master resolution selected before creative kickoff"
    },
    "launch": {
      "type": "string"
    },
    "links": {
      "type": "string"
    },
    "constraints": {
      "type": "string"
    },
    "files": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "size": {
            "type": "number"
          }
        },
        "required": [
          "key",
          "name",
          "size"
        ],
        "additionalProperties": false
      }
    }
  },
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "error": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
🟡create_upload_url(filename, size, order_token)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "filename": {
      "type": "string"
    },
    "size": {
      "type": "number",
      "description": "File size in bytes"
    },
    "order_token": {
      "type": "string",
      "description": "From get_order"
    }
  },
  "required": [
    "filename",
    "size",
    "order_token"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "key": {
      "type": "string"
    },
    "error": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
🟡submit_custom_inquiry(name, email, company, product, goal, ...)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "description": "Customer's real email; the confirmation link goes here"
    },
    "company": {
      "type": "string"
    },
    "product": {
      "type": "string"
    },
    "goal": {
      "type": "string",
      "description": "What they want to make and why, in real detail (30+ chars; placeholders rejected)"
    },
    "audience": {
      "type": "string"
    },
    "channels": {
      "type": "string"
    },
    "resolution": {
      "type": "string",
      "description": "Required production target: 1080p, 4K mastered, or not applicable for still images"
    },
    "launch": {
      "type": "string"
    },
    "links": {
      "type": "string"
    },
    "constraints": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    }
  },
  "required": [
    "name",
    "email",
    "goal"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "status": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "error": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
🟢get_project_status(session_id)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "session_id": {
      "type": "string",
      "description": "Stripe checkout session id (cs_...)"
    }
  },
  "required": [
    "session_id"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "paid": {
      "type": "boolean"
    },
    "package": {
      "type": "string"
    },
    "total": {
      "type": "string"
    },
    "deposit": {
      "type": "number"
    },
    "stage": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
🟢get_inquiry_status(inquiry_id)

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.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "inquiry_id": {
      "type": "string",
      "description": "From submit_custom_inquiry"
    }
  },
  "required": [
    "inquiry_id"
  ],
  "additionalProperties": false
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string"
    },
    "stage": {
      "type": "string"
    },
    "updated": {
      "type": "string"
    },
    "note": {
      "type": "string"
    },
    "error": {
      "type": "string"
    }
  },
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet8 Tools
verifiziertVersion nicht aufgezeichnet8 Tools