云图像优化服务

Cloudinary MCP与OpenAI集成的云图像优化服务,适用于需要自动化图像处理和优化的开发场景。

  • by musebe
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 musebe/cloudinary-mcp-openai-test

使用说明

Cloudinary MCP+OpenAI集成问题报告

问题摘要

我正在按照以下步骤实现Cloudinary的MCP服务器与OpenAI的集成 官方文件,但在使用时遇到来自OpenAI的API的400错误 mcp_server 工具类型。

实现细节

端点: POST /optimize-image
技术栈:

  • Node.js v20.17.0
  • 快递服务器
  • OpenAI SDK v5.6.0
  • Cloudinary资产管理v0.5.0

index.js中的关键实现片段:

app.post('/optimize-image', async (req, res) => {
  try {
    const response = await openai.chat.completions.create({
      model: 'gpt-4o',
      messages: [{
        role: 'user',
        content: `Upload and optimize: ${req.body.imageUrl}`
      }],
      tools: [{
        type: 'mcp_server',
        mcp_server: {
          name: 'cloudinary-asset-mgmt',
          command: 'npx',
          args: ['-y', '--package', '@cloudinary/asset-management', '--', 'mcp', 'start'],
          env: {
            CLOUDINARY_CLOUD_NAME: process.env.CLOUDINARY_CLOUD_NAME,
            CLOUDINARY_API_KEY: process.env.CLOUDINARY_API_KEY,
            CLOUDINARY_API_SECRET: process.env.CLOUDINARY_API_SECRET
          }
        }
      }]
    });
    res.json(response.choices[0].message);
  } catch (error) {
    res.status(500).json({ error: error.message });
  }
});

测试命令

curl -X POST http://localhost:3000/optimize-image \
  -H "Content-Type: application/json" \
  -d '{"imageUrl":"https://res.cloudinary.com/demo/image/upload/sample.jpg"}'

错误结果

服务器响应:

{
  "error": "400 Missing required parameter: 'tools[0].function'."
}

OpenAI错误详细信息:

{
  "status": 400,
  "error": {
    "message": "Missing required parameter: 'tools[0].function'.",
    "type": "invalid_request_error",
    "param": "tools[0].function",
    "code": "missing_required_parameter"
  }
}

环境验证

  • OpenAI API密钥:✅ 有效且有效
  • Cloudinary凭据:✅ 已验证且正确
  • 依赖关系:✅ 正确安装
  • 服务器:✅ 运行时没有启动错误

观察

  1. 请求结构与Cloudinary的文档完全匹配
  2. OpenAI拒绝 mcp_server 工具类型
  3. 错误特别是缺少引用 tools[0].function 参数
  4. 不同的图像URL会出现相同的错误
  5. 基本OpenAI请求(无工具)成功工作

请求协助

您能帮助识别:

  1. 是 mcp_server 当前OpenAI SDK版本仍然支持工具类型?
  2. 构建MCP服务器集成工具阵列的正确方法是什么?
  3. 除了文档中的参数外,还需要其他参数吗?
  4. OpenAI SDK v5.6.0和Cloudinary的MCP方法之间是否存在兼容性问题?