使用说明
fal_mcp
MCP服务器使llms能够通过FAL的模型目录生成图像、编辑图像、创建视频、处理音频等,并具有持久的首选项和缓存的模式。
看 docs/DESIGN.md 用于架构、工具规范和工作流示例。
设置
npm install
npm run build
设置你的fal.ai API密钥(SDK会自动读取):
export FAL_KEY="your-fal-api-key"
使用克劳德代码注册服务器:
claude mcp add --transport stdio fal -- node /absolute/path/to/fal_mcp/build/index.js
或者通过以下方式在项目范围内添加 .mcp.json:
{
"mcpServers": {
"fal": {
"command": "node",
"args": ["/absolute/path/to/fal_mcp/build/index.js"],
"env": { "FAL_KEY": "${FAL_KEY}" }
}
}
}
工具
| 工具 | 目的 |
|---|---|
generate |
运行一个fal.ai模型。通过 category (image, edit, video, utility, audio)使用排名靠前的偏好,或明确的 model_id 绕过偏好。 |
search_models |
按关键字和/或类型搜索fal.ai的模型目录。 |
get_model_schema |
获取特定模型ID的输入/输出模式 |
upload_file |
将本地文件上传到fal.ai存储,并获取可用作模型输入的URL。 |
update_preferences |
管理按类别排列的模型列表、体验日志和库存储(list/remove 统计和清理)。 |
manage_subjects |
使用本地参考图像+每张照片的描述注册命名主题(人/角色),以便在会话中一致生成。 |
画廊
生成的媒体会自动保存到磁盘并推送到本地浏览器库(在MCP服务器旁边启动的一个小型HTTP服务器 127.0.0.1随机端口)。浏览器在第一代上打开;每个 generate 响应包括a gallery_url。首选项存储在 ~/.fal_mcp/preferences.json;中的库元数据 ~/.fal_mcp/gallery.json.
项目结构
src/
index.ts # Server entry point — registers tools, starts gallery
tools/
generate.ts # generate
search-models.ts # search_models
get-model-schema.ts # get_model_schema
upload-file.ts # upload_file
update-preferences.ts # update_preferences (+ gallery management)
subjects.ts # manage_subjects
lib/
fal-client.ts # Configured fal.ai client
preferences.ts # Read/write ~/.fal_mcp/preferences.json
gallery.ts # Local gallery HTTP server + storage
gallery/ # Static gallery frontend (copied to build/ on compile)
build/ # Compiled output (npm run build)
发展
npm run dev # tsc --watch
npm start # node build/index.js
没有自动测试套件--通过运行服务器来验证更改(node build/index.js)并通过Claude Code调用工具(claude mcp list 确认注册)。