MCP Midjourney MCP服务器

使用说明(Markdown格式)

项目简介

  • 本仓库实现一个基于 MCP(Model Context Protocol)的服务器端,聚合对 AceDataCloud 的 Midjourney API 的访问能力,允许大语言模型通过标准化的工具、资源和 Prompt 模板与后端进行交互,完成图像、视频生成、编辑、描述、翻译、任务查询等工作流。

主要功能点

  • MCP 服务器核心能力:处理 MCP 请求/响应、管理会话与能力声明,提供多传输协议支持(STDIO 与 HTTP)。
  • 资源与工具管理:托管并暴露一组用于图像/视频生成与处理的工具(如 midjourney_imagine、midjourney_transform、midjourney_edit、midjourney_generate_video、midjourney_describe、midjourney_translate 等)。
  • Prompt 模板:提供可渲染的提示模板,帮助 LLM 设计高质量的交互流程与工作流示例。
  • 远程与本地运行:支持本地 STDIO 模式以及远程 HTTP 模式(通过 Bearer token 进行鉴权)。
  • 安全与部署:HTTP 模式通过中间件进行令牌校验,提供健康检查和可观测性日志,支持 Docker/self-host 部署。
  • 高层封装的 API 客户端:内部封装对 AceDataCloud Midjourney 的 HTTP 调用,包含 Imagine/Describe/Edit/Video/Translate/Seed/Task 等端点。

安装步骤

  • 安装依赖并进入项目:Clone 后执行 pip install -e . -(可选)创建并配置环境变量:复制 .env.example 为 .env,并在其中设置 ACEDATACLOUD_API_TOKEN(如在本地 STDIO 模式需要)。
  • 运行方式有两种:
    • STDIO 本地模式(默认): mcp-midjourney
    • HTTPerver 模式(对外暴露 API): mcp-midjourney --transport http --port 8000
  • 运行时日志和启动信息将显示在终端,支持通过 DEBUG/INFO 等日志级别进行观测。

服务器配置(MCP 客户端配置描述,JSON 格式,含 server name、command、args 等)
{ "server_name": "midjourney", "command": "mcp-midjourney", "args": [ // 如需使用 HTTP 模式,可添加 // "--transport", "http", // "--port", "8000" ], "description": "MCP Midjourney 服务端,提供图像/视频生成及相关工具的 MCP 接入点。", "notes": "客户端通过 MCP 配置连接到该服务器。健康接口在 /health 提供,默认 STDIO 方式启动时通过本地流进行通信,HTTP 模式通过 /mcp 路径暴露服务。" } 注:以上配置示例应作为 MCP 客户端配置参考,真实使用时请根据运行环境调整命令参数。MCP 客户端无需了解内部实现细节,只需按上述字段进行连接配置。

基本使用方法

  • 连接与调用:通过 MCP 客户端向服务器注册工具与提示模板,LLM 通过工具名调用相应的 Midjourney 功能(如 imagine、edit、describe、translate、generate_video 等),服务器将对 AceDataCloud 的 Midjourney API 进行调用并返回任务信息(如 task_id、结果 URL 等)。
  • 运行与监控:在本地 STDIO 模式下,你的终端即为客户端和服务器的通信通道;在 HTTP 模式下,通过 Bearer token 在 Authorization 头部进行鉴权,调用 /mcp 路径进行 JSON-RPC 通信。
  • 常用工作流示例:先调用 midjourney_imagine 生成图片,再使用 midjourney_transform/on 视情况进行变换或放大,必要时可通过 midjourney_get_task 查询任务状态。

注意事项

  • 在 HTTP 模式下,请确保在每次请求中携带有效的 Bearer token,服务端会从请求头中提取并用于上游 API 鉴权。
  • 该实现包含完整的工具、提示与示例工作流,便于在多种 MCP 兼容客户端环境下进行集成测试与生产应用。

关键词 图像生成, 视频生成, AI工具集成, 云端API服务, JSON-RPC

分类ID 6

服务器信息