fal.ai MCP服务器
用于与fal.ai模型和服务交互的模型上下文协议(MCP)服务器。
特性
- 列出所有可用的fal.ai型号
- 按关键字搜索特定型号
- 获取模型架构
- 使用任何fal.ai模型生成内容
- 支持直接和排队模型执行
- 队列管理(状态检查、获取结果、取消请求)
- 文件上传到fal.ai CDN
需求
- Python 3.10+
- fastmcp
- httpx
- 异步文件
- 一个fal.ai API密钥
安装
手动安装(推荐)
- 克隆此存储库:
git clone https://github.com/am0y/mcp-fal.git
cd mcp-fal- 创建虚拟环境并安装依赖项:
python -m venv venv
venv/Scripts/pip install -r requirements.txt # Windows
# OR
venv/bin/pip install -r requirements.txt # Linux/Mac- 将您的fal.ai API键设置为环境变量:
export FAL_KEY="YOUR_FAL_API_KEY_HERE"Docker安装(实验)
- 克隆此存储库:
git clone https://github.com/am0y/mcp-fal.git
cd mcp-fal- 复制环境模板并添加您的API密钥:
cp .env.example .env
# Edit .env and add your fal.ai API key- 启动服务器:
docker-compose up -d用法
\[!重要\] 用于MCP集成(VS代码、克劳德桌面、反重力) ✅ 使用选项2(直接执行Python) -这是正确和推荐的方法。 ❌ 不要使用Docker -MCP服务器使用stdio传输,必须由MCP客户端生成。Docker容器将立即退出,因为没有stdin连接。
\[!注意\] 为什么Docker不适用于MCP MCP服务器通过标准输入/输出(stdio)进行通信。它们被设计为由MCP客户端作为子进程生成,而不是作为独立服务运行。当您尝试在Docker中运行MCP服务器时,它会启动,找不到stdin连接,并立即退出。
______________________________________________________________________
选项1:虚拟环境设置(建议用于MCP集成)
先决条件:已安装Python 3.10+
步骤1:创建虚拟环境
# Create virtual environment
python -m venv venv
# Activate it (optional, for manual testing)
venv\Scripts\activate # Windows
source venv/bin/activate # Linux/Mac步骤2:安装依赖项
# Windows
venv/Scripts/pip install -r requirements.txt
# Linux/Mac
venv/bin/pip install -r requirements.txt步骤3:设置API密钥
创建一个 .env 项目根目录中的文件:
cp .env.example .env编辑 .env 并添加您的fal.ai API密钥:
FAL_KEY=your_actual_fal_api_key_here______________________________________________________________________
选项2:在本地测试服务器
用于本地测试和开发 (MCP集成不需要):
FastMCP开发模式
启动MCP Inspector web界面以交互方式测试工具:
fastmcp dev main.py直接执行
直接运行服务器(将等待stdio输入):
venv/Scripts/python main.py # Windows
venv/bin/python main.py # Linux/Mac______________________________________________________________________
MCP集成配置
设置上述虚拟环境后,配置您的MCP客户端:
适用于克劳德桌面
编辑 %APPDATA%\Claude\claude_desktop_config.json (Windows)或 ~/Library/Application Support/Claude/claude_desktop_config.json (Mac):
{
"mcpServers": {
"fal": {
"command": "d:/Projects/python/mcp-fal/venv/Scripts/python.exe",
"args": ["d:/Projects/python/mcp-fal/main.py"],
"env": {
"FAL_KEY": "your_fal_api_key_here"
}
}
}
}用于VS代码/反重力 (MCP设置):
{
"mcpServers": {
"fal": {
"command": "d:/Projects/python/mcp-fal/venv/Scripts/python.exe",
"args": ["d:/Projects/python/mcp-fal/main.py"],
"env": {
"FAL_KEY": "your_fal_api_key_here"
}
}
}
}适用于Linux/Mac,使用:
{
"mcpServers": {
"fal": {
"command": "/absolute/path/to/mcp-fal/venv/bin/python",
"args": ["/absolute/path/to/mcp-fal/main.py"],
"env": {
"FAL_KEY": "your_fal_api_key_here"
}
}
}
}关键点:使用 venv Python解释器 (venv/Scripts/python.exe在Windows或venv/bin/python在Linux/Mac上),因此所有依赖项都可用。
安全提示:您可以: 1. 集FAL_KEY作为系统环境变量 1. 使用"FAL_KEY": "${env:FAL_KEY}"在配置中引用它 1. 或者创建一个.env项目目录中的文件,服务器将自动加载它
API 参考
工具
models(page=None, total=None)-列出具有可选分页的可用型号search(keywords)-按关键字搜索模型schema(model_id)-获取特定模型的OpenAPI模式generate(model, parameters, queue=False)-使用模型生成内容result(url)-从排队的请求中获取结果status(url)-检查排队请求的状态cancel(url)-取消排队的请求upload(path-将文件上传到fal.ai CDN
______________________________________________________________________
附录:Docker设置(实验)
\[!警告\] 此Docker设置是实验性的,不适用于MCP集成。 MCP服务器使用stdio传输,必须由MCP客户端生成。Docker容器将立即退出,因为没有stdin连接。这是为了教育目的和未来的潜在实验而保留的。
包含Docker文件
Dockerfile-Python 3.10-slim镜像及其依赖关系docker-compose.yml-使用自动重启功能编写配置.dockerignore-从构建中排除不必要的文件
构建Docker镜像
docker-compose build正在运行(将立即退出)
docker-compose up -d容器将立即启动和退出,因为MCP服务器需要活动的stdin连接。
为什么这行不通
MCP服务器通过标准输入/输出(stdio)进行通信。它们被设计为由MCP客户端作为子进程生成,而不是作为独立服务运行。当在没有活动stdin连接的Docker中运行时,服务器会启动,找不到输入流,然后退出。
______________________________________________________________________

