fal
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@fal generate an image of a sunset over mountains using stable-diffusion-xl"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
fal MCP Server
A Model Context Protocol (MCP) server for interacting with fal.ai models and services. This project was inspired by am0y's MCP server, but updated to use the latest streaming MCP support.
Features
List all available fal.ai models
Search for specific models by keywords
Get model schemas
Generate content using any fal.ai model
Support for both direct and queued model execution
Queue management (status checking, getting results, cancelling requests)
File upload to fal.ai CDN
Full streaming support via HTTP transport
Related MCP server: mcp-fal
Requirements
Python 3.12+
fastmcp
httpx
aiofiles
A fal.ai API key
Installation
Clone this repository:
git clone https://github.com/derekalia/fal.git
cd falInstall the required packages:
# Using uv (recommended)
uv sync
# Or using pip
pip install fastmcp httpx aiofilesUsage
Running the Server Locally
Get your fal.ai API key from fal.ai
Start the MCP server with HTTP transport:
./run_http.sh YOUR_FAL_API_KEYThe server will start and display connection information in your terminal.
Connect to it from your LLM IDE (Claude Code or Cursor) by adding to your configuration:
{
"Fal": {
"url": "http://127.0.0.1:6274/mcp/"
}
}Development Mode (with MCP Inspector)
For testing and debugging, you can run the server in development mode:
fastmcp dev main.pyThis will:
Start the server on a random port
Launch the MCP Inspector web interface in your browser
Allow you to test all tools interactively with a web UI
The Inspector URL will be displayed in the terminal (typically http://localhost:PORT).
Environment Variables
The run_http.sh script automatically handles all environment variables for you. If you need to customize:
PORT: Server port for HTTP transport (default: 6274)
Setting API Key Permanently
If you prefer to set your API key permanently instead of passing it each time:
Create a
.envfile in the project root:
echo 'FAL_KEY="YOUR_FAL_API_KEY_HERE"' > .envThen run the server without the API key argument:
./run_http.shFor manual setup:
FAL_KEY: Your fal.ai API key (required)MCP_TRANSPORT: Transport mode -stdio(default) orhttp
Available Tools
models(page=None, total=None)- List available models with optional paginationsearch(keywords)- Search for models by keywordsschema(model_id)- Get OpenAPI schema for a specific modelgenerate(model, parameters, queue=False)- Generate content using a modelresult(url)- Get result from a queued requeststatus(url)- Check status of a queued requestcancel(url)- Cancel a queued requestupload(path)- Upload a file to fal.ai CDN
License
Available Tools
8 toolscancelB
Cancel a queued request.
Args:
url: The cancel_url from a queued request
Returns:
The result of the cancellation attempt
Inputs: url (required).
generateC
Generate content using a fal.ai model.
Args:
model: The model ID to use (e.g., "fal-ai/flux/dev")
parameters: Model-specific parameters as a dictionary
queue: Whether to use the queuing system (default: False)
Returns:
The model's response
Inputs: model (required), parameters (required), queue.
modelsA
List available models on fal.ai. Ensure to use the total and page arguments. Avoid listing all the models at once.
Args:
page: The page number of models to retrieve (pagination)
total: The total number of models to retrieve per page
Returns:
A list of models with their metadata
Inputs: page, total.
resultB
Get the result of a queued request.
Args:
url: The response_url from a queued request
Returns:
The generation result
Inputs: url (required).
schemaB
Get the OpenAPI schema for a specific model.
Args:
model_id: The ID of the model (e.g., "fal-ai/flux/dev")
Returns:
The OpenAPI schema for the model
Inputs: model_id (required).
searchC
Search for models on fal.ai based on keywords.
Args:
keywords: The search terms to find models
Returns:
A list of models matching the search criteria
Inputs: keywords (required).
statusA
Check the status of a queued request.
Args:
url: The status_url from a queued request
Returns:
The current status of the queued request
Inputs: url (required).
uploadC
Upload a file to fal.ai storage.
Args:
path: The absolute path to the file to upload
Returns:
Information about the uploaded file, including the file_url
Inputs: path (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Most tools have distinct purposes, but there is some overlap between 'models' and 'search' as both retrieve model information, which could cause confusion. However, their specific functions (listing vs. keyword-based searching) are clarified in descriptions, preventing major misselection.
All tool names follow a consistent snake_case pattern with clear, single-word verbs (e.g., cancel, generate, models, result). This uniformity makes the tool set predictable and easy to navigate, with no deviations in style.
With 8 tools, the server is well-scoped for interacting with fal.ai's API, covering key operations like content generation, model management, and file handling. Each tool serves a specific function without unnecessary bloat.
The tool set covers core workflows for AI model interaction, including generation, queuing, model discovery, and file uploads. A minor gap exists in lacking tools for direct model management (e.g., updating or deleting models), but agents can work effectively with the provided operations.
Maintenance
Related MCP Connectors
MCP server for OpenAI API (chat completions, image generation, embeddings) via AceDataCloud
MCP server for Hailuo (MiniMax) AI video generation
MCP server for Wan AI video generation
An MCP server for Arcjet - the runtime security platform that ships with your AI code.
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that integrates with fal.ai to provide AI agents with tools for image generation, text processing, audio synthesis, and model management via a unified interface.829 npmMIT
- FlicenseAqualityDmaintenanceAn MCP server that exposes Fal.ai generative media models as tools for image and video generation, and running any Fal.ai model, callable by Claude and other MCP-compatible clients.3-
- AlicenseNot gradedqualityDmaintenanceAn MCP server to use the fal.ai APIs to generate images and videos.41 PyPI4MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server for interacting with fal.ai models and services, enabling listing, searching, generating content, managing queues, and uploading files.2MIT