# Fal.ai MCP connector

The Fal.ai connector lets Claude, ChatGPT, Cursor, and any MCP client browse Fal.ai models, estimate and track model spend, review request history, and organize generated assets into collections, with every action logged under the person who made it.

Source: https://elaichi.ai/connectors/falai/

## Facts

| | |
| --- | --- |
| Application | Fal.ai |
| Category | Artificial Intelligence |
| AI tools | 74 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 74 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Fal.ai is connected

- Which Fal.ai models cost us the most this month?
- Show failed Fal.ai requests by endpoint this week.
- List Fal.ai workflows created since Monday and their owners.

## Connect Fal.ai in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Fal.ai.
2. Optionally set Share with, then press Connect.
3. Paste a Fal.ai API key. One person generates a token in Fal.ai and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Fal.ai tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Fal.ai to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Fal.ai to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Fal.ai to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Fal.ai to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Fal.ai tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Fal.ai through Elaichi

### Pick the right model before you build

Engineering. Ask which Fal.ai models are available for a task, compare their pricing side by side, and get a cost estimate for the volume you expect before anyone writes a line of code.

### Reconcile the month's Fal.ai bill

Finance. Pull billing events and usage by model for the period, match them against the invoice, and spot which endpoints drove the spike.

### Keep generated assets in order

Creative. Find assets by tag, group them into collections for a campaign or client, favorite the keepers, and move the rest where they belong.

### See which endpoints are actually used

Product. Review request analytics and per-endpoint traffic to learn which models your features lean on and which ones nobody calls anymore.

### Trace a failed or slow request

Operations. Search Fal.ai request history for a specific job, check what was sent and when, and clean out old request payloads in bulk when they are no longer needed.

### Document and reuse existing workflows

Engineering. List the workflows already set up in Fal.ai, open one to see how it is wired, and create a new one from a plain description of the steps.

## Frequently asked questions

### How do I connect Fal.ai to Claude?

Connect Fal.ai in Elaichi first: you paste a Fal.ai API key into Elaichi, and that is the whole sign-in step, with no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in to Elaichi when Claude asks, and Fal.ai is available in your conversations.

### Does Fal.ai work with ChatGPT and Cursor as well as Claude?

Yes. Once Fal.ai is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client, and the Elaichi Agent. You connect Fal.ai once and every client picks it up.

### What can an AI agent actually do with my Fal.ai data?

An agent can list the Fal.ai models you have access to, compare their prices, estimate what a batch of requests will cost, and report usage, analytics, and billing events by model or endpoint. It can search past requests, list and create workflows, and organize generated assets into collections, including favoriting, moving, or deleting a collection. Because Fal.ai exposes many actions, short concrete asks like "show usage by model for March" work better than long paragraphs.

### Does connecting Fal.ai give the AI access to my whole Fal.ai account?

The agent works inside the access of the Fal.ai API key that was connected, so it can only see the models, requests, assets, and billing the key itself can see. Elaichi can narrow that further with per-action restrictions, for example allowing usage reports but not deletions. Elaichi never widens access beyond what Fal.ai already grants.

### Can my team share one Fal.ai connection?

Yes. One person connects Fal.ai in Elaichi and shares the connection with a team, and nobody else ever handles the Fal.ai API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the actual person behind every request, even though the connection is shared.

### Can I stop an agent from deleting or changing things in Fal.ai?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Fal.ai models, usage, and assets while blocking collection deletion or bulk removal of request payloads. A blocked action is never advertised to Claude, ChatGPT, or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a Fal.ai connection when someone leaves?

Offboarding a person in Elaichi ends their access to Fal.ai and every other connector at once, without touching the Fal.ai key. A shared Fal.ai connection keeps working for everyone else on the team. If you ever want Fal.ai gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor, and every other client at the same time.

## All 74 Fal.ai tools

Every tool below is callable through https://api.elaichi.ai/mcp once Fal.ai is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Fal.ai models** (List). List and search fal model endpoints. Returns a model object with endpoint_id and metadata. No required parameters. Supports filtering by endpoint_id, q, category, status, and expand.
- **List all Fal.ai models pricings** (List). List pricing for fal model endpoints. Returns: next_cursor, has_more, prices. Accepts 1-50 endpoint IDs. Required: endpoint_id.
- **Create a Fal.ai pricing estimate** (Create). Estimate usage costs for fal endpoints. Returns: estimate_type, total_cost, currency. Use historical_api_price with call_quantity per endpoint, or unit_price with unit_quantity per endpoint.
- **List all Fal.ai models usages** (List). List fal model usage records for your workspace. Returns paginated time_series buckets, next_cursor, and has_more. Optional: start, end, endpoint_id, api_key_id, login_username, timeframe, expand.
- **List all Fal.ai models analytics** (List). List time-bucketed analytics for fal model endpoints. Returns time_series buckets with per-bucket metrics (request_count, success_count, latency percentiles, error breakdowns), plus next_cursor and has_more. Use expand to choose which metrics are populated. Required: endpoint_id.
- **List all Fal.ai models billing events** (List). List individual billing events in fal. Returns: next_cursor, has_more, billing_events. Date range capped at 90 days and max 10,000 records per page.
- **Fal.ai request payloads bulk delete** (Delete). Delete request payloads and CDN output files for a specific fal.ai request. Returns: cdn_delete_results. Only output CDN files are deleted; input files may be shared with other requests. This action is irreversible. Required: request_id.
- **List all Fal.ai models requests by endpoints** (List). List requests by endpoint for one or more fal models. Returns: request_id, endpoint_id, started_at, sent_at, ended_at, status_code, duration, json_input, json_output. Accepts 1-50 endpoint IDs as comma-separated values. Defaults to the last 24 hours unless request_id is provided. Required: endpoint_id.
- **List all Fal.ai serverless requests by endpoints** (List). List serverless requests for one or more fal endpoints owned by the authenticated user. Returns: request_id, endpoint_id, started_at, sent_at, ended_at, status_code, duration, json_input, json_output, runner_id, billable_units. Supports 1–50 endpoint IDs. Required: endpoint_id.
- **List all Fal.ai requests searches** (List). Search and filter your fal request history. Supports semantic search via query, image_url, or video_url; filtered browse; or a combination of both. Returns request items with request_id, endpoint_id, started_at, sent_at, status_code, and duration. Optional: endpoint_id, endpoint, exclude_api_requests, only_api_requests, min_similarity. query, image_url, and video_url are mutually exclusive.
- **List all Fal.ai workflows** (List). List workflows for the authenticated fal user. Returns: name, title, user_nickname, created_at, thumbnail_url, description, tags, endpoint_ids. Supports optional search by name or title and filtering by used_endpoint_ids.
- **Create a Fal.ai workflow** (Create). Create a new workflow in fal. Returns the created workflow including name, title, user_nickname, created_at, is_public, and contents. Workflow names must be unique within your namespace. Required: name, title, contents.
- **Get single Fal.ai workflow by ID** (Get). Get detailed information about a specific fal workflow, including its full contents/definition. Returns the workflow object including its name, title, user_nickname, created_at, is_public, and contents. Required: username, workflow_name.
- **List all Fal.ai assets** (List). Browse and semantically search fal assets across media, uploads, favorites, collections, tags, and character references. Returns asset records with vector_id, request_id, url, type, title, endpoint, created_at, source, prompt, width, height, content_type, is_favorited, collection_ids, tags, and similarity.
- **Get single Fal.ai asset by ID** (Get). Get a single fal asset by vector id. Returns the asset object under the `asset` key, including vector_id, request_id, url, type, title, endpoint, created_at, source, prompt, width, height, content_type, is_favorited, collection_ids, tags, and similarity. Required: id.
- **List all Fal.ai asset tags** (List). List asset tags for a fal asset by vector id. Returns each tag with id, name, and created_at. Vectors not saved as assets return an empty list. Required: vector_id.
- **List all Fal.ai assets collections** (List). List asset collections in the authenticated user's fal Assets library. Returns: collections, name, description.
- **Create a Fal.ai assets collection** (Create). Create an asset collection in the authenticated user's fal Assets library. Returns: collection, name, description. Required: name.
- **Get single Fal.ai assets collection by ID** (Get). Get an asset collection by id from the authenticated user's fal Assets library. Returns: collection, id, type, name, description, icon, color, cover_image_url, character_identifier, parent_collection_id, is_favorited, filters, asset_count, created_at, updated_at. Required: id.
- **Update a Fal.ai assets collection by ID** (Update). Update an asset collection by id in the authenticated user's fal Assets library. Returns: collection, id, type, name, description, icon, color, cover_image_url, character_identifier, parent_collection_id, is_favorited, filters, asset_count, created_at, updated_at. Required: id.
- **Delete a Fal.ai assets collection by ID** (Delete). Delete an asset collection by id from the authenticated user's fal Assets library. Returns an empty 204 response on success. Required: id.
- **Create a Fal.ai collection favorite** (Create). Favorite an asset collection in the authenticated user's fal Assets library. Returns the collection object with its id, name, type, is_favorited status, and timestamps. Required: collection_id.
- **Create a Fal.ai collection unfavorite** (Create). Unfavorite an asset collection in fal. Returns the collection with id, name, type, is_favorited, and updated_at. Required: collection_id.
- **Create a Fal.ai collection move** (Create). Move a manual asset collection in fal under another collection or to the top level. Returns the moved collection object including its id, type, name, parent_collection_id, and updated_at. Only manual collections can be moved; nesting is limited to 5 levels and cannot create a cycle. Required: collection_id, parent_collection_id.
- **List all Fal.ai collection assets** (List). Browse assets in a fal collection. Returns: assets, next_cursor, has_more, total_count. Supports semantic text/image/video search and filters for media_type, source, section, tag_id, and tag_mode. Required: collection_id.
- **Create a Fal.ai collection asset** (Create). Add an asset to a fal collection. Returns: success. Provide either request_id or vector_id. Required: collection_id.
- **Fal.ai collection assets bulk delete** (Delete). Remove an asset from a fal collection. Returns an empty 204 response on success. Provide either request_id or vector_id. Required: collection_id.
- **List all Fal.ai assets characters** (List). List asset characters in the authenticated user's fal Assets library. Returns each character's id, name, type, description, reference_images, is_favorited, created_at, updated_at, and asset_count.
- **Create a Fal.ai assets character** (Create). Create an asset character in the authenticated user's fal Assets library. Returns the new character object including id, name, type, description, reference_images, created_at, and updated_at. Required: name, description, reference_images.
- **Get single Fal.ai assets character by ID** (Get). Get a single asset character by id from the authenticated user's fal Assets library. Returns the character object including id, name, type, description, reference_images, created_at, and updated_at. Required: id.
- **Update a Fal.ai assets character by ID** (Update). Update an asset character in the authenticated user's fal Assets library. Returns the updated character object including id, name, type, description, reference_images, created_at, and updated_at. Required: id.
- **Delete a Fal.ai assets character by ID** (Delete). Delete an asset character by id from the authenticated user's fal Assets library. Returns an empty 204 response on success. Required: id.
- **Create a Fal.ai character favorite** (Create). Favorite a fal asset character in the authenticated user's Assets library. Returns the favorited character object including its id, name, is_favorited, created_at, and updated_at. Required: character_id.
- **Create a Fal.ai character unfavorite** (Create). Unfavorite a character in fal Assets. Returns the `character` record with id, name, type, is_favorited, and created_at. Required: character_id.
- **List all Fal.ai assets tags** (List). List asset tags in the authenticated user's fal Assets library. Returns: id, name, created_at.
- **Create a Fal.ai assets tag** (Create). Create an asset tag in the authenticated user's fal Assets library. Returns: tag, name. Required: name.
- **Fal.ai assets tags bulk update** (Update). Set the full replacement set of tags for an asset in fal. Returns: tags. Required: tag_ids.
- **Update a Fal.ai assets tag by ID** (Update). Update an asset tag in the authenticated user's fal Assets library. Returns: tag. Required: id.
- **Delete a Fal.ai assets tag by ID** (Delete). Delete an asset tag in the authenticated user's fal Assets library by id. Returns an empty 204 response on success. Required: id.
- **Fal.ai assets tags assign** (Assign). Assign a tag to a fal asset. Provide a request_id or vector_id to identify the asset; unresolved references are materialized before the tag is added. Returns: success. Required: tag_id.
- **Fal.ai assets tags unassign** (Action). Remove a tag from a fal asset. Provide a request_id or vector_id to identify the asset. Returns an empty 204 response on success. Required: tag_id.
- **Create a Fal.ai assets upload** (Create). Upload a media asset to the authenticated user's fal Assets library. Returns the uploaded asset in the `asset` field (vector_id, type, url, created_at, tags, and collection_ids). Required: url, type.
- **Create a Fal.ai assets favorite** (Create). Favorite an asset in fal by providing request_id or vector_id. Unresolved references are materialized before the favorite state is applied. Returns: is_favorited.
- **Create a Fal.ai assets unfavorite** (Create). Unfavorite a fal asset by request_id or vector_id. Returns: is_favorited.
- **List all Fal.ai files acls** (List). Get the Access Control List currently applied to a fal CDN file. Returns the ACL object including default decision and rules with per-user user and decision values. Required: url.
- **Fal.ai files acls bulk update** (Update). Replace the Access Control List of a fal CDN file. Returns the ACL object including default decision and rules with per-user user and decision values. Rules referencing unknown users are dropped. Required: url, default.
- **Create a Fal.ai files sign** (Create). Create a signed URL for a fal CDN file. Returns: signed_url. expiration_seconds must be between 1 and 604800 seconds (7 days). Required: url, expiration_seconds.
- **List all Fal.ai storage settings** (List). Get the account-level fal storage settings applied to newly uploaded CDN files. Returns: expiration_duration_seconds, initial_acl. Both fields are null if settings have never been saved.
- **Fal.ai storage settings bulk update** (Update). Replace the account-level fal storage settings for newly uploaded CDN files. Returns: expiration_duration_seconds, initial_acl.default, and initial_acl.rules. Send the full configuration because omitted or null fields are reset to system defaults.
- **List all Fal.ai serverless analytics** (List). List time-bucketed analytics for your fal serverless endpoints. Returns time_series buckets and pagination fields next_cursor and has_more. expand must include at least one of time_series or summary plus a metric. Required: endpoint_id.
- **List all Fal.ai queues** (List). Get the current queue size for a specific fal application. Returns the app queue status object, which contains only queue_size, the number of pending requests. Required: owner, name.
- **Fal.ai queues bulk delete** (Delete). Flush all pending requests from a fal application queue. Returns an empty 204 response on success. This operation is irreversible and cancels pending requests; in-progress requests are not affected. Required: owner, name.
- **List all Fal.ai files lists** (List). List files and folders in the root of your fal project storage. Returns: path, name, created_time, updated_time, is_file, size, checksum_sha256, checksum_md5.
- **Get single Fal.ai files list by ID** (Get). List files and folders in a specific fal project directory. Returns: path, name, created_time, updated_time, is_file, size, checksum_sha256, checksum_md5. Required: dir.
- **List all Fal.ai files** (List). Download a file from fal by its path. Returns the raw file stream as application/octet-stream. Required: file.
- **Create a Fal.ai file URL** (Create). Upload a file into fal from a publicly accessible URL. Returns a boolean indicating whether the upload was initiated successfully. Required: file, url.
- **Create a Fal.ai file local** (Create). Upload a local file to fal. Returns a boolean success flag on completion. Optionally set unzip to true to extract ZIP uploads. Required: target_path.
- **List all Fal.ai serverless metrics** (List). Get Prometheus-compatible serverless metrics from fal. Returns a plain-text Prometheus exposition format string containing runner, queue, request, and latency metrics. No caller parameters required.
- **Create a Fal.ai logs history** (Create). Retrieve paginated historical log entries from fal. Returns: next_cursor, has_more, items. All query parameters are optional; label filter objects require key and value.
- **Create a Fal.ai logs stream** (Create). Start a live Server-Sent Events stream of fal logs matching the provided filters. Returns a text/event-stream of log entries including timestamp, level, message, app, revision, and labels.
- **List all Fal.ai serverless usages** (List). List time-bucketed serverless compute usage for your fal account. Returns next_cursor, has_more, and time_series with app, machine_type, quantity, cost, currency, and is_surge. Filter by start, end, app, search, timeframe, timezone, and expand.
- **List all Fal.ai compute instances** (List). List compute instances in fal. Returns: next_cursor, has_more, instances.
- **Create a Fal.ai compute instance** (Create). Create a new compute instance in fal. Returns the created instance including id, instance_type, region, and status. Required: instance_type, ssh_key.
- **Get single Fal.ai compute instance by ID** (Get). Get a single compute instance by id in fal. Returns: id, instance_type, region, sector, ip, status, creator_user_nickname. Required: id.
- **Delete a Fal.ai compute instance by ID** (Delete). Delete a compute instance by id in fal. Returns an empty 204 response on success. Required: id.
- **List all Fal.ai keys** (List). List fal API keys in the authenticated workspace. Returns: next_cursor, has_more, keys.
- **Create a Fal.ai key** (Create). Create a new fal API key with a friendly alias. Returns: key_id, key_secret, key. The key_secret is returned only once. Required: alias.
- **Delete a Fal.ai key by ID** (Delete). Delete a fal API key by id. Returns an empty 204 response on success. Deletion is irreversible and idempotent. Required: id.
- **List all Fal.ai account billings** (List). Get billing information for the authenticated fal account. Returns: username, credits. The credits object includes current_balance and currency when expanded. Optional: expand.
- **List all Fal.ai account focus** (List). Download a FOCUS compliant billing report from fal. Returns a CSV report containing usage charges, credits, and taxes. Enterprise-only; usage estimates support a maximum 90-day lookback. Required: source.
- **List all Fal.ai account model access controls** (List). Download the model access controls report for your fal organization. Returns a CSV string with endpoint ID, title, category, enterprise readiness, and resolved UI and API access states (ALLOWED or BLOCKED). Enterprise customers with model access controls enabled only.
- **List all Fal.ai organization teams** (List). List all teams in your fal organization. Returns the teams array, where each team includes username, name, is_org_root, and created_at. Enterprise organizations only.
- **List all Fal.ai organization usages** (List). List organization-wide usage records across all fal teams and product lines. Returns: next_cursor, has_more, time_series, summary. Supports filtering by team, product, endpoint, and date range. At least one of 'time_series' or 'summary' must be requested via expand. Enterprise-only.
- **List all Fal.ai metas** (List). Get platform metadata from fal. Returns: webhook_ip_ranges.
