
Fal.ai MCP Server
Community server for image, video, music, and audio generation across fal.ai models.
Add to your client
Copy the config for your MCP client and paste it into its config file.
uvx --from fal-mcp-server fal-mcpPaste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"fal-ai-mcp-server": {
"command": "uvx",
"args": [
"--from",
"fal-mcp-server",
"fal-mcp"
],
"env": {
"FAL_KEY": "<your-fal-api-key>"
}
}
}
}Requires `uv` (the Python package runner). Install it from https://docs.astral.sh/uv/ if `uvx` is not found.
Before you start
- Python 3.10 or higher (or Docker, or the `uv`/`uvx` package manager for zero-install)
- A fal.ai API key set as the FAL_KEY environment variable (get it from your fal.ai dashboard; a free tier is available)
- An MCP client such as Claude Desktop; HTTP/SSE mode additionally needs `mcp-remote` or a compatible web client
About Fal.ai MCP Server
Fal.ai MCP Server is a community Python server that brings fal.ai's generative-media platform (600+ models) into MCP clients. It covers image generation and editing, video generation, and music/audio generation, plus utility tools for model discovery, pricing, usage tracking, and file uploads.
The server uses fal.ai's native async API with queue support, so long-running jobs like video generation don't block. It exposes friendly model aliases (e.g. flux_schnell, flux_dev, flux_pro, sdxl, kling, musicgen) while still accepting full model IDs like fal-ai/flux-pro/v1.1-ultra.
It installs from PyPI (fal-mcp-server), runs zero-install via uvx, or ships as a Docker image. It supports stdio for local desktop clients and HTTP/SSE for web-based clients via the FAL_MCP_TRANSPORT setting. Authentication is a single fal.ai API key (FAL_KEY); fal.ai offers a free tier to start.
Tools & capabilities (18)
generate_imageGenerate an image from a text prompt across fal.ai image models.
generate_image_structuredGenerate an image with structured/controlled parameters.
generate_image_from_imageImage-to-image generation from a source image and prompt.
remove_backgroundRemove the background from an input image.
upscale_imageUpscale an image to higher resolution.
edit_imageEdit an existing image via prompt-driven changes.
inpaint_imageInpaint masked regions of an image.
resize_imageResize an image to target dimensions.
compose_imagesCompose multiple images into one.
generate_videoText-to-video generation.
generate_video_from_imageImage-to-video generation.
generate_video_from_videoRestyle or transform an existing video.
generate_musicGenerate music/audio from a prompt (e.g. MusicGen).
list_modelsDiscover available fal.ai models (cached with TTL).
recommend_modelRecommend a model for a given task.
get_pricingCheck pricing for a model or operation.
get_usageReport your fal.ai usage.
upload_fileUpload a local file for use as model input.
When to use it
- Use it when you want one MCP connection that spans image, video, and music generation instead of separate servers per modality.
- Use it when you need image editing primitives (background removal, upscaling, inpainting, resizing, compositing) inside an agent.
- Use it when you want text-to-video or image-to-video from inside Claude or another MCP client.
- Use it when you need to discover or compare fal.ai models and their pricing before committing to a job.
- Use it when you want HTTP/SSE access so a web-based client can reach the server.
- Use it when you want zero-install via uvx or a containerized deployment via Docker.
Quick setup
- 1Get a fal.ai API key from your fal.ai dashboard.
- 2Install via `uvx --from fal-mcp-server fal-mcp`, `pip install fal-mcp-server`, or the Docker image.
- 3Add the server to your MCP client config with `fal-mcp` as the command (or `mcp-remote` for the HTTP/Docker variant).
- 4Set FAL_KEY in the env block; optionally set FAL_MCP_TRANSPORT for stdio/http/dual mode.
- 5Restart the MCP client so it picks up the server.
- 6Call list_models or generate_image to verify the connection.
Security notes
The FAL_KEY bills generation usage to your fal.ai account and can invoke many third-party models; set spend controls and keep the key in env. Generated media may be downloaded locally depending on the model used.
Fal.ai MCP Server FAQ
Where do I get the API key?
Sign up at fal.ai and copy your API key from the dashboard, then set it as the FAL_KEY environment variable. A free tier is available to start.
Do I need Node.js?
No, the server is Python (3.10+). You can run it with uvx, pip, or Docker; only the HTTP-via-Docker config example uses npx mcp-remote as the bridge.
Can it do video and music, not just images?
Yes. It exposes generate_video, generate_video_from_image, generate_video_from_video, and generate_music alongside the image tools.
How do I run it for a web client instead of local stdio?
Set FAL_MCP_TRANSPORT to http (or dual) and connect over HTTP/SSE, e.g. via mcp-remote pointing at the server's /sse endpoint.
Which models can I use?
Any of fal.ai's 600+ models via full IDs like fal-ai/flux-pro/v1.1-ultra, plus friendly aliases such as flux_schnell, sdxl, kling, and musicgen.
Alternatives to Fal.ai MCP Server
Popular community server that feeds Figma layout data to coding agents via a Figma API token.
Official MiniMax server for TTS, voice cloning, music, image, and video generation.
Official ElevenLabs server for text-to-speech, voice cloning, sound effects, and audio.