Skip to main content
Glama

🎨 Fal.ai MCP Server

CI Docker MCP GitHub Release PyPI Docker Image Python License

A Model Context Protocol (MCP) server that enables Claude Desktop (and other MCP clients) to generate images, videos, music, and audio using Fal.ai models.

✨ Features

🚀 Performance

  • Native Async API - Uses fal_client.run_async() for optimal performance

  • Queue Support - Long-running tasks (video/music) use queue API with progress updates

  • Non-blocking - All operations are truly asynchronous

🌐 Transport Modes (New!)

  • STDIO - Traditional Model Context Protocol communication

  • HTTP/SSE - Web-based access via Server-Sent Events

  • Dual Mode - Run both transports simultaneously

🎨 Media Generation (18 Tools)

Image Generation:

  • 🖼️ generate_image - Create images from text prompts (Flux, SDXL, etc.)

  • 🎯 generate_image_structured - Fine-grained control over composition, lighting, subjects

  • 🔄 generate_image_from_image - Transform existing images with style transfer

Image Editing:

  • ✂️ remove_background - Remove backgrounds from images (transparent PNG)

  • 🔍 upscale_image - Upscale images 2x or 4x while preserving quality

  • ✏️ edit_image - Edit images using natural language instructions

  • 🎭 inpaint_image - Edit specific regions using masks

  • 📐 resize_image - Smart resize for social media (Instagram, YouTube, TikTok, etc.)

  • 🏷️ compose_images - Overlay images (watermarks, logos) with precise positioning

Video Tools:

  • 🎬 generate_video - Text-to-video and image-to-video generation

  • 📹 generate_video_from_image - Animate images into videos

  • 🔀 generate_video_from_video - Video restyling and motion transfer

Audio Tools:

  • 🎵 generate_music - Create instrumental music or songs with vocals

Utility Tools:

  • 🔍 list_models - Discover 600+ available models with smart filtering

  • 💡 recommend_model - AI-powered model recommendations for your task

  • 💰 get_pricing - Check costs before generating content

  • 📊 get_usage - View spending history and usage stats

  • ⬆️ upload_file - Upload local files for use with generation tools

🔍 Dynamic Model Discovery (New!)

  • 600+ Models - Access all models available on Fal.ai platform

  • Auto-Discovery - Models are fetched dynamically from the Fal.ai API

  • Smart Caching - TTL-based cache for optimal performance

  • Flexible Input - Use full model IDs or friendly aliases

Related MCP server: fal.ai MCP Server

🚀 Quick Start

Prerequisites

  • Python 3.10 or higher

  • Fal.ai API key (free tier available)

  • Claude Desktop (or any MCP-compatible client)

Installation

Option 0: Claude Code Plugin (Simplest for Claude Code Users) 🔌

If you're using Claude Code, install directly via the plugin system:

# Add the Luminary Lane Tools marketplace
/plugin marketplace add raveenb/fal-mcp-server

# Install the fal-ai plugin
/plugin install fal-ai@luminary-lane-tools

Or install directly without adding the marketplace:

/plugin install fal-ai@raveenb/fal-mcp-server

Note: You'll need to set FAL_KEY in your environment before using the plugin.

Run directly without installation using uv:

# Run the MCP server directly
uvx --from fal-mcp-server fal-mcp

# Or with specific version
uvx --from fal-mcp-server==1.4.0 fal-mcp

Claude Desktop Configuration for uvx:

{
  "mcpServers": {
    "fal-ai": {
      "command": "uvx",
      "args": ["--from", "fal-mcp-server", "fal-mcp"],
      "env": {
        "FAL_KEY": "your-fal-api-key"
      }
    }
  }
}

Note: Install uv first: curl -LsSf https://astral.sh/uv/install.sh | sh

Official Docker image available on GitHub Container Registry.

Step 1: Start the Docker container

# Pull and run with your API key
docker run -d \
  --name fal-mcp \
  -e FAL_KEY=your-api-key \
  -p 8080:8080 \
  ghcr.io/raveenb/fal-mcp-server:latest

# Verify it's running
docker logs fal-mcp

Step 2: Configure Claude Desktop to connect

Add to your Claude Desktop config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "fal-ai": {
      "command": "npx",
      "args": ["mcp-remote", "http://localhost:8080/sse"]
    }
  }
}

Note: This uses mcp-remote to connect to the HTTP/SSE endpoint. Alternatively, if you have curl available: "command": "curl", "args": ["-N", "http://localhost:8080/sse"]

Step 3: Restart Claude Desktop

The fal-ai tools should now be available.

Docker Environment Variables:

Variable

Default

Description

FAL_KEY

(required)

Your Fal.ai API key

FAL_MCP_TRANSPORT

http

Transport mode: http, stdio, or dual

FAL_MCP_HOST

0.0.0.0

Host to bind the server to

FAL_MCP_PORT

8080

Port for the HTTP server

Using Docker Compose:

curl -O https://raw.githubusercontent.com/raveenb/fal-mcp-server/main/docker-compose.yml
echo "FAL_KEY=your-api-key" > .env
docker-compose up -d

⚠️ File Upload with Docker:

The upload_file tool requires volume mounts to access host files:

docker run -d -p 8080:8080 \
  -e FAL_KEY="${FAL_KEY}" \
  -e FAL_MCP_TRANSPORT=http \
  -v ${HOME}/Downloads:/downloads:ro \
  -v ${HOME}/Pictures:/pictures:ro \
  ghcr.io/raveenb/fal-mcp-server:latest

Then use container paths like /downloads/image.png instead of host paths.

Feature

stdio (uvx)

Docker (HTTP/SSE)

upload_file

✅ Full filesystem

⚠️ Needs volume mounts

Security

Runs as user

Sandboxed container

Option 3: Install from PyPI

pip install fal-mcp-server

Or with uv:

uv pip install fal-mcp-server

Option 4: Install from source

git clone https://github.com/raveenb/fal-mcp-server.git
cd fal-mcp-server
pip install -e .

Configuration

  1. Get your Fal.ai API key from fal.ai

  2. Configure Claude Desktop by adding to:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

For PyPI/pip Installation:

{
  "mcpServers": {
    "fal-ai": {
      "command": "fal-mcp",
      "env": {
        "FAL_KEY": "your-fal-api-key"
      }
    }
  }
}

Note: For Docker configuration, see Option 2: Docker above.

For Source Installation:

{
  "mcpServers": {
    "fal-ai": {
      "command": "python",
      "args": ["/path/to/fal-mcp-server/src/fal_mcp_server/server.py"],
      "env": {
        "FAL_KEY": "your-fal-api-key"
      }
    }
  }
}
  1. Restart Claude Desktop

💬 Usage

With Claude Desktop

Once configured, ask Claude to:

  • "Generate an image of a sunset"

  • "Create a video from this image"

  • "Generate 30 seconds of ambient music"

  • "Convert this text to speech"

  • "Transcribe this audio file"

Discovering Available Models

Use the list_models tool to discover available models:

  • "What image models are available?"

  • "List video generation models"

  • "Search for flux models"

Using Any Fal.ai Model

You can use any model from the Fal.ai platform:

# Using a friendly alias (backward compatible)
"Generate an image with flux_schnell"

# Using a full model ID (new capability)
"Generate an image using fal-ai/flux-pro/v1.1-ultra"
"Create a video with fal-ai/kling-video/v1.5/pro"

HTTP/SSE Transport (New!)

Run the server with HTTP transport for web-based access:

# Using Docker (recommended)
docker run -d -e FAL_KEY=your-key -p 8080:8080 ghcr.io/raveenb/fal-mcp-server:latest

# Using pip installation
fal-mcp-http --host 0.0.0.0 --port 8000

# Or dual mode (STDIO + HTTP)
fal-mcp-dual --transport dual --port 8000

Connect from web clients via Server-Sent Events:

  • SSE endpoint: http://localhost:8080/sse (Docker) or http://localhost:8000/sse (pip)

  • Message endpoint: POST http://localhost:8080/messages/

See Docker Documentation and HTTP Transport Documentation for details.

📦 Supported Models

This server supports 600+ models from the Fal.ai platform through dynamic discovery. Use the list_models tool to explore available models, or use any model ID directly.

These friendly aliases are always available for commonly used models:

Alias

Model ID

Type

flux_schnell

fal-ai/flux/schnell

Image

flux_dev

fal-ai/flux/dev

Image

flux_pro

fal-ai/flux-pro

Image

sdxl

fal-ai/fast-sdxl

Image

stable_diffusion

fal-ai/stable-diffusion-v3-medium

Image

svd

fal-ai/stable-video-diffusion

Video

animatediff

fal-ai/fast-animatediff

Video

kling

fal-ai/kling-video

Video

musicgen

fal-ai/musicgen-medium

Audio

musicgen_large

fal-ai/musicgen-large

Audio

bark

fal-ai/bark

Audio

whisper

fal-ai/whisper

Audio

Using Full Model IDs

You can also use any model directly by its full ID:

# Examples of full model IDs
"fal-ai/flux-pro/v1.1-ultra"      # Latest Flux Pro
"fal-ai/kling-video/v1.5/pro"     # Kling Video Pro
"fal-ai/hunyuan-video"            # Hunyuan Video
"fal-ai/minimax-video"            # MiniMax Video

Use list_models with category filters to discover more:

  • list_models(category="image") - All image generation models

  • list_models(category="video") - All video generation models

  • list_models(category="audio") - All audio models

  • list_models(search="flux") - Search for specific models

📚 Documentation

Guide

Description

Installation Guide

Detailed setup instructions for all platforms

API Reference

Complete tool documentation with parameters

Examples

Usage examples for image, video, and audio generation

Docker Guide

Container deployment and configuration

HTTP Transport

Web-based SSE transport setup

Local Testing

Running CI locally with act

📖 Full documentation site: raveenb.github.io/fal-mcp-server

🔌 Claude Code Plugin Marketplace

This project is part of the Luminary Lane Tools marketplace for Claude Code plugins.

Add the marketplace:

/plugin marketplace add raveenb/fal-mcp-server

Available plugins:

Plugin

Description

fal-ai

Generate images, videos, and music using 600+ Fal.ai models

More plugins coming soon!

🔧 Troubleshooting

Common Errors

FAL_KEY not set

Error: FAL_KEY environment variable is required

Solution: Set your Fal.ai API key:

export FAL_KEY="your-api-key"

Model not found

Error: Model 'xyz' not found

Solution: Use list_models to discover available models, or check the model ID spelling.

File not found (Docker)

Error: File not found: /Users/username/image.png

Solution: When using Docker, mount the directory as a volume. See File Upload with Docker above.

Timeout on video/music generation

Error: Generation timed out after 300s

Solution: Video and music generation can take several minutes. This is normal for high-quality models. Try:

  • Using a faster model variant (e.g., schnell instead of pro)

  • Reducing duration or resolution

Rate limiting

Error: Rate limit exceeded

Solution: Wait a few minutes and retry. Consider upgrading your Fal.ai plan for higher limits.

Debug Mode

Enable verbose logging for troubleshooting:

# Set debug environment variable
export FAL_MCP_DEBUG=true

# Run the server
fal-mcp

Reporting Issues

If you encounter a bug or unexpected behavior:

  1. Check existing issues: GitHub Issues

  2. Gather information:

    • Error message (full text)

    • Steps to reproduce

    • Model ID used

    • Environment (OS, Python version, transport mode)

  3. Open a new issue with:

    **Error:** [paste error message]
    **Steps to reproduce:** [what you did]
    **Model:** [model ID if applicable]
    **Environment:** [OS, Python version, Docker/uvx/pip]
  4. Include logs if available (with sensitive data removed)

📝 Open an Issue

🤝 Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Local Development

We support local CI testing with act:

# Quick setup
make ci-local  # Run CI locally before pushing

# See detailed guide
cat docs/LOCAL_TESTING.md

📝 License

MIT License - see LICENSE file for details.

🙏 Acknowledgments

Hosted deployment

A hosted deployment is available on Fronteir AI.

Available Tools

18 tools
compose_imagesA

Overlay one image on top of another (e.g., add watermark, logo). Uses PIL for precise positioning - no AI needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
base_image_urlYesURL of the background/base image
overlay_image_urlYesURL of the image to overlay (e.g., logo, watermark). Use upload_file for local images.
positionNoWhere to place the overlay. Use 'custom' with x,y for exact positioning.bottom-right
xNoCustom X position in pixels (required if position='custom')
yNoCustom Y position in pixels (required if position='custom')
scaleNoScale overlay relative to base image width (0.01-1.0). Default 0.15 = 15% of base width.
paddingNoPadding from edges in pixels (for preset positions)
opacityNoOverlay opacity (0.0=transparent, 1.0=opaque)
output_formatNoOutput image formatpng

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the implementation detail ('Uses PIL for precise positioning') and clarifies 'no AI needed,' which helps set expectations about deterministic behavior. However, it doesn't disclose important behavioral aspects like whether the operation is destructive to original images, what the output looks like, or any rate limits/authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise - two sentences that each earn their place. The first sentence states the core purpose with examples, and the second adds important implementation context. No wasted words, and the most critical information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter tool with no annotations and no output schema, the description is somewhat incomplete. While it clearly states what the tool does, it doesn't describe the output (what gets returned), error conditions, or performance characteristics. The schema handles parameter documentation well, but the description could better address the tool's overall behavior and results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the input schema already documents all 9 parameters thoroughly. The description adds minimal parameter semantics beyond what's in the schema - it implies positioning capabilities and mentions local image handling, but doesn't provide additional meaning about how parameters interact or typical use patterns.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('overlay one image on top of another') and resources (images), providing concrete examples (watermark, logo). It effectively distinguishes from siblings like 'edit_image' or 'resize_image' by focusing specifically on image composition rather than general editing or transformation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('add watermark, logo') and mentions an alternative for local images ('Use upload_file for local images'), which is helpful. However, it doesn't explicitly state when NOT to use it or compare it to other image manipulation siblings like 'edit_image' or 'inpaint_image'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

edit_imageC

Edit an image using natural language instructions. Describe what changes you want and the AI will apply them.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYesURL of the image to edit (use upload_file for local images)
instructionYesNatural language description of the edit (e.g., 'make the sky more dramatic', 'change the car color to red')
modelNoEditing model. Options: fal-ai/flux-2/edit, fal-ai/flux-2-pro/edit (higher quality)fal-ai/flux-2/edit
strengthNoHow much to change the image (0=minimal, 1=maximum)
seedNoSeed for reproducible edits

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that 'the AI will apply' changes, implying a mutation operation, but doesn't specify if this is destructive, requires authentication, has rate limits, or what the output format is. For a tool with 5 parameters and no annotations, this is inadequate, as it misses key behavioral traits like response handling or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and front-loaded: two sentences that directly state the tool's function and how to use it, with no wasted words. Every sentence earns its place by clarifying the core action and input method, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of an image editing tool with 5 parameters, no annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects like what the tool returns (e.g., a modified image URL), error handling, or usage constraints. For a mutation tool without structured output information, this leaves significant gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema, only implying natural language input for 'instruction'. It doesn't explain parameter interactions or provide additional context, so it meets the baseline of 3 where the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Edit an image using natural language instructions.' It specifies the verb ('edit') and resource ('image'), distinguishing it from sibling tools like 'generate_image' or 'resize_image'. However, it doesn't explicitly differentiate from 'inpaint_image' or 'compose_images', which might also involve image editing, so it's not a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides minimal guidance: it mentions using 'upload_file for local images' in the schema, but the description itself lacks explicit when-to-use instructions. It doesn't clarify when to choose this tool over alternatives like 'inpaint_image' or 'resize_image', nor does it mention prerequisites or exclusions. This leaves the agent with little contextual direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_imageB

Generate images from text prompts. Use list_models with category='image' to discover available models.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesText description of the image to generate
modelNoModel ID (e.g., 'fal-ai/flux-pro') or alias (e.g., 'flux_schnell'). Use list_models to see options.flux_schnell
negative_promptNoWhat to avoid in the image
image_sizeNolandscape_16_9
num_imagesNo
seedNoSeed for reproducible generation
enable_safety_checkerNoEnable safety checker to filter inappropriate content
output_formatNoOutput image formatpng

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only states what the tool does ('Generate images from text prompts') without mentioning any behavioral traits like rate limits, authentication requirements, cost implications, or what the output looks like. For a complex tool with 8 parameters and no annotations, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise: two sentences that each earn their place. The first sentence states the core purpose, and the second provides essential usage guidance. There's zero waste or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, no annotations, no output schema), the description is incomplete. It doesn't explain what the tool returns (images in what format? URLs? base64?), doesn't mention cost or rate limit considerations, and provides minimal behavioral context. For an image generation tool with significant parameters, this leaves too many gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter-specific information beyond what's in the input schema. With 75% schema description coverage (6 of 8 parameters have descriptions), the schema does most of the work. The description's reference to list_models for model selection provides some context for the model parameter, but doesn't add meaningful semantics beyond the schema's documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate images from text prompts.' This is a specific verb+resource combination that distinguishes it from siblings like edit_image or generate_video. However, it doesn't explicitly differentiate from generate_image_from_image or generate_image_structured, which are also image generation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for usage: 'Use list_models with category='image' to discover available models.' This gives practical guidance on how to select the model parameter. However, it doesn't explicitly state when to use this tool versus alternatives like generate_image_from_image or generate_image_structured, nor does it provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_image_from_imageA

Transform an existing image into a new image based on a prompt. Use for style transfer, editing, variations, and more. Use upload_file first if you have a local image.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYesURL of the source image to transform (use upload_file for local images)
promptYesText description of desired transformation (e.g., 'Transform into a watercolor painting')
modelNoImage-to-image model. Options: fal-ai/flux/dev/image-to-image, fal-ai/flux-2/editfal-ai/flux/dev/image-to-image
strengthNoHow much to transform (0=keep original, 1=ignore original)
num_imagesNo
negative_promptNoWhat to avoid in the output image
seedNoSeed for reproducible generation
enable_safety_checkerNoEnable safety checker to filter inappropriate content
output_formatNoOutput image formatpng

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the transformation purpose and prerequisite for local images, but doesn't describe rate limits, authentication needs, cost implications, output format details, or what happens when transformations fail. It provides basic context but lacks comprehensive behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with two sentences that each earn their place. The first sentence states the core purpose and use cases, while the second provides crucial prerequisite guidance. No wasted words, and information is front-loaded appropriately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 9 parameters, no annotations, and no output schema, the description provides adequate but incomplete context. It covers the basic purpose and a key prerequisite, but doesn't address mutation implications (creates new images), performance characteristics, error conditions, or output expectations. Given the complexity, more completeness would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (89%), so the baseline is 3. The description doesn't add significant parameter semantics beyond what's in the schema - it mentions 'prompt' and 'image_url' implicitly but doesn't explain parameter interactions, default behaviors, or advanced usage patterns. The schema already documents parameters well.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('transform', 'edit') and resources ('existing image', 'new image'), distinguishing it from siblings like generate_image (text-to-image), edit_image (likely different editing), and compose_images (combining images). It explicitly mentions style transfer, editing, and variations as use cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('transform an existing image into a new image based on a prompt') and includes a specific prerequisite instruction ('use upload_file first if you have a local image'). However, it doesn't explicitly state when NOT to use it or name alternatives among siblings (e.g., when to use edit_image instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_image_structuredB

Generate images with detailed structured prompts for precise control over composition, style, lighting, and subjects. Ideal for AI agents that need fine-grained control.

ParametersJSON Schema
NameRequiredDescriptionDefault
sceneYesOverall scene description - the main subject and setting
subjectsNoList of subjects with their positions and descriptions
styleNoArt style (e.g., 'Digital art painting', 'Photorealistic', 'Watercolor', 'Oil painting')
color_paletteNoHex color codes for the palette (e.g., ['#000033', '#6A0DAD', '#FFFFFF'])
lightingNoLighting description (e.g., 'Soft golden hour lighting', 'Dramatic chiaroscuro')
moodNoEmotional mood of the image (e.g., 'Serene', 'Dramatic', 'Mysterious')
backgroundNoBackground description
compositionNoCompositional rules (e.g., 'Rule of thirds', 'Centered', 'Golden ratio')
cameraNoCamera settings for photographic style control
effectsNoVisual effects (e.g., ['Bokeh', 'Light rays', 'Lens flare', 'Motion blur'])
negative_promptNoWhat to avoid in the image (e.g., 'blurry, low quality, distorted')
modelNoModel ID or alias. Use list_models to see options.flux_schnell
image_sizeNolandscape_16_9
num_imagesNo
seedNoSeed for reproducible generation
enable_safety_checkerNoEnable safety checker to filter inappropriate content
output_formatNoOutput image formatpng

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'fine-grained control' but lacks details on permissions, rate limits, costs, or output behavior (e.g., image URLs, processing time). For a complex tool with 17 parameters and no annotations, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise and well-structured in two sentences: the first states the purpose and key features, and the second specifies the ideal use case. Every word earns its place with no redundancy or fluff, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (17 parameters, nested objects, no output schema, and no annotations), the description is insufficient. It doesn't explain what the tool returns (e.g., image data or URLs), potential errors, or behavioral traits like costs or limitations. For such a rich input schema, more contextual information is needed to guide effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 88%, which is high, so the baseline score is 3. The description adds minimal value beyond the schema by listing key control aspects ('composition, style, lighting, and subjects'), but doesn't provide additional syntax, examples, or constraints for the parameters. It compensates slightly for the 12% coverage gap but not substantially.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate images with detailed structured prompts for precise control over composition, style, lighting, and subjects.' It specifies the verb ('generate'), resource ('images'), and scope ('structured prompts'), but doesn't explicitly differentiate from sibling tools like 'generate_image' or 'compose_images', which likely offer different approaches to image generation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance: 'Ideal for AI agents that need fine-grained control.' This suggests this tool is for detailed, structured prompts rather than simpler ones, but it doesn't explicitly state when to use this versus alternatives like 'generate_image' or 'compose_images', nor does it mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_musicA

Generate music from text descriptions. Use list_models with category='audio' to discover available models.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesDescription of the music (genre, mood, instruments)
modelNoModel ID (e.g., 'fal-ai/lyria2', 'fal-ai/stable-audio-25/text-to-audio'). Use list_models to see options.fal-ai/lyria2
duration_secondsNoDuration in seconds
negative_promptNoWhat to avoid in the audio (e.g., 'vocals, distortion, noise')
lyrics_promptNoLyrics for vocal music generation. Only used with models that support lyrics (e.g., MiniMax). Format: [verse]\nLyric line 1\n[chorus]\nChorus line

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the need to discover models via list_models, which adds useful context about model dependencies. However, it doesn't describe output format (audio file type, size), latency, rate limits, authentication requirements, or error conditions, leaving significant behavioral gaps for a generative tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with just two sentences. The first sentence states the core purpose, and the second provides essential usage guidance about model discovery. Every word earns its place with no redundancy or unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a generative AI tool with 5 parameters and no output schema, the description is incomplete. While it covers purpose and model discovery guidance well, it lacks information about output format, audio quality, generation limits, error handling, and cost implications. With no annotations and no output schema, more behavioral context would be needed for optimal agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description doesn't add parameter-specific information beyond what's in the schema, but it does provide the high-level context that parameters are for 'text descriptions' of music, which aligns with the schema. With excellent schema coverage, the baseline is 3, but the description's guidance about model discovery adds some value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('generate music') and resource ('from text descriptions'), distinguishing it from sibling tools like generate_image, generate_video, etc. It explicitly identifies the domain (audio generation) and the input type (text descriptions).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: for generating music from text descriptions. It also specifies an alternative action ('Use list_models with category='audio' to discover available models'), giving clear direction for model selection, which is a key prerequisite for effective tool usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_videoA

Generate videos from text prompts (text-to-video) or from images (image-to-video). Use list_models with category='video' to discover available models.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesText description for the video (e.g., 'A slow-motion drone shot of Tokyo at night')
image_urlNoStarting image URL for image-to-video models. Optional for text-to-video models.
modelNoModel ID. Use 'fal-ai/kling-video/v2/master/text-to-video' for text-only, or image-to-video models like 'fal-ai/wan-i2v'.fal-ai/wan-i2v
durationNoVideo duration in seconds
aspect_ratioNoVideo aspect ratio (e.g., '16:9', '9:16', '1:1')16:9
negative_promptNoWhat to avoid in the video (e.g., 'blur, distort, low quality')
cfg_scaleNoClassifier-free guidance scale (0.0-1.0). Lower values give more creative results.

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. While it mentions the need to discover models via list_models, it lacks critical details such as whether this is a read-only or destructive operation, potential rate limits, authentication requirements, or what the output format looks like (e.g., video URL, file). This leaves significant gaps for an AI agent to understand the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, with two concise sentences that directly state the tool's purpose and usage guidance. Every sentence earns its place without redundancy, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a video generation tool with 7 parameters, no annotations, and no output schema, the description is incomplete. It fails to address key behavioral aspects (e.g., mutation effects, output format) and does not compensate for the lack of structured data, leaving the AI agent with insufficient context for safe and effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by hinting at model discovery but does not provide additional semantic context for parameters like prompt or image_url. Baseline score of 3 is appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('generate videos') and resources ('from text prompts' and 'from images'), distinguishing it from sibling tools like generate_image or generate_music by specifying video generation. It explicitly mentions both text-to-video and image-to-video capabilities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool (for video generation from text or images) and references an alternative tool (list_models) for discovering available models. However, it does not explicitly state when NOT to use it or compare it to similar siblings like generate_video_from_image, which might cause ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_video_from_imageA

Animate an image into a video. The image serves as the starting frame and the prompt guides the animation. Use upload_file first if you have a local image.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYesURL of the image to animate (use upload_file for local images)
promptYesText description guiding how to animate the image (e.g., 'camera slowly pans right, gentle breeze moves the leaves')
modelNoImage-to-video model. Options: fal-ai/wan-i2v, fal-ai/kling-video/v2.1/standard/image-to-videofal-ai/wan-i2v
durationNoVideo duration in seconds
aspect_ratioNoVideo aspect ratio (e.g., '16:9', '9:16', '1:1')16:9
negative_promptNoWhat to avoid in the video (e.g., 'blur, distort, low quality')
cfg_scaleNoClassifier-free guidance scale (0.0-1.0). Lower values give more creative results.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses the basic behavioral trait that the image serves as the starting frame and prompt guides animation, but doesn't mention important aspects like rate limits, authentication needs, output format (video file type), processing time, or error conditions. For a complex video generation tool with 7 parameters, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. First sentence states the core purpose, second provides crucial usage guidance. Both sentences earn their place by adding value beyond what's in the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex video generation tool with 7 parameters and no annotations or output schema, the description is incomplete. It doesn't explain what the tool returns (video file format, URL, metadata), error handling, rate limits, or processing characteristics. While purpose and basic usage are clear, behavioral context is insufficient for a tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds minimal value beyond the schema - it mentions the image serves as starting frame and prompt guides animation, which the schema already covers for image_url and prompt parameters. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('animate an image into a video') and distinguishes it from siblings by specifying it uses an image as the starting frame with a prompt to guide animation. It differentiates from 'generate_video' (which likely doesn't start from an image) and 'generate_video_from_video' (which starts from video).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides when-to-use guidance: 'Use upload_file first if you have a local image.' This gives clear prerequisites and distinguishes from alternatives like 'upload_file' for local files. It also implies this tool is for image-to-video conversion specifically.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_video_from_videoA

Transform an existing video using AI. Supports restyling (Lucy models) and motion transfer (Kling motion control). Use upload_file first if you have a local video.

ParametersJSON Schema
NameRequiredDescriptionDefault
video_urlYesURL of the source video to transform (use upload_file for local videos)
promptYesText description of the transformation (e.g., 'transform into anime style', 'a woman dancing gracefully')
modelNoVideo-to-video model. Options: decart/lucy-edit/dev (restyle), decart/lucy-edit/pro, decart/lucy-restyle, fal-ai/kling-video/v2.6/standard/motion-control (motion transfer), fal-ai/kling-video/v2.6/pro/motion-controldecart/lucy-edit/dev
durationNoDuration of generated video in seconds
aspect_ratioNoAspect ratio of the generated video16:9
cfg_scaleNoClassifier Free Guidance scale - how closely to follow the prompt (0.0-1.0)
image_urlNo[Kling motion control] Reference image URL. The character in this image will be animated using motion from video_url.
character_orientationNo[Kling motion control] 'video': orientation matches reference video (max 30s). 'image': orientation matches reference image (max 10s).video
keep_original_soundNo[Kling motion control] Whether to keep original sound from reference video.
tail_image_urlNo[Kling Pro] URL of image for the end of the video (for transitions).
generate_audioNo[Kling v2.6 Pro] Generate native audio for video (supports Chinese/English).
negative_promptNoWhat to avoid in the output (default: 'blur, distort, and low quality')
strengthNo[Lucy models] How much to transform (0=keep original, 1=full transformation)
num_framesNo[Lucy models] Number of frames to process

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the AI transformation nature and model capabilities (Lucy for restyling, Kling for motion control), which adds useful context beyond what parameters indicate. However, it doesn't describe important behavioral aspects like processing time, rate limits, authentication requirements, output format, or error conditions that would be crucial for an agent to use this tool effectively.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise and front-loaded: two sentences that immediately convey the core functionality and a critical prerequisite. Every word earns its place - the first sentence defines the tool's purpose and capabilities, the second provides essential usage guidance. No wasted words or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 14 parameters, no annotations, and no output schema, the description provides adequate but incomplete context. It covers the high-level purpose and a critical prerequisite (upload_file for local videos), but doesn't address output format, error handling, performance characteristics, or integration patterns that would help an agent use this tool effectively in broader workflows.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 14 parameters thoroughly with descriptions, defaults, enums, and constraints. The description adds minimal parameter semantics beyond the schema - it only mentions the two main capabilities (restyling and motion transfer) that map to the 'model' parameter options. This meets the baseline of 3 when schema coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Transform an existing video using AI' with specific capabilities mentioned (restyling with Lucy models, motion transfer with Kling motion control). It distinguishes from sibling tools like 'generate_video' or 'generate_video_from_image' by specifying it works from an existing video source. However, it doesn't explicitly contrast with all possible siblings like 'edit_image' or 'inpaint_image'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context: 'Use upload_file first if you have a local video' gives practical guidance for handling local files. It implies when to use this tool (for video-to-video transformations) versus alternatives like 'generate_video' (from scratch) or 'generate_video_from_image' (from images). However, it doesn't explicitly state when NOT to use this tool or name specific alternative tools for different scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pricingA

Get pricing information for Fal.ai models. Returns cost per unit (image/video/second) in USD. Use this to check costs before generating content.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelsYesModel IDs or aliases to get pricing for (e.g., ['flux_schnell', 'fal-ai/kling-video'])

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: it returns cost data in USD per unit (image/video/second), which is valuable context. However, it doesn't mention rate limits, authentication requirements, or error conditions, leaving gaps for a tool that likely queries external pricing data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and efficient: two sentences with zero waste. The first sentence states the purpose and return format, and the second provides usage guidance, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (external pricing query), no annotations, and no output schema, the description is adequate but incomplete. It explains the return value (cost per unit in USD) but lacks details on response structure, error handling, or data freshness, which could hinder agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents the 'models' parameter. The description adds no additional parameter semantics beyond what the schema provides, such as examples of valid model IDs or pricing granularity. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get pricing information for Fal.ai models' with specific resources (models) and verb (get). It distinguishes from siblings like 'get_usage' (usage statistics) and 'list_models' (model listing) by focusing on cost data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: 'Use this to check costs before generating content,' which implicitly suggests using it for cost estimation prior to using generation tools. However, it doesn't explicitly state when not to use it or name specific alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_usageA

Get usage and spending history for your Fal.ai workspace. Shows quantity, cost, and breakdown by model. Requires admin API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
startNoStart date (YYYY-MM-DD format). Defaults to 7 days ago.
endNoEnd date (YYYY-MM-DD format). Defaults to today.
modelsNoFilter by specific model IDs/aliases (optional)

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It successfully indicates this is a read operation ('Get') and specifies an authentication requirement ('Requires admin API key'), but does not mention other behavioral aspects like rate limits, pagination, error handling, or response format. The description adds some value but leaves gaps in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized and front-loaded, with two concise sentences that directly convey the tool's purpose and key requirement. Every sentence earns its place by providing essential information without redundancy or unnecessary details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is partially complete. It covers the core purpose and authentication need but lacks details on output structure, error cases, or behavioral constraints. Without annotations or output schema, the description should ideally provide more context about what the tool returns and how it behaves.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents all three parameters. The description does not add any parameter-specific information beyond what the schema provides, such as explaining the significance of model filtering or date ranges. The baseline score of 3 reflects adequate but minimal value addition over the comprehensive schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Get usage and spending history') and resources ('Fal.ai workspace'), including what information is returned ('quantity, cost, and breakdown by model'). It distinguishes itself from siblings like 'get_pricing' by focusing on historical usage data rather than pricing rates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (to retrieve usage/spending history) and includes a prerequisite ('Requires admin API key'), but does not explicitly state when not to use it or name alternatives. It implies usage for historical analysis rather than current pricing, but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

inpaint_imageB

Edit specific regions of an image using a mask. White areas in the mask will be regenerated based on the prompt.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYesURL of the source image (use upload_file for local images)
mask_urlYesURL of the mask image (white=edit, black=keep). Use upload_file for local masks.
promptYesWhat to generate in the masked area (e.g., 'a red sports car', 'green grass')
modelNoInpainting model. Options: fal-ai/flux-kontext-lora/inpaint, fal-ai/flux-krea-lora/inpaintingfal-ai/flux-kontext-lora/inpaint
negative_promptNoWhat to avoid in the generated area
seedNoSeed for reproducible results

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but lacks critical behavioral details. It doesn't disclose whether this is a read-only or mutation operation, potential rate limits, authentication requirements, or what happens to non-masked areas. The description only covers basic functionality without operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Perfectly concise with two sentences that each earn their place. The first sentence states the core purpose, the second explains mask behavior and prompt usage. No wasted words, well-structured, and front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter mutation tool with no annotations and no output schema, the description is incomplete. It covers basic functionality but lacks information about return values, error conditions, side effects, or how this tool differs behaviorally from similar editing tools in the sibling set.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 6 parameters thoroughly. The description adds minimal value beyond the schema by briefly explaining mask logic ('white=edit, black=keep') and giving prompt examples, but doesn't provide significant additional semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verb ('Edit') and resource ('specific regions of an image using a mask'), and distinguishes it from siblings by focusing on inpainting rather than generation, composition, or other edits. It precisely explains the white/black mask logic.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like 'edit_image' or 'remove_background'. The description mentions using 'upload_file for local images' but doesn't clarify tool selection context or prerequisites beyond basic parameter usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_modelsA

Discover available Fal.ai models for image, video, and audio generation. Use 'task' parameter for intelligent task-based ranking (e.g., 'portrait photography'), or 'search' for simple name/description filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category (image, video, or audio)
taskNoTask description for intelligent ranking (e.g., 'anime illustration', 'product photography'). Uses Fal.ai's semantic search and prioritizes featured models.
searchNoSimple search query to filter models by name or description (e.g., 'flux'). Use 'task' for better semantic matching.
limitNoMaximum number of models to return

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions that 'task' uses 'Fal.ai's semantic search and prioritizes featured models,' which adds useful behavioral context. However, it doesn't cover other aspects like rate limits, authentication needs, or pagination behavior, leaving gaps for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, followed by specific parameter usage. Every sentence adds value without redundancy, making it efficient and well-structured for quick comprehension by an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description does a good job covering the tool's purpose and parameter usage. However, it lacks details on return values or error handling, which could be important for a listing tool. It's mostly complete but has minor gaps in behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters well. The description adds value by explaining the semantic difference between 'task' and 'search' parameters, providing examples and clarifying that 'task' is for 'intelligent task-based ranking' while 'search' is for 'simple name/description filtering.' This enhances understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Discover available Fal.ai models for image, video, and audio generation.' It uses a specific verb ('Discover') and identifies the resource ('Fal.ai models'), distinguishing it from siblings like 'recommend_model' or 'generate_image' which perform different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use parameters: 'Use 'task' parameter for intelligent task-based ranking (e.g., 'portrait photography'), or 'search' for simple name/description filtering.' It contrasts the 'task' and 'search' parameters, helping the agent choose between them based on the user's needs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommend_modelA

Get AI-powered model recommendations for a specific task. Describe what you want to do (e.g., 'generate portrait photo', 'anime style illustration', 'product photography') and get the best-suited models ranked by relevance. Featured models by Fal.ai are prioritized.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesDescription of your task (e.g., 'generate professional headshot', 'create anime character', 'transform photo to watercolor')
categoryNoOptional category hint to narrow search
limitNoMaximum number of recommendations

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses key behavioral traits: AI-powered ranking, prioritization of featured models, and task-based relevance scoring. However, it lacks details on rate limits, authentication needs, or response format, which are important for a recommendation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose, followed by usage instructions and a key behavioral note (prioritization). Every sentence adds value without redundancy, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters, 100% schema coverage, and no output schema, the description is adequate but could be more complete. It explains the purpose and usage well but lacks details on response format, error handling, or how recommendations are generated, which would help an agent use it effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents parameters. The description adds minimal value beyond the schema, mentioning task description examples but not explaining parameter interactions or the effect of category/limit on recommendations.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get AI-powered model recommendations') and resource ('for a specific task'), with examples that distinguish it from siblings like list_models (which likely lists all models without recommendations) or generate_image (which executes generation rather than recommending models).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool ('Describe what you want to do... and get the best-suited models'), but does not explicitly state when not to use it or name alternatives like list_models for unfiltered listings or generate_image for direct execution.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_backgroundA

Remove the background from an image, creating a transparent PNG. Great for product photos, portraits, and creating composites.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYesURL of the image to remove background from (use upload_file for local images)
modelNoBackground removal model. Options: fal-ai/birefnet/v2 (recommended), fal-ai/birefnetfal-ai/birefnet/v2
output_formatNoOutput format (PNG recommended for transparency)png

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions the output format ('transparent PNG') and use cases, but lacks details on permissions, rate limits, error conditions, or what happens if the image_url is invalid. For a tool that modifies images, this is a significant gap in behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by a concise use-case example. Every sentence earns its place by adding value without redundancy, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is adequate for a simple tool but lacks completeness. It covers the basic purpose and use cases but misses details on behavioral traits, error handling, and output specifics, which are important for an image-processing tool with no structured support.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description does not add any parameter-specific details beyond what's in the schema, such as explaining why PNG is recommended or model differences. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Remove the background from an image') and the outcome ('creating a transparent PNG'), distinguishing it from siblings like edit_image or inpaint_image. It provides concrete use cases ('product photos, portraits, and creating composites') that help differentiate its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage through the examples ('Great for product photos, portraits, and creating composites'), but does not explicitly state when to use this tool versus alternatives like edit_image or inpaint_image. No exclusions or prerequisites are mentioned, leaving some ambiguity about optimal use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resize_imageB

Resize/reformat images for different platforms (like Canva Magic Resize). Uses AI outpainting to intelligently extend content for new aspect ratios. Note: 'crop' and 'letterbox' modes coming soon.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYesURL of the source image (use upload_file for local images)
target_formatYesTarget platform format, or 'custom' to specify dimensions
widthNoCustom width in pixels (required if target_format='custom')
heightNoCustom height in pixels (required if target_format='custom')
modeNoHow to handle aspect ratio change: extend (AI outpainting - recommended), crop (coming soon), letterbox (coming soon)extend
background_promptNoFor 'extend' mode: prompt to guide AI-generated extended areas (e.g., 'continue the beach scenery')
background_colorNoFor 'letterbox' mode: hex color for bars (e.g., '#FFFFFF' for white)#000000

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses key behavioral traits: it uses 'AI outpainting to intelligently extend content' (implying content generation beyond simple scaling) and notes that some modes are 'coming soon' (managing expectations). However, it doesn't mention critical aspects like rate limits, authentication needs, file size limits, processing time, or what happens to image quality. For a tool with AI generation capabilities, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with three sentences that each serve a purpose: stating the core function, explaining the AI method, and noting upcoming features. It's front-loaded with the main purpose. The only minor inefficiency is the parenthetical '(like Canva Magic Resize)' which, while helpful for context, could be considered slightly extraneous.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (AI-powered image transformation with 7 parameters), no annotations, and no output schema, the description is moderately complete. It covers the core functionality and AI method but lacks important contextual information: what the output looks like (URL? file? format?), error conditions, performance characteristics, or integration notes with sibling tools like 'upload_file'. The mention of 'coming soon' features helps manage expectations but doesn't fully compensate for missing behavioral context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal parameter semantics beyond the schema - it mentions 'AI outpainting' which relates to the 'extend' mode and 'background_prompt', and references 'platforms' which maps to 'target_format' enum values. However, it doesn't provide additional context about parameter interactions or usage patterns that aren't already in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function as 'Resize/reformat images for different platforms' with the specific method 'Uses AI outpainting to intelligently extend content for new aspect ratios.' It distinguishes from siblings like 'upscale_image' (resolution increase) and 'edit_image' (general editing) by focusing on platform-specific resizing with AI extension. However, it doesn't explicitly differentiate from 'inpaint_image' (which might also modify content).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through the phrase 'for different platforms (like Canva Magic Resize)' and mentions alternative modes ('crop' and 'letterbox' coming soon), but it doesn't explicitly state when to use this tool versus siblings like 'compose_images' or 'edit_image'. The note about upcoming modes provides some guidance on current limitations, but lacks explicit when-to-use or when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_fileA

Upload a local file to Fal.ai storage and get a URL. Use this to upload images, videos, or audio files that can then be used with other Fal.ai tools (e.g., image-to-video, audio transform).

ParametersJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute path to the local file to upload (e.g., '/path/to/image.png')

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool uploads files and returns a URL, but lacks details on authentication requirements, rate limits, file size constraints, or error handling. The description adds basic context but misses key behavioral traits for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero waste: the first states the purpose and outcome, and the second provides usage context. It is appropriately sized and front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description adequately covers purpose and usage but lacks details on return values (e.g., URL format), error cases, or operational constraints. It is minimally viable but has clear gaps in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single parameter 'file_path' with its type and example. The description does not add any parameter-specific information beyond what the schema provides, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Upload a local file') and resource ('to Fal.ai storage'), and distinguishes this tool from its siblings by specifying its role in the workflow (uploading files for use with other tools like image-to-video or audio transform).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool ('to upload images, videos, or audio files that can then be used with other Fal.ai tools') and provides examples of alternative tools (e.g., 'image-to-video, audio transform'), giving clear context for its application.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upscale_imageB

Upscale an image to higher resolution while preserving quality. Use for enhancing low-resolution images.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYesURL of the image to upscale (use upload_file for local images)
scaleNoUpscale factor (2x or 4x)
modelNoUpscaling model. Options: fal-ai/clarity-upscaler (high quality), fal-ai/aura-sr (fast)fal-ai/clarity-upscaler

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions quality preservation, which is useful, but fails to disclose critical traits like whether this is a read-only or mutating operation, potential costs, rate limits, authentication needs, or output format (e.g., URL, file). For a tool with no annotation coverage, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately sized with two concise sentences that are front-loaded with the core purpose. Every sentence earns its place by stating the action and providing usage context without any redundant or verbose language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is minimally adequate. It covers the basic purpose and usage but lacks completeness in behavioral traits (e.g., mutation effects, costs) and output details, which are crucial for an agent to use it correctly without structured output guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents all three parameters thoroughly (e.g., 'image_url' with upload guidance, 'scale' with enum values, 'model' with options). The description adds no additional parameter semantics beyond what's in the schema, making the baseline score of 3 appropriate as the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('upscale', 'enhancing') and resources ('image', 'resolution'), and distinguishes it from some siblings like 'resize_image' by emphasizing quality preservation. However, it doesn't explicitly differentiate from all potential alternatives like 'edit_image' or 'generate_image_from_image' for enhancement tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implied usage guidance ('Use for enhancing low-resolution images'), which gives a general context. However, it lacks explicit when-not-to-use scenarios, prerequisites (e.g., file size limits), or named alternatives among siblings (e.g., when to choose 'resize_image' vs. this tool), leaving some ambiguity for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap between edit_image, inpaint_image, and generate_image_from_image, which could cause confusion as they all involve modifying existing images. However, descriptions help clarify their specific use cases, and other tools like generate_music or get_pricing are clearly separate.

Naming Consistency5/5

Tool names follow a consistent verb_noun pattern throughout, such as generate_image, edit_image, and list_models. All tools use snake_case, and the naming is predictable, making it easy for agents to understand and navigate the toolset.

Tool Count4/5

With 18 tools, the count is slightly high but reasonable for a comprehensive AI media generation server covering images, video, audio, and utilities. It includes core operations and supporting tools, though it may feel heavy compared to simpler servers.

Completeness5/5

The toolset provides complete coverage for the domain of AI media generation and management. It includes generation, editing, transformation, and utility tools (e.g., upload_file, get_pricing, list_models), with no obvious gaps that would hinder agent workflows.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with fal.ai AI models through MCP, supporting model discovery, content generation, queue management, and file uploads to the fal.ai platform.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides access to over 600 AI models on fal.ai for generating and editing images, videos, music, and speech directly within Claude. It supports high-performance models like FLUX, Kling, and Whisper for various creative and analytical tasks.
    578
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/luminarylane/fal-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server