MCP Server
LiveA hosted Model Context Protocol server so Claude, Cursor, Claude Code and any other MCP-compatible agent can generate images and video through Fluxpool. Nothing to install. In Claude you sign in with your Fluxpool account, with no API key to copy; other clients connect with an API key.
Endpoint · https://mcp.fluxpool.ai/mcp
Auth · OAuth sign-in (Claude), or Authorization: Bearer fp_live_...
Transport · Streamable HTTP (MCP spec 2025-03-26)
Quickstart
Using Claude on the web, desktop or mobile? Add Fluxpool as a connector and sign in: no API key, nothing to install. See Claude below.
For any other MCP client:
-
Create an API key on the
API / MCP Access
page in the Fluxpool app. Keys start with
fp_live_. -
Point your client at
https://mcp.fluxpool.ai/mcpwith the key as a Bearer token. If your client only speaks stdio, use the@fluxpool/mcp-servernpm bridge instead. - Templates for the common clients are below.
Install
The @fluxpool/mcp-server package is a thin
stdio bridge to the hosted MCP endpoint — the transport most Claude and Cursor
installations expect. No global install needed; npx
fetches it on first run.
# Recommended — npx fetches the package on first run, no install step
npx -y @fluxpool/mcp-server
# Or install globally if your client can't run npx
npm install -g @fluxpool/mcp-server
The bridge is stateless — every call proxies to
mcp.fluxpool.ai/mcp, so the tool list
and behaviour stay in sync with the hosted server automatically. Use
version 0.3.0 or later; earlier versions are deprecated.
Claude Desktop
Open Claude Desktop's config file:
- macOS ·
~/Library/Application Support/Claude/claude_desktop_config.json - Windows ·
%APPDATA%\Claude\claude_desktop_config.json
Add an entry under mcpServers:
{
"mcpServers": {
"fluxpool": {
"command": "npx",
"args": ["-y", "@fluxpool/mcp-server"],
"env": {
"FLUXPOOL_API_KEY": "fp_live_YOUR_KEY_HERE"
}
}
}
} Restart Claude Desktop. Six Fluxpool tools appear in the tools panel — Claude can now generate images and video, poll progress, browse your library, and check credits.
Alternative: connect via hosted HTTP endpoint (no npm)
A connector you add in Claude on the web also appears in Claude Desktop,
with no config file. If you'd rather configure it here, newer Claude Desktop
builds accept the direct url form, which
skips the local Node process:
{
"mcpServers": {
"fluxpool": {
"url": "https://mcp.fluxpool.ai/mcp",
"headers": {
"Authorization": "Bearer fp_live_YOUR_KEY_HERE"
}
}
}
} Claude (web, desktop and mobile), no API key
In Claude, open Settings → Connectors → Add custom connector. Enter:
- Name · Fluxpool
- URL ·
https://mcp.fluxpool.ai/mcp - OAuth fields · leave empty
Click Connect. A Fluxpool page opens: sign in if asked, check which account's credits the connector will use, and click Allow. There is no key to copy.
A connector added on the web is also available in Claude Desktop and mobile. Disconnect it any time from the API / MCP Access page in the app.
Claude Code, Cursor and other MCP clients
Any client that speaks the MCP Streamable HTTP transport (spec 2025-03-26 or later) can connect. The config shape usually matches Claude Desktop's — a URL and an Authorization header.
claude mcp add --transport http fluxpool https://mcp.fluxpool.ai/mcp \
--header "Authorization: Bearer fp_live_YOUR_KEY_HERE"
Or add it without --header, run /mcp in
Claude Code and choose Authenticate to sign in through the browser.
Cursor supports MCP via Settings → MCP Servers. If your client uses a different config format, the two values it needs are always the same: the endpoint URL and your Bearer token.
Tools exposed
Six tools become callable from your agent once the connector is wired up:
| Tool | What it does |
|---|---|
| list_models | Return the current model catalog — IDs and media type. Call it first if unsure which model to use. |
| create_generation | Submit an image or video generation. Returns the generation ID immediately (generation is async). |
| check_generation | Poll status of a submitted generation. Returns pending / processing / completed / failed and the URL when ready. |
| get_generation_details | Fetch full metadata — prompt, model, parameters, credits used, output URL. |
| list_library | Browse your saved assets. Filter by media type or model, paginate. |
| get_balance | Report the credit balance of the connected account. |
All tools call the same REST endpoints documented in the API Reference, so behaviour and error shapes match the direct-API path exactly.
Reference inputs (image / video / audio)
create_generation accepts an
inputs array for image-to-image, video-to-video,
and other reference-conditioned models. Every entry has the same shape,
regardless of modality:
{ "type": "image", "source": "url", "value": "https://..." }
{ "type": "image", "source": "data", "value": "data:image/png;base64,..." }
{ "type": "image", "source": "local", "value": "./pic.png" } type—image,video, oraudio.source: "url"— anhttps://URL, passed through untouched.source: "data"— a base64 data-URI. The backend uploads it to S3 for you. Cap: ~4.5 MB decoded per item.source: "local"— a path on the machine running the local MCP bridge (see below).
Local file paths (stdio bridge only)
source: "local" is a convenience of the
@fluxpool/mcp-server npm bridge: the file is
read on your machine, base64-encoded, and forwarded to the hosted endpoint
as a "data" entry. The hosted endpoint itself
never sees "local" — so it works only when
you connect via the local bridge, not the direct HTTPS MCP endpoint.
Auto-compression for large images. Images over 4 MB are automatically resized to 2048 px and re-encoded as webp when the optional sharp dependency is installed:
npm install -g sharp
Without sharp, oversize images are refused
with a message pointing here. Video and audio files above 4 MB are
never auto-compressed — upload them with the
get_upload_url action on
api.fluxpool.ai/initia (up to 20 MB), then pass
the returned URL with source: "url".
Async generations
create_generation returns immediately with a
generation ID and status pending. Your agent
should call check_generation every few
seconds until the status flips to completed,
at which point the URL in the response is fetchable.
Don't fetch the URL before status is completed. create_generation may return a URL alongside
pending, but the object isn't in S3 yet.
Wait for check_generation to report
completed, then fetch. Presigned URLs
expire 1 hour after issue — persist the file promptly if you plan to keep it.
Testing without an MCP client
You can hit the endpoint directly with curl to sanity-check the connection and your API key before wiring it into an agent. Every message is JSON-RPC 2.0 over HTTP POST.
# Handshake — should return protocolVersion + serverInfo
curl -X POST https://mcp.fluxpool.ai/mcp \
-H "Authorization: Bearer fp_live_..." \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize"}'
# List available tools
curl -X POST https://mcp.fluxpool.ai/mcp \
-H "Authorization: Bearer fp_live_..." \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
# Call a tool
curl -X POST https://mcp.fluxpool.ai/mcp \
-H "Authorization: Bearer fp_live_..." \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"list_models","arguments":{}}}' Connected before? The earlier address,
https://api.fluxpool.ai/v1/mcp, is being retired. Point your
client at https://mcp.fluxpool.ai/mcp, which takes an API key
or signing in without one.