使用说明
piapi mcp服务器
与PiAPI的API集成的模型上下文协议(MCP)服务器的TypeScript实现。PiAPI使用户能够直接从Claude或任何其他兼容MCP的应用程序中使用Midjournal/Flux/Kling/LumaLabs/Udio/Chrip/Trellis生成媒体内容。
功能(更多功能即将推出)
注意:由于Claude的超时限制,视频生成等耗时的工具可能无法完成
- [x] 基础图像工具包
- [x] 基础视频工具包
- [x] 从文本/图像提示生成通量图像
- [x] 浑源视频从文本/图像提示生成
- [x] Skyreels从图像提示生成视频
- [x] Wan从文本/图像提示生成视频
- [x] MMAudio从视频生成音乐
- [x] TTS零样本语音生成
- []中途图像生成
- [x] 想象一下
- []其他
- [x] Kling视频和效果生成
- [x] Luma Dream Machine视频生成
- [x] Suno音乐一代
- []Suno歌词一代
- []Udio音乐和歌词一代
- [x] 从图像生成网格3D模型
- []LLM内部的工作流程规划
使用Claude Desktop示例
先决条件
- Node.js 16.x或更高版本
- npm或纱线
- PiAPI API密钥(在 pipi.ai)
安装
通过Smithery安装
通过以下方式自动安装Claude Desktop的PiAPI MCP服务器 铁匠铺:
npx -y @smithery/cli install piapi-mcp-server --client claude
手动安装
- 克隆存储库:
git clone https://github.com/apinetwork/piapi-mcp-server
cd piapi-mcp-server
- 安装依赖项:
npm install
- 构建项目:
npm run build
建成后,a dist/index.js 将生成文件。然后,您可以使用Claude Desktop和其他应用程序配置此文件。有关详细的配置说明,请参阅使用部分。
- (可选)带MCP检查器的测试服务器:
首先,创建一个 .env 使用API密钥在项目根目录中的文件:
PIAPI_API_KEY=your_api_key_here
然后运行以下命令以启动MCP检查器:
npm run inspect
运行命令后,MCP检查器将在以下位置可用http://localhost:5173(默认端口:5173)。在浏览器中打开此URL以开始测试。检查器操作的默认超时为10000ms(10秒),这可能不足以完成图像生成任务。建议在测试图像生成或其他耗时的操作时增加超时时间。您可以通过在URL中添加超时参数来调整超时,例如:http://localhost:5173?timeout=60000(将超时设置为60秒)
MCP检查器是一个功能强大的开发工具,可帮助您测试和调试MCP服务器实现。主要特征包括:
- 交互式测试:直接通过web界面测试服务器的功能
- 实时反馈:查看函数调用的即时结果和出现的任何错误
- 请求/响应检查:查看有关请求和响应的详细信息
- 功能文档:浏览可用函数及其参数
- 自定义参数:设置自定义超时值和其他配置选项
- 历史跟踪:跟踪您以前的函数调用及其结果
有关使用MCP检查器及其功能的详细信息,请访问 MCP官方文件.
用法
连接到克劳德桌面
将此添加到您的Claude Desktop配置文件中(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS或 %APPDATA%\Claude\claude_desktop_config.json 在Windows上):
{
"mcpServers": {
"piapi": {
"command": "node",
"args": ["/absolute/path/to/piapi-mcp-server/dist/index.js"],
"env": {
"PIAPI_API_KEY": "your_api_key_here"
}
}
}
}
更新配置文件后,您需要重新启动Claude for Desktop。重新启动后,您应该在输入框的右下角看到一个锤子图标。 有关更多详细信息,请访问 MCP官方文件
连接到游标
注:以下指南基于Cursor 0.47.5。不同版本的功能和行为可能有所不同。
要配置MCP服务器,请执行以下操作:
- 导航到:文件>首选项>光标设置,或使用快捷键
Ctrl+Shift+J - 选择左侧面板上的“MCP”选项卡
- 点击右上角的“添加新的全局MCP服务器”按钮
- 在打开的mcp.json文件中添加您的配置
{
"mcpServers": {
"piapi": {
"command": "node",
"args": ["/absolute/path/to/piapi-mcp-server/dist/index.js"],
"env": {
"PIAPI_API_KEY": "your_api_key_here"
}
}
}
}
- 配置后,您将在MCP服务器页面中看到一个“piapi”条目
- 单击条目上的刷新按钮或重新启动Cursor以连接到piapi服务器
要测试piapi图像生成:
- 在光标聊天中打开并选择“代理模式”,或使用快捷键
Ctrl+I - 输入测试提示,例如:“生成狗的图像”
- 图像将使用piapi服务器根据您的提示生成
要禁用piapi服务器,请执行以下操作:
- 导航到光标设置中的MCP服务器页面
- 在服务器列表中查找“piapi”条目
- 单击“启用”切换按钮将其切换到“禁用”
使工具与PiAPI保持同步(同步任务)
src/index.ts 注册合同支持的MCP工具 每 承诺的
PiAPI (model, task_type) 能力。工具名称是确定的:
piapi_<model>_<task_type> (例如,
piapi_qubico_flux1_schnell_txt2img),并生成它们的输入模式
从已提交的目录中。现有的手写便利工具仍然存在
可用;合同支持的工具确保暴露的表面保持完整
随着管理器目录的更改。
中的传统便利工具 src/index.ts 仍然是手写的,但
从提交的目录中生成完整的合约支持表面。这
存储库包括一个可重复的 漂移探测器 比较该目录
与PiAPI管理器的API版本合同的基线。它检测 新API,
已弃用的API, 参数变化,以及 描述更改.
真相来源: 这个 Go API.postman_collection.json PiAPI中的合同
管理器GitHub存储库(Gocyber-world/midjourney-http-v2).任务获取
该版本化合约直接来自GitHub,并提取
POST /api/v1/task 示例进入 (model, task_type) 能力。如果
管理器存储库是私有的,请设置CI机密 MCP_SYNC_GITHUB_TOKEN 随着
最低特权 contents: read 在该源存储库上(并且只有
MCP更新自动化所需的单独批准的写入权限)。它有
没有对Apidog的依赖,并且是故意这样做的 不 检查或报告定价。
命令
npm run build # compile the MCP server and sync task
npm run test:sync # offline sync-engine tests (no network or credentials)
npm run sync # fetch contract and diff baseline; exit 0 = in sync, 2 = drift
npm run sync:snapshot # print the normalized current contract catalog
npm run sync:report # write the Markdown drift report to sync-report.md
npm run sync:accept # after updating src/index.ts, refresh the baseline
默认情况下, npm run sync 使用Manager GitHub合约。用于恢复或
在本地开发中,可以提供导出的OpenAPI JSON文件:
node dist/sync/cli.js diff --file ./piapi-openapi.json
当生成漂移报告时,新功能已经由其表示
在基线被接受后,合同支持的MCP工具。验证MCP
服务器,运行 npm run sync:accept,并提交刷新的基线。更新a
仅当精心策划的特定于模型的用户体验有用时,才使用手写的便利工具。
自动化
.github/workflows/sync-piapi.yml 仅保留用于手动调度。
从批准的本地自动化环境运行定期同步,
其持有单独所有者批准的MCP证书并且可以验证,
在敏感信息门通过后,接收并推送目录更新。
发展
项目结构
piapi-mcp-server/
├── assets/
├── src/
│ ├── index.ts # Main server entry point
│ └── sync/ # PiAPI -> MCP sync task
│ ├── cli.ts # CLI: snapshot / diff / accept / report-file
│ ├── fetchers.ts # GitHub Postman contract + local-file sources
│ ├── normalize.ts # OpenAPI -> (model, task_type) catalog
│ ├── diff.ts # catalog diff + Markdown report
│ ├── catalog.ts # baseline load/save
│ ├── mcp_tools.ts # catalog -> contract-backed FastMCP tool schemas
│ ├── selftest.ts # offline engine test (npm run test:sync)
│ ├── types.ts
│ └── baseline.piapi-catalog.json # committed baseline
├── .github/workflows/sync-piapi.yml # weekly drift check
├── package.json
├── tsconfig.json
└── .env.example
许可证
麻省理工学院