Remote MCP
Add Aibubu's MCP URL to Claude, ChatGPT, Cursor and other AI tools, sign in to authorize, and generate images and videos right there.
Aibubu runs a remote MCP server at:
https://aibubu.ai/mcpThere are two ways to connect:
| Method | Best for | How |
|---|---|---|
| Account sign-in (recommended) | Most people | Add the URL in your AI tool, sign in to Aibubu in the browser and click Allow. No API key needed |
| API key | Developers, scripts, or clients without sign-in support | Send Authorization: Bearer sk_aibubu_xxx; see "Connect with an API key" below |
Both spend credits from your account, billed the same way as the web app.
Tools
| Tool | Kind | Purpose |
|---|---|---|
list_models | Read | List available models, filterable by image, video, text or keyword |
get_model | Read | Show a model's parameter schema and pricing notes |
quote | Read | Estimate credits for given parameters without creating a task |
get_balance | Read | Show available credits |
upload_image | Write | Upload a base64-encoded reference image (up to 30 MiB per request, so about 22 MB of image) and get a URL valid for about 15 minutes, for the next generation |
generate_image | Write, spends credits | Submit an image generation task; pass idempotency_key so network retries never double-submit |
generate_video | Write, spends credits | Submit a video generation task |
get_task | Read | Get task status and results |
wait_task | Read | Wait up to about 60 seconds on the server; returns the current state if unfinished, so call it again |
Generation tools are marked as write operations, so most clients ask you to confirm before calling them.
Connect with your account (recommended)
The first time you connect, your AI tool opens the Aibubu authorization page in your browser:
- Sign in to Aibubu (skipped if you already are).
- Choose which workspace's credits to use (personal by default) and set a daily credit limit (300 by default; 0 means no limit).
- Click Allow and return to your AI tool.
Your first connection earns bonus credits; the authorization page shows the amount.
Claude (web and desktop)
In Claude, go to Settings → Connectors and choose "Add custom connector":
- Name:
Aibubu - Remote MCP server URL:
https://aibubu.ai/mcp
Click Connect, then sign in and authorize.
ChatGPT
In ChatGPT settings, create a custom connector (enable developer mode when ChatGPT asks), set the URL to https://aibubu.ai/mcp, choose OAuth authentication, then sign in and authorize.
Claude Code
claude mcp add --transport http aibubu https://aibubu.ai/mcpThen type /mcp in Claude Code and pick aibubu to sign in and authorize.
Or install the official plugin, which bundles the MCP server and the Agent Skill:
/plugin marketplace add aibubu2026/aibubu-skills
/plugin install aibubu-global@aibubuThen run /mcp to authorize as above.
Cursor
Add this to ~/.cursor/mcp.json (global) or .cursor/mcp.json in your project:
{
"mcpServers": {
"aibubu": {
"url": "https://aibubu.ai/mcp"
}
}
}Save, then click the sign-in prompt in Cursor's MCP settings and authorize.
VS Code
Create .vscode/mcp.json in your project:
{
"servers": {
"aibubu": {
"type": "http",
"url": "https://aibubu.ai/mcp"
}
}
}VS Code asks you to sign in when the server starts; authorize when prompted.
Manage and revoke connections
Each authorized AI tool appears under API keys as "Tool name (MCP)", for example "Claude (MCP)". There you can change its daily credit limit, or delete it to disconnect; after deleting, the tool has to be authorized again.
Connect with an API key
For developers, scripts, or clients without sign-in support. Read tools need a key with v1:read; upload and generation need v1:generate. The key's daily credit limit applies.
These examples read the key from AIBUBU_API_KEY. Set it first:
export AIBUBU_API_KEY=sk_aibubu_your_api_keyClaude Code
claude mcp add --transport http aibubu https://aibubu.ai/mcp \
--header "Authorization: Bearer $AIBUBU_API_KEY"Run claude mcp list to confirm aibubu is connected.
Codex
Edit ~/.codex/config.toml:
[mcp_servers.aibubu]
url = "https://aibubu.ai/mcp"
bearer_token_env_var = "AIBUBU_API_KEY"Cursor
Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json in your project:
{
"mcpServers": {
"aibubu": {
"url": "https://aibubu.ai/mcp",
"headers": {
"Authorization": "Bearer ${env:AIBUBU_API_KEY}"
}
}
}
}VS Code
Create .vscode/mcp.json in your project. This prompts for the key on first connect and keeps it out of the file:
{
"inputs": [
{
"type": "promptString",
"id": "aibubu-api-key",
"description": "Aibubu API Key",
"password": true
}
],
"servers": {
"aibubu": {
"type": "http",
"url": "https://aibubu.ai/mcp",
"headers": {
"Authorization": "Bearer ${input:aibubu-api-key}"
}
}
}
}Cherry Studio
Under Settings → MCP Servers → Add Server:
- Type: Streamable HTTP (
streamableHttp) - URL:
https://aibubu.ai/mcp - Headers:
Authorization=Bearer sk_aibubu_your_api_key
Claude Desktop
Claude Desktop's config file only runs local commands, so bridge with mcp-remote (needs Node.js). Edit claude_desktop_config.json:
{
"mcpServers": {
"aibubu": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://aibubu.ai/mcp", "--header", "Authorization:${AIBUBU_AUTH}"],
"env": {
"AIBUBU_AUTH": "Bearer sk_aibubu_your_api_key"
}
}
}
}Keep Authorization:${AIBUBU_AUTH} without a space; the space goes inside the environment variable's value.
Verify
Ask your client:
Use aibubu to list the video models and show my credit balanceIf you get a model list and a balance, the connection works.
Troubleshooting
| Symptom | Fix |
|---|---|
401 or "unauthorized" after signing in | The connection may have been deleted. Check its "(MCP)" entry under API keys, or reconnect from the client |
401 when using an API key | The key isn't reaching the header. Check the variable is set where the client starts |
| Generation fails with a daily limit error | This connection hit its daily credit limit. Raise it under API keys, or try again tomorrow |
Generation returns scope_forbidden | The key lacks v1:generate |
Generation returns insufficient_credits | Not enough credits; top up and retry |
wait_task says the task is still running | Expected. Videos usually take a few minutes; let the client call wait_task or get_task again |

