Skip to main content
Connect your favorite app to fal and start making images, videos, and audio. The fal MCP server lets your assistant find models, check schemas and pricing, upload inputs, and run generations. Use the fal plugin in ChatGPT, or connect an OAuth-compatible MCP client to:
The transport is Streamable HTTP and authentication is OAuth. Sign in through your browser. You don’t need to create an API key or add an authorization header for these connections.
This is the model-generation connection. The separate Platform MCP provides account operations and serverless debugging. The documentation MCP searches public documentation without accessing your account or generating media.

Setup

Connect with browser sign-in using https://mcp.fal.ai/mcp-relay. Choose your MCP client for its dedicated setup guide.

ChatGPT

Install the fal plugin and connect your account

Claude

Add a connector and sign in through your browser

Claude Code

Add the remote server, then authenticate with /mcp

Codex CLI

Add the server and run codex mcp login fal

Cursor

Add the server URL and authorize the connection

Other tools

Copy the URL into a Streamable HTTP and OAuth client

genmedia CLI

A separate terminal connection using a local API key

Check the connection

Ask your assistant:
A successful connection returns model search results. If authentication fails, complete the client’s browser sign-in and authorization. Never paste an OAuth token or API key into chat.

Try your first generation

When fal tools are available, paste one of these prompts into your app:
Generations use fal credits. Confirm the estimated cost before approving generation. These prompts ask the assistant to request approval; they do not add a server-side approval gate.

Active MCP account

In MCP & connectors, select the Active MCP account. Uploads and new generations use this account and its credits across your connected apps. You can also open Account settings, open an account’s row menu, and choose Use for MCP. Your personal account is the default until you choose another. The preference applies to new operations across your OAuth MCP connections, including the plugin. No reconnect or plugin reinstall is needed. The website’s account switcher is separate. Existing jobs stay with the account that started them. If access to the selected account fails, operations stop instead of using personal credits. API-key connections, including genmedia, keep using the account that owns their key.

How it works

Your client discovers OAuth through the relay, opens browser sign-in, and uses the authorized connection to call fal tools. The relay resolves your active MCP account for new operations. Credentials should stay in the client’s connection settings, outside prompts and project files. The tools cover model discovery, generation, queue management, and uploads. Tool availability can change; use your client’s tool list to see what is enabled.

Documentation-only MCP

To search public guides and API references without connecting an account, use:
This is a separate documentation server. It does not run models or use your fal credits. Connect the model-generation relay above when you want your assistant to generate media.

Available tools

The model-generation server provides these tools:

Tool Reference

search_models

Search fal’s model catalog by keyword, category, or both. Parameters: Example response:

get_model_schema

Get the full input/output schema for a specific model. Use this before run_model to understand what parameters are accepted. Parameters:

run_model

Run a fal model through the queue. The server waits up to 45 seconds by default. It returns completed with the result or processing with a request ID and URLs to check the job. Parameters: Example:
For long-running models (video, 3D, training), use submit_job → check_job → get_job_result from the start.If run_model returns processing, keep its request_id and pass its status_url to check_job. Respect poll_after_seconds when present. Once check_job returns status: "COMPLETED", call get_job_result with the returned response_url. Do not resubmit to check progress: another run_model or submit_job call creates a new billable job.

submit_job

Submit a job without waiting for the result. Returns immediately with a request_id you can use with check_job. Parameters:

Response recipe

Both run_model and submit_job return a recipe object with the endpoint ID and submitted inputs. These response excerpts show how store_payload changes that object.
With store_payload: false, recipe.input is absent and recipe.input_omitted is true.

check_job

Check a job’s status. Use get_job_result to fetch the output or cancel_job to cancel it. Parameters:

get_job_result

Fetch the result of a completed job. Parameters:

cancel_job

Cancel a queued or running job. Parameters:

upload_file

Upload a file to fal’s CDN for use as model input. Choose a signed local upload with prepare_upload, a public url, or complete base64 data. Parameters: For a local file up to 90 MB, call upload_file with prepare_upload: true, its basename as file_name, and its size as file_size. Upload the raw bytes from your client to the returned upload_url with HTTP PUT and the returned headers. Do not add an Authorization header or follow redirects; keep the signed upload URL private. Use file_url as model input only after the PUT succeeds. This flow uses your OAuth connection; no separate API key is needed. Use base64 for small files (under 1 MB), or provide a public file URL. The hosted server cannot read a local path. An app must expose the attachment bytes or a URL before your assistant can upload it. URL and base64 uploads return a cdn_url for model input (for example, image_url or audio_url). Prepared uploads return upload_url and file_url; use file_url only after a successful 2xx PUT.

get_pricing

Get model pricing before generation. Results can be cached for five minutes. If the response is throttled, respect retry_after_seconds before retrying. Parameters:

recommend_model

Describe what you want to create and get curated starting recommendations and model candidates. Candidate rank follows Explore discovery order; it is not a quality or speed score. Parameters:

search_docs

Search the fal documentation for guides, API references, and code examples. Parameters:

FAQ

Select the team as Active MCP account in MCP & connectors, or choose Use for MCP from its row menu in Account settings. The website account switcher is separate. API-key connections keep using the account that owns their key.