Remote MCP
Connect Aibubu to Claude Code, Codex, Cursor, VS Code, Cherry Studio and Claude Desktop with an MCP URL and an API key; nothing to install.
Aibubu runs a remote MCP server over Streamable HTTP, authenticated with your API key:
| Item | Value |
|---|---|
| URL | https://aibubu.ai/mcp |
| Auth | Header Authorization: Bearer sk_aibubu_xxx |
| Scopes | Read tools need v1:read; upload and generation need v1:generate |
MCP shares authentication, billing and the daily credit limit with the /v1 API.
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.
Configure your client
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 |
|---|---|
Connection fails with 401 | The key isn't reaching the header. Check the variable is set where the client starts |
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 |

