一个提供对 Kie.ai 的 AI API 访问的 MCP(模型上下文协议)服务器,包括 Nano Banana 图像生成/编辑和 Veo3 视频生成。
npm install -g @andrewlwn77/kie-ai-mcp-server
# 克隆仓库
git clone https://github.com/andrewlwn77/kie-ai-mcp-server.git
cd kie-ai-mcp-server
# 安装依赖
npm install
# 构建项目
npm run build
# 必需
export KIE_AI_API_KEY="your-api-key-here"
# 可选
export KIE_AI_BASE_URL="https://api.kie.ai/api/v1" # 默认值
export KIE_AI_TIMEOUT="60000" # 默认值:60秒
export KIE_AI_DB_PATH="./tasks.db" # 默认值:./tasks.db
添加到你的 Claude Desktop 或 MCP 客户端配置中:
{
"kie-ai-mcp-server": {
"command": "node",
"args": ["/path/to/kie-ai-mcp-server/dist/index.js"],
"env": {
"KIE_AI_API_KEY": "your-api-key-here"
}
}
}
或者如果全局安装:
{
"kie-ai-mcp-server": {
"command": "npx",
1. "args": ["-y", "@andrewlwn77/kie-ai-mcp-server"],
2. "env": {
3. "KIE_AI_API_KEY": "your-api-key-here"
4. }
5. }
6. }
7.
8. ## 可用工具
9.
10. ### 1. `generate_nano_banana`
11. 使用 Nano Banana 生成图像。
12.
13. **参数:**
14. - `prompt` (字符串,必需):要生成的图像的文字描述
15.
16. **示例:**
17. ```json
18. {
19. "prompt": "一幅巨大的香蕉在太空中漂浮的超现实画作"
20. }
21. ```
22.
23. ### 2. `edit_nano_banana`
24. 使用自然语言提示编辑图像。
25.
26. **参数:**
27. - `prompt` (字符串,必需):要进行的编辑描述
28. - `image_urls` (数组,必需):要编辑的图像的 URL(最多 5 个)
29.
30. **示例:**
31. ```json
32. {
33. "prompt": "在山脉上添加一道彩虹",
34. "image_urls": ["https://example.com/image.jpg"]
35. }
36. ```
37.
38. ### 3. `generate_veo3_video`
39. 使用 Veo3 生成视频。
40.
41. **参数:**
42. - `prompt` (字符串,必需):视频描述
43. - `imageUrls` (数组,可选):用于图像到视频的图像(最多 1 个)
44. - `model` (枚举,可选):"veo3" 或 "veo3_fast"(默认:"veo3")
45. - `aspectRatio` (枚举,可选):"16:9" 或 "9:16"(默认:"16:9")
46. - `seeds` (整数,可选):随机种子 10000-99999
47. - `watermark` (字符串,可选):水印文本
48. - `enableFallback` (布尔值,可选):启用备用机制
49.
50. **示例:**
51. ```json
52. {
53. "prompt": "一只狗在公园里玩耍",
54. "model": "veo3",
55. "aspectRatio": "16:9",
56. "seeds": 12345
57. }
58. ```
59.
60. ### 4. `get_task_status`
61. 检查生成任务的状态。
62.
63. **参数:**
64. - `task_id` (字符串,必需):要检查的任务 ID
65.
66. ### 5. `list_tasks`
67. 列出最近的任务及其状态。
68.
69. **参数:**
70. - `limit` (整数,可选):返回的最大任务数(默认:20,最大:100)
71. - `status` (字符串,可选):按状态过滤 ("pending", "processing", "completed", "failed")
72.
73. ### 6. `get_veo3_1080p_video`
74. 获取 Veo3 视频的 1080P 高清版本。
75.
76. **参数:**
77. - `task_id` (字符串,必需):要获取 1080p 视频的 Veo3 任务 ID
78. - `index` (整数,可选):视频索引(对于多个视频结果)
79.
80. **注意**:不适用于使用备用模式生成的视频。
81.
82. ## API 端点
83.
84. 服务器与这些 Kie.ai API 端点交互:
85.
86. - **Veo3 视频生成**:`POST /api/v1/veo/generate` ✅ **已验证**
87. - **Veo3 视频状态**:`GET /api/v1/veo/record-info` ✅ **已验证**
88. - **Veo3 1080p 升级**:`GET /api/v1/veo/get-1080p-video` ✅ **已验证**
89. - **Nano Banana 生成**:`POST /api/v1/playground/createTask` ✅ **已验证**
90. - **Nano Banana 状态**:`GET /api/v1/playground/recordInfo` ✅ **已验证**
91.
92. 所有端点都已使用实时 API 响应进行了测试和验证。
93.
94. ## 数据库模式
95.
96. 服务器使用 SQLite 来跟踪任务:
97.
98. ```sql
99. CREATE TABLE tasks (
100. id INTEGER PRIMARY KEY AUTOINCREMENT,
101. task_id TEXT UNIQUE NOT NULL,
102. api_type TEXT NOT NULL, -- 'nano-banana', 'nano-banana-edit', 'veo3'
103. status TEXT DEFAULT 'pending',
104. created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
105. updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
106. result_url TEXT,
107. error_message TEXT
108. );
109. ```
110.
111. ## 使用示例
112.
113. ### 基本图像生成
114. ```bash
115. # 生成一张图像
116. curl -X POST http://localhost:3000/tools/call \
117. -H "Content-Type: application/json" \
118. -d '{
119. "name": "generate_nano_banana",
120. "arguments": {
121. "prompt": "一只戴着太空头盔的猫"
122. }
123. }'
124. ```
125.
126. ### 带选项的视频生成
127. ```bash
128. # 生成一段视频
129. curl -X POST http://localhost:3000/tools/call \
130. -H "Content-Type: application/json" \
131. -d '{
132. "name": "generate_veo3_video",
133. "arguments": {
134. "prompt": "一个盛开鲜花的宁静花园",
135. "aspectRatio": "16:9",
136. "model": "veo3_fast"
137. }
138. }'
139. ```
140.
141. ## 错误处理
142.
143. 服务器处理来自 Kie.ai 的这些 HTTP 错误码:
144.
145. - **200**:成功
146. - **400**:内容政策违规 / 英文提示仅限
147. - **401**:未授权(无效 API 密钥)
148. - **402**:信用不足
149. - **404**:资源未找到
150. - **422**:验证错误 / 记录为空
151. - **429**:速率限制
152. - **451**:图像访问限制
153. - **455**:服务维护
154. - **500**:服务器错误 / 超时
155. - **501**:生成失败
156.
157. ## 开发
158.
159. ```bash
160. # 运行测试
161. npm test
162.
163. # 开发模式,自动重新加载
164. npm run dev
165.
166. # 类型检查
167. npx tsc --noEmit
168.
169. # 生产构建
170. npm run build
171. ```
172.
173. ## 定价
174.
175. 根据 Kie.ai 文档:
176. - **Nano Banana**:每张图像 0.020 美元(4 个信用)
177. - **Veo3 质量**:更高的价格等级
178. - **Veo3 快速**:约为质量模型定价的 20%
179.
180. 查看 https://kie.ai/billing 了解详细定价。
181.
182. ## 生产建议
183.
184. 1. **数据库位置**:设置 `KIE_AI_DB_PATH` 至持久位置
185. 2. **API 密钥安全**:不要将 API 密钥提交到版本控制
186. 3. **速率限制**:对于高流量使用,实现客户端速率限制
187. 4. **监控**:监控任务状态并适当处理失败的生成
188. 5. **存储**:考虑自动清理旧任务记录
189.
190. ## 故障排除
191.
192. ### 常见问题
193.
194. **“未授权”错误**
195. - 验证 `KIE_AI_API_KEY` 设置正确
196. - 检查 API 密钥是否有效:https://kie.ai/api-key
197.
198. **“任务未找到”错误**
199. - 任务可能在 14 天后过期
200. - 检查任务 ID 格式是否符合预期模式
201.
202. **生成失败**
203. - 检查内容政策合规性
204. - 验证提示是否为英文
205. - 确保有足够的 API 信用
206.
207. ## 支持
208.
209. 对于以下问题:
210. - **MCP 服务器**:在 https://github.com/andrewlwn77/kie-ai-mcp-server/issues 提交问题
211. - **Kie.ai API**:联系 support@kie.ai 或查看 https://docs.kie.ai/
212. - **API 密钥**:访问 https://kie.ai/api-key
213.
214. ## 许可证
215.
216. MIT 许可证 - 查看 LICENSE 文件了解详情。
217.
218. ## 贡献
219.
220. 1. 分叉仓库
221. 2. 创建功能分支
222. 3. 进行更改
223. 4. 如适用,添加测试
224. 5. 提交拉取请求
225.
226. ## 更新日志
227.
228. ### v1.0.0
229. - 初始发布
230. - Nano Banana 图像生成和编辑
231. - Veo3 视频生成
232. - 1080p 视频升级支持
233. - SQLite 任务跟踪
234. - 智能端点路由
235. - 全面的错误处理