Skip to main content
Glama

Xbitto MCP

An MCP server that lets an AI agent (Claude, Cursor, or any MCP client) work in your Xbitto creator account: create short links and paywall links, sell accounts, license keys and other codes by the hundred, and upload galleries, videos and whole dramas (short series in episodes) from your computer.

It runs on your own computer. Files go straight from your computer to your own Bunny account, using upload addresses the Xbitto API signs. They never pass through Xbitto.

Full docs: xbitto.com/docs.

What You Need

  • Node.js 20 or newer

  • An Xbitto account with a verified email and at least one payout wallet

  • An API key: in the Xbitto dashboard, open AI Agents and select Create Key. Copy it right away; it is shown once.

  • For Content: Bunny Stream (videos, dramas) and/or Bunny Storage (galleries) connected in Settings

Related MCP server: Longwave

Install

There is no npm package yet; the server installs straight from this repository.

The dashboard's AI Agents page shows these steps with your new key already filled in.

Claude Desktop: Settings → Developer → Edit Config. Cursor: ~/.cursor/mcp.json. If the file already has "mcpServers", put the xbitto entry inside it, then restart the app.

{
  "mcpServers": {
    "xbitto": {
      "command": "npx",
      "args": ["-y", "github:blackcheet/xbitto-mcp"],
      "env": { "XBITTO_API_KEY": "xb_your_key" }
    }
  }
}

Claude Code

claude mcp add xbitto -e XBITTO_API_KEY=xb_your_key -- npx -y github:blackcheet/xbitto-mcp

ChatGPT Desktop uses the Codex settings: add this to ~/.codex/config.toml (Windows: %USERPROFILE%\.codex\config.toml) and restart ChatGPT.

[mcp_servers.xbitto]
command = "npx"
args = ["-y", "github:blackcheet/xbitto-mcp"]
startup_timeout_sec = 120

[mcp_servers.xbitto.env]
XBITTO_API_KEY = "xb_your_key"

Grok Build: add this to ~/.grok/config.toml, then check it with grok mcp doctor xbitto.

[mcp_servers.xbitto]
command = "npx"
args = ["-y", "github:blackcheet/xbitto-mcp"]
env = { XBITTO_API_KEY = "xb_your_key" }
startup_timeout_sec = 120

The first start downloads the server from GitHub, so it can take a little longer. On Windows, if an app can't start npx, use "command": "cmd" with "args": ["/c", "npx", "-y", "github:blackcheet/xbitto-mcp"].

To stay on one version, add a tag: github:blackcheet/xbitto-mcp#v0.1.0.

What It Can Do

Tool

What it does

whoami

The account the key belongs to, and what it can create right now: links left today, wallets, Bunny, credits, the Sales Fee

list_wallets

Your payout wallets (paywalls use their ids)

list_links, get_link

Your links and their paywall settings

create_link

A short link to a URL (its destination can't be changed later)

set_tag

Tag a link, Codes item or Content item, or remove its tag

get_store, set_store_visibility

Your store (My Store), its tags, logo address, Telegram username and FAQ; show a paid item on it or take it off (which also ends its Featured place)

set_paywall

Sell a link: price, title, description, cover and an optional access code

create_codes

Sell codes (accounts, license keys, proxies, gift cards), each consumer getting their own: created with its codes, from a list or a text file

add_codes

Add codes to an item's stock, up to 1000 in one call, 100 per request

update_codes

Change an item's price, title, label, how many codes one order can buy, or its note

list_codes, get_codes

Your Codes items and how many codes each has left, sold and owed

create_gallery

Sell 1–20 pictures from a folder

add_images

Finish a gallery whose upload was cut off, or add pictures to it

create_video

Sell a video, with an optional preview clip

create_drama

Sell a drama of up to 100 episodes for one price, first few free

add_episodes

Add episodes to the end of a drama

get_upload_job

Follow an upload running in the background

list_content, get_content

Your galleries, videos and dramas, and whether they are ready

list_orders, get_order

Your orders

confirm_payment, reject_payment

Decide a payment on hold (only when you say so)

Every tool that sells something also takes translations: the title and description again in other languages (en, zh, tr, vi, th, es, pt). Consumers see the one in their language; any other language shows the main title and description, and so do share previews.

Example prompts:

  • "Sell the keys in keys.txt as Pro License Keys, 9 USDT each, redeemed at https://example.com/redeem."

  • "Upload the episodes in D:\Drama\Night Train as a drama called Night Train, 3 USDT, first 2 free."

  • "Add a Spanish title and description to my Night Train drama."

Uploads run in the background, so a long drama doesn't block the agent: it starts the upload and checks progress with get_upload_job. Uploads stop if the MCP server stops; what already arrived stays. A dropped connection is tried again; if files still don't arrive, the job says how to send just those: add_images for pictures, add_episodes for episodes.

What a Key Can't Do

An API key can't add or change payout wallets, connect Bunny, change the password, email or other account settings, open, close or rename the store, change its link, logo, Telegram, FAQ or Featured items, buy credits, pay promoters, run paid wallet checks, export or delete the account, or create other keys. Do those in the dashboard. Remove a key any time on the AI Agents page.

Keep the key secret: anyone who has it can create and change your links, Codes and Content items.

Network

The server connects directly to api.xbitto.com and to Bunny. It doesn't use the HTTP_PROXY setting.

Xbitto isn't available in some regions, from the dashboard or from this server. See the Terms.

Settings

Variable

Default

XBITTO_API_KEY

—

Required

XBITTO_API_URL

https://api.xbitto.com

Only for testing against another server

Development

npm install
npm run check   # typecheck, tests, and a check that dist/ is up to date
npm run build   # rebuild dist/index.js (committed, so a GitHub install needs no build)

License

MIT

Available Tools

19 tools
add_episodesAdd EpisodesA

Add episodes to the end of an existing series, numbered after the ones it has. People who bought it see them too.

Inputs: code (required), episodes (required).

add_pool_itemsAdd Pool ItemsA

Add items (license keys, account logins, invite links…) to a Gated link's pool; each delivered order takes one. Give items or file (a text file, one item per line). Blank lines and repeats are dropped, items over 200 characters are skipped and counted, items already in the pool are counted, not added twice. Sent 100 at a time; a pool holds up to 1000 unused items.

Inputs: code (required), file, items.

confirm_paymentConfirm PaymentA
Destructive

Confirm that a payment on hold belongs to this order: the consumer gets what they bought and the sales fee is charged. Only do this after the creator has said so; it can't be undone.

Inputs: orderId (required).

create_seriesCreate SeriesA

Sell a series of episodes (a short drama or web series) for one price, with the first few free. Up to 100 episodes from this computer, numbered in the order given (a folder: natural name order). Files go straight to the creator's Bunny Stream library. It takes orders once at least freeCount + 1 episodes (and at least 2) are ready.

Inputs: price (required), title (required), episodes (required), freeCount (required), +6 more.

create_videoCreate VideoA

Sell a video from this computer, with an optional short preview clip that plays on the landing page. Files go straight to the creator's own Bunny Stream library; the item takes orders once Bunny has finished encoding the main video.

Inputs: price (required), title (required), video (required), description, +4 more.

get_orderGet OrderC
Read-only

One order, with the payment under review if there is one.

Inputs: orderId (required).

get_pool_statsGet Pool StatsC
Read-only

How many items a Gated link's pool has left and how many were given to orders.

Inputs: code (required).

get_upload_jobGet Upload JobA
Read-only

How an upload started by create_gallery, create_video, create_series or add_episodes is going. Without jobId: the recent jobs.

Inputs: jobId.

get_vault_itemGet Vault ItemA
Read-only

One Vault item: its state (uploading, processing, ready), paywall and, for a series, how many episodes are ready.

Inputs: code (required).

list_ordersList OrdersB
Read-only

The account's orders, newest first, ten a page. 'hold' are payments waiting for the creator's decision (confirm_payment / reject_payment).

Inputs: cursor, status.

list_vaultList VaultA
Read-only

The account's Vault items (galleries, videos, series), newest first, ten a page.

Inputs: cursor.

list_walletsList Payout WalletsA
Read-only

The account's payout wallets. Paywalls take their ids (one per network). Wallets can only be added in the dashboard.

Inputs: no named parameters.

reject_paymentReject PaymentA
Destructive

Reject a payment on hold: the order is not delivered. Only do this after the creator has said so; it can't be undone.

Inputs: orderId (required).

set_paywallSet PaywallA

Turn a link into a Gated link (or update its paywall): consumers pay to get the destination and, optionally, an access code. Replaces the paywall's settings, so pass every field you want kept. For one code per order use codeMode 'unique' and fill the pool with add_pool_items.

Inputs: code (required), price (required), title (required), codeMode, +7 more.

whoamiWho Am IA
Read-only

The Xbitto account this API key belongs to, and its credit balance.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.6/5.0

    Scored across 19 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: links, vault items, paywalls, pool items, uploads, orders, and payments are clearly separated. Minor potential overlap between get_upload_job and get_vault_item is resolved by their descriptions, which distinguish upload progress from item state.

    Naming Consistency4/5

    Most tools follow a consistent verb_noun pattern: list_vault, get_link, create_video, add_episodes, confirm_payment, etc. The only notable deviation is whoami, which breaks the convention but remains clear.

    Tool Count4/5

    With 19 tools, the set is slightly above the typical 3–15 range, but the platform covers multiple resource types and workflows. Each tool has a clear, distinct role, so the count is reasonable rather than bloated.

    Completeness4/5

    Core lifecycle operations are covered: content creation for galleries/videos/series, link and paywall setup, pool management, upload tracking, and order/payment decisions. Some gaps exist around deleting or editing links and vault items, but agents can work around these limitations for most workflows.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables agents to manage a creator business on the vips platform, including posting content, managing subscriptions, handling payments, and going live. Provides tools for earnings, analytics, and subscriber management via MCP tools.
      53 npm
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to turn long-form episodes into Shorts, thumbnails, show notes and a podcast RSS feed, then publish them to the creator's own YouTube channel using OAuth-based, credential-free access. It exposes a deny-by-default set of read, create and step-up-approved publish tools so agents can run a creator's clip pipeline end to end without holding API keys or Google credentials.
      1
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Enables AI clients to discover current fal.ai model schemas and pricing, submit only approved generation batches, manage assets, collections, tags, characters, and CDN access settings, and use isolated private account profiles through shared validated tools.
      66
      100 npm
      AGPL 3.0