API Documentation

MCP Server

Connect Problembo AI services to ChatGPT, Claude, Cursor, VS Code, and other assistants through the Model Context Protocol: server URL, sign-in, tools, billing, and errors.

What it is

The Problembo MCP server connects Problembo AI services to assistants that support the Model Context Protocol: ChatGPT, Claude, Claude Code, Cursor, VS Code, Codex, and others. Describe the task in plain words, such as "remove the background from this photo" or "make a 5-second video from this picture". The assistant picks the service and model, checks the price, runs the task, and returns a link to the result.

The server runs on the same Client API as REST integrations: the same models, prices, parameter validation, and task history in your account.

Server URL:

https://mcp.problembo.com/mcp

The transport is Streamable HTTP and sign-in is OAuth with your Problembo account. For headless server use, an also works.

What is available

ServiceTool
Image generationgenerate_image
AI photo editor, image extensionedit_image
Video generationgenerate_video
Image upscaling and enhancementupscale_image
Background removalremove_background
Object removalsubmit_task
Virtual try-onsubmit_task
Text to speechsubmit_task
Music generationsubmit_task
Video enhancement: upscale, FPS, stabilizationsubmit_task
Image model training (LoRA)submit_task

The assistant gets the current list with the list_services tool, and models with their options with list_models.

Connect

Every client uses the same URL: https://mcp.problembo.com/mcp. On first use, the client opens the Problembo sign-in page. Sign in and allow access. If you have no account yet, one is created when you sign in.

Client menus change over time, and custom MCP server support depends on the client's plan. If the steps below do not match your interface, look for a section named Connectors, Apps, Plugins, or MCP.

ChatGPT

  1. Open ChatGPT settings and the section for connected apps (Apps / Plugins).
  2. Add a custom MCP server named Problembo with the URL https://mcp.problembo.com/mcp.
  3. Choose OAuth authentication and sign in to your Problembo account.
  4. In a new chat, select Problembo in the tools list and describe your task.

Claude and Claude Desktop

  1. Open Settings → Connectors and choose Add custom connector.
  2. Enter the name Problembo and the URL https://mcp.problembo.com/mcp.
  3. Click Connect and sign in to your Problembo account.

The connector belongs to your Claude account, so it works both on the web and in Claude Desktop.

Claude Code

claude mcp add --transport http --scope user problembo https://mcp.problembo.com/mcp

Then run /mcp in a Claude Code session and complete the sign-in in your browser.

Cursor

Add the server to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):

{
  "mcpServers": {
    "problembo": {
      "url": "https://mcp.problembo.com/mcp"
    }
  }
}

VS Code

Run MCP: Add Server, choose HTTP, and enter the server URL. Or add it to .vscode/mcp.json:

{
  "servers": {
    "problembo": {
      "type": "http",
      "url": "https://mcp.problembo.com/mcp"
    }
  }
}

Codex

codex mcp add problembo --url https://mcp.problembo.com/mcp
codex mcp login problembo

Connect with an API token

For scripts, CI, and clients without browser sign-in, send an API token in the Authorization header:

{
  "mcpServers": {
    "problembo": {
      "url": "https://mcp.problembo.com/mcp",
      "headers": {
        "Authorization": "Bearer pbo_pat_YOUR_TOKEN"
      }
    }
  }
}

A token grants full access, including paid tasks. Do not commit it to a repository.

Permissions

With OAuth, the client requests two permissions:

PermissionWhat it allows
problembo:readServices and models, balance, price estimates, status and results of your own tasks
problembo:generateRunning paid tasks and uploading input files

Access granted to an assistant works only on the MCP server: it cannot open the website or other Problembo APIs.

Billing

  • MCP tasks are paid only from the paid balance; the bonus balance is not used for them. Top up on the Billing page.
  • Prices are the same as in the API: you pay for the tasks you run, with no subscription.
  • The estimate_price tool returns the price and expected run time before launch and checks whether your balance covers it. Nothing is started or charged.
  • Starting a task reserves its price. If the task fails, the reserve is returned.
  • Every task response includes billing: state is NONE, RESERVED (held while the task runs), CHARGED, or REFUNDED, and amountUsd is the amount.
  • Repeating a call with the same idempotencyKey does not create a second task or charge twice.

How a task runs

  1. The assistant calls a service tool, such as edit_image.
  2. The server waits up to 25 seconds. Fast tasks return the result right away.
  3. If the task is still running, the assistant gets a taskId and checks it with get_task. Video, LoRA training, and other long tasks can take several minutes.
  4. The finished result is a list of files with download links.

Result links are temporary. Save files you need to keep. Every task started through MCP also appears in your task history.

Input files

Tools accept a file in one of these ways:

  • a public http/https URL — Problembo downloads the file;
  • the URL of an earlier result — for example, to upscale an image you just generated;
  • a fileId for local files: create_upload returns an upload URL, the file is sent with one PUT request, and complete_upload confirms it.

Uploading with create_upload requires a client that can send HTTP requests, such as Claude Code, Codex, Cursor, and other agents with file and network access. In chat clients without that ability, pass the file as a public URL.

Tools

ToolWhat it doesPermission
list_servicesLists services and the tool that runs eachread
describe_serviceParameters, notes, and result format of a serviceread
list_modelsModels of a service: ids, result counts, aspect ratios, resolutionsread
get_balancePaid and bonus balance and the reserved amountread
estimate_pricePrice, expected time, and whether the balance covers it — without a runread
get_taskStatus, result, and billing of a taskread
create_uploadUpload URL for an input filegenerate
complete_uploadConfirms an uploaded filegenerate
generate_imageGenerates images from text and referencesgenerate
edit_imageEdits photos by a text instructiongenerate
generate_videoGenerates video from text, frames, and referencesgenerate
upscale_imageUpscales and enhances imagesgenerate
remove_backgroundRemoves the backgroundgenerate
submit_taskRuns other services with parameters from describe_servicegenerate

Tool parameter schemas are built from the Client API contracts, so they match the REST API.

Example requests to the assistant

  • "How much money do I have on Problembo?"
  • "Use Problembo to generate a linocut-style coffee shop logo, square, 2 variants. Tell me the price first."
  • "Replace the background of this photo with a winter forest: https://example.com/photo.jpg"
  • "Remove the background from the picture and upscale the result 2×."
  • "Make a 5-second video where the camera slowly zooms into this frame."
  • "Read this text aloud in a male voice."

Errors

A failed tool call returns isError: true with an error object:

{
  "error": {
    "key": "BILLING_ACCESS_DENIED",
    "message": "..."
  }
}
keyWhat happenedWhat to do
BILLING_ACCESS_DENIEDNot enough paid balanceTop up the balance
PARSE_TASKInvalid or unsupported parametersCheck the model and options with list_models
SECUREThe connection lacks a permissionReconnect the server and allow problembo:generate
UNAUTHENTICATEDNot signed in, or access expiredSign in again in the client settings
NOT_FOUNDThe task does not exist or belongs to another accountCheck the taskId
SD_PROMPT_NOT_SAFEThe request did not pass moderationRephrase the request

See the full list of keys in the API documentation.

Testing and debugging

To check the server without an assistant, use the MCP Inspector:

npx @modelcontextprotocol/inspector

Choose the Streamable HTTP transport, enter https://mcp.problembo.com/mcp, and sign in with OAuth or add the Authorization: Bearer pbo_pat_… header.

Disconnect

Remove the server in your client settings. If you connected with an API token, revoke it in your account.

Support

Include the taskId and the client name (ChatGPT, Claude, Cursor, and so on) when you contact us.


Last updated: October 20, 2026