Skip to content
| Marketplace
Sign in
Visual Studio Code>Machine Learning>OpenRouter Image MCPNew to Visual Studio Code? Get it now.
OpenRouter Image MCP

OpenRouter Image MCP

skzy

| (0) | Free
Local MCP server that generates images with OpenRouter or VectorEngine and saves them into the workspace.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

OpenRouter / VectorEngine Image MCP (VS Code Extension)

这是一个 VS Code 原生的 MCP 服务器扩展,用可配置的图像上游给 Copilot 增加可调用工具。

当前支持两个上游服务端点,默认服务端点为 OpenRouter。

  • OpenRouter (必选/默认端点)
  • 向量引擎 VectorEngine (可选供应商)。由于中国地区用户可能无法访问 OpenRouter,提供此作为备选服务。点击此处注册 VectorEngine

当前提供两个工具:

  • generate_image: 生成图片,并把结果保存到当前工作区
  • list_image_models: 列出服务器内置的模型建议、价格信息,并尽量拉取实时图片模型列表

它的行为更接近 read / edit 这类工具:

  • 接受结构化参数
  • 在工作区内读写真实文件
  • 返回可消费的结果摘要,而不是只给一段自由文本

功能

  • 根据配置自动切换 OpenRouter 或 VectorEngine
  • OpenRouter 走 /api/v1/chat/completions
  • VectorEngine 支持 /v1/chat/completions、/v1/images/generations、/v1/images/edits
  • 支持 modalities 图片输出
  • 支持参考图输入
  • 参考图既可以是工作区内的本地图片路径,也可以是 http(s) URL
  • 把返回的 base64 data URL 保存到工作区内
  • 默认写入 generated-images/
  • 可选控制模型、宽高比、图片尺寸和输出目录
  • generate_image 支持在不写具体模型名时用 pickBy=price|quality|edit 自动选型
  • 内置 OpenRouter 和 VectorEngine 两份图片模型目录,并尽量拉取实时模型列表
  • list_image_models 会输出价格、计费方式、成本档和分辨率提示,方便模型自己在“省钱”和“画质”之间权衡
  • list_image_models 支持 sortBy=price|quality|edit,可按便宜优先、画质优先、编辑优先排序
  • OpenRouter 目录会优先解析 /models 的实时 pricing 字段,并按 1 USD ≈ 7 CNY 给出人民币估算,便于和 VectorEngine 近似对比

插件配置

请在 VS Code 设置 (Settings) 中搜索 OpenRouter Image MCP,并配置以下选项:

  • Openrouter Api Key (必填): 你的 OpenRouter API Key
  • Vectorengine Api Key (选填): 你的 VectorEngine API Key

由于这是一个原生的 VS Code MCP 插件,你不再需要手工编辑工作区内的 .env 文件。配置好 Key 以后,Copilot Chat 以及其他兼容 MCP 的插件即可直接调用 openrouter-image-mcp Provider。

兼容性说明:

  • 旧的 OPENROUTER_API_KEY、OPENROUTER_BASE_URL、OPENROUTER_IMAGE_MODEL 仍然可用
  • 如果你把旧的 OPENROUTER_BASE_URL 指到 https://api.vectorengine.ai/v1,服务器也会自动识别为 VectorEngine 模式
  • 也支持 VECTORENGINE_API_KEY、VECTORENGINE_BASE_URL、VECTORENGINE_IMAGE_MODEL
  • 如果你希望在同一个 MCP 里同时可选两个上游,推荐同时配置 OPENROUTER_* 和 VECTORENGINE_*;然后在调用工具时通过 provider 参数按次覆盖

优先级和常见误区:

  • 如果你填写的是通用变量 IMAGE_PROVIDER、IMAGE_API_KEY、IMAGE_API_BASE_URL、IMAGE_MODEL,它们会优先生效
  • 如果你同时保留了 OPENROUTER_* 和 VECTORENGINE_*,只是新增 VECTORENGINE_API_KEY 并不会自动把默认 provider 切到 VectorEngine
  • 想把默认 provider 切到 VectorEngine,请显式设置 IMAGE_PROVIDER=vectorengine,或者在工具调用时传 provider=vectorengine
  • 改完 .env 后必须重启 openrouterImage MCP 服务器;仅保存 .env 不会自动让已运行的 MCP 进程重新加载环境变量

VS Code 已通过 .vscode/mcp.json 配好这个服务器。改完 .env 后,在命令面板里运行 MCP: List Servers,对 openrouterImage 执行 restart 即可。

向量引擎支持范围

当前接入的是最适合这个 MCP 使用方式的一层:

  • OpenAI 兼容图片接口:/v1/images/generations、/v1/images/edits
  • Gemini chat 兼容图片接口:/v1/chat/completions

这意味着以下模型家族可以直接纳入统一的 generate_image 工具:

  • gpt-image-1 / gpt-image-1.5
  • gpt-image-1-mini / gpt-image-1-all / gpt-image-1.5-all
  • dall-e-3
  • flux-kontext-pro / flux-kontext-max
  • flux-dev / flux-schnell / flux-pro / flux-pro-max / flux-pro-1.1-ultra
  • grok-imagine-image / grok-imagine-image-pro
  • gemini-2.5-flash-image、gemini-2.5-flash-image-preview、gemini-3.1-flash-image-preview、gemini-3-pro-image-preview
  • qwen-image-max / qwen-image-edit-2509 / z-image-turbo
  • doubao-seedream-3.0 / doubao-seededit-3.0 / doubao-seedream-4.0 / doubao-seedream-4.5 / doubao-seedream-5.0

暂未统一封装的,是向量引擎里那些需要独立任务流或专有请求格式的模型,例如 Midjourney、Ideogram、Kling、VIDU 等。它们不是这个版本的 generate_image 接口目标范围。

两种上游怎么合并

可以合并,但要分两层看:

  • 目录层:已经支持合并。list_image_models 现在可传 provider=all,把 OpenRouter 和 VectorEngine 的目录合并输出,并保留每条模型所属 provider。
  • 调用层:也支持按次覆盖。generate_image 现在可传 provider=openrouter 或 provider=vectorengine,不必每次都改 .env 再重启。

这样做的好处是:

  • 模型先用 list_image_models(provider=all) 横向比较价格和能力
  • 再在真正生成时选择更合适的 provider

如果你不想让上游 LLM 每次都先浏览完整目录,可以直接在 generate_image 里省略 model,改传 pickBy:

  • pickBy=price: 倾向低成本
  • pickBy=quality: 倾向高质量
  • pickBy=edit: 倾向参考图编辑能力

当 provider 也省略时,服务器会优先按当前配置自动选;而在 price、quality、edit 这几种模式下,如果两个 provider 都已配置,服务器可以跨 OpenRouter 和 VectorEngine 自动挑一个更合适的模型。

不建议把两个上游在 generate_image 里做完全自动无感路由,因为同名模型在不同上游的可用参数、价格和稳定性可能并不完全一致。现在的做法是“目录合并 + 调用显式选 provider”,边界更清楚。

全局安装

如果你不想把当前源码目录当作日常运行位置,推荐把这个 MCP 服务器安装到一个单独目录,例如:

C:\Tools\openrouter-image-mcp

推荐步骤:

1. 把源码放到单独目录

你可以把整个项目复制、移动,或者重新 clone 到别的位置,例如:

git clone <你的仓库地址> C:\Tools\openrouter-image-mcp
Set-Location C:\Tools\openrouter-image-mcp

如果你不是从 Git 安装,也可以直接把当前目录内容复制过去。

2. 在安装目录执行依赖安装

Set-Location C:\Tools\openrouter-image-mcp
npm install

3. 注册全局命令

这个包现在提供了一个可执行命令:

openrouter-image-mcp

你可以在安装目录执行:

npm install -g .

这一步会把 openrouter-image-mcp 注册到 npm 全局命令目录。

如果你只是想先验证打包是否正常,也可以执行:

npm pack

4. 改成用户级 MCP 配置

不要再依赖当前工作区里的 .vscode/mcp.json。改用用户级 mcp.json:

  1. 在 VS Code 里运行 MCP: Open User Configuration
  2. 把 examples/user-mcp.example.json 的内容复制进去
  3. 保存后重启 openrouterImage

这个示例做了两件关键的事:

  • command 使用全局命令 openrouter-image-mcp
  • cwd 使用 ${workspaceFolder},也就是把“当前打开的工作区”当作运行目标,而不是安装目录

如果你想让 VS Code 像填写 OpenRouter key 一样也弹出 VectorEngine 的全局输入项,关键就是在用户级 mcp.json 里同时增加:

  • 一个 inputs 条目,比如 id: "vectorengine-api-key"
  • 一条 env 映射:"VECTORENGINE_API_KEY": "${input:vectorengine-api-key}"

示例里已经配好了这两项,同时还加了:

  • VECTORENGINE_BASE_URL=https://api.vectorengine.ai/v1
  • VECTORENGINE_IMAGE_MODEL=${input:vectorengine-image-model}

这样保存后,VS Code 就会像处理 OpenRouter 一样记住这组用户级输入;MCP 服务启动时会把它注入成 VECTORENGINE_API_KEY 环境变量。

5. 全局可用范围

改成用户级配置以后,这个 MCP 服务器会在任意打开的工作区里可用,而不是只在当前这个仓库里可用。

但它仍然是“工作区驱动”的工具,所以有一个边界:

  • 打开任意文件夹或 workspace 时可用
  • 打开纯空白窗口、没有 workspace 时,不适合使用,因为它需要一个工作区根目录来读写图片文件

6. 如果命令不在 PATH 里

在 Windows 上,npm 全局命令通常位于:

%AppData%\npm

如果 VS Code 找不到 openrouter-image-mcp,可以把用户级 mcp.json 里的 command 改成绝对路径,例如:

{
	"command": "C:/Users/<用户名>/AppData/Roaming/npm/openrouter-image-mcp.cmd"
}

7. 如果你不想当前仓库继续注册这个服务器

你可以删除或重命名当前仓库里的 .vscode/mcp.json,避免工作区级和用户级配置同时存在。

在 Chat 中使用

安装依赖后,VS Code 识别到 openrouterImage 服务器,就会把这两个工具暴露出来。

1. 纯文字生图

用 generate_image 生成一张清晨薄雾中的海边灯塔海报,16:9,输出到 generated-images/posters

如果你不知道该选哪个模型:

用 generate_image,pickBy=quality,生成一张电影感很强的海边灯塔海报

2. 带参考图编辑

用 generate_image 基于 assets/reference/lighthouse.png 这张参考图,生成一张更复古的海报,输出到 generated-images/posters

3. 查询模型

调用 list_image_models,列出适合参考图编辑的模型

如果你已经切到向量引擎,也可以直接这样问:

调用 list_image_models,列出向量引擎里适合海报编辑的模型

如果你想跨两个上游一起比较:

调用 list_image_models,provider=all,sortBy=price,列出便宜但支持参考图编辑的模型

如果你想先看高质量模型:

调用 list_image_models,provider=all,sortBy=quality,列出更适合精品出图的模型

如果你想先看编辑能力强的模型:

调用 list_image_models,provider=vectorengine,sortBy=edit,列出适合参考图编辑的模型

如果你想临时改用另一个上游生成:

用 generate_image,provider=vectorengine,model=qwen-image-max,生成一张中文海报

如果你知道模型名但不知道它属于哪个 provider,也可以直接写模型名,服务器会在常见模型上尽量自动识别 provider:

用 generate_image,model=qwen-image-max,生成一张中文科技海报

工具参数

generate_image

  • prompt: 图片提示词,必填
  • provider: 可选。openrouter 或 vectorengine。不传时使用 .env 的默认 provider
  • model: 模型 ID。若省略,可结合 pickBy 由服务器自动选型
  • pickBy: 自动选型方式。default 为默认推荐,price 为便宜优先,quality 为画质优先,edit 为编辑优先
  • outputDir: 工作区内输出目录,默认 generated-images
  • fileNamePrefix: 文件名前缀
  • aspectRatio: 例如 1:1、16:9、9:16
  • imageSize: OpenRouter 可用 1K、2K、4K;VectorEngine 的 OpenAI 兼容图片接口更推荐传显式尺寸,例如 1024x1024、1536x1024、1024x1536
  • referenceImages: 可选数组。每项可以是工作区内图片路径、http(s) URL,或 data URL
  • includeText: 是否同时请求模型返回说明文本。对于仅支持图片输出的模型,服务器会自动降级为只请求图片;VectorEngine 的 /images/* 路由通常只返回图片

本地参考图目前支持的文件类型:

  • .png
  • .jpg
  • .jpeg
  • .webp
  • .gif

list_image_models

  • provider: 可选。openrouter、vectorengine 或 all。all 会合并两个上游目录
  • search: 可选关键词过滤
  • maxResults: 最多返回多少个模型,默认 12
  • includePreview: 是否包含 preview 模型,默认 true
  • sortBy: 排序方式。default 为默认推荐顺序,price 为便宜优先,quality 为画质优先,edit 为编辑优先

输出里会标明:

  • 模型是否支持参考图输入
  • 模型是否支持同时返回文本说明
  • 模型价格、计费方式和成本档
  • 是否有分辨率相关提示
  • 哪些模型更适合默认使用、复杂编辑或高质量输出

可用范围

当前这个 MCP 服务器配置写在 .vscode/mcp.json,所以它是工作区级别的,不是全局级别的。

这意味着:

  • 打开当前这个文件夹时可用
  • 把这个文件夹作为 multi-root workspace 的一个根目录打开时也可用
  • 打开别的、无关的文件夹时不可用

如果你想让它在任意 VS Code 文件夹里都可用,需要把配置改到用户级 mcp.json,并使用全局命令或绝对路径启动服务器。

本地开发

npm install
npm test
npm run smoke

npm test 会验证:

  • 图片保存逻辑
  • 本地参考图转 data URL 的上传逻辑
  • OpenRouter 与 VectorEngine 的主要路由行为
  • 模型列表工具的基本行为

npm run smoke 会真正启动 MCP 服务器并通过 MCP 客户端连接,确认:

  • generate_image 工具已注册
  • list_image_models 工具已注册
  • 模型列表工具可正常调用
  • 有 API key 时可以真实出图
  • 没有 API key 时能返回清晰错误

说明

  • 图片工具只允许读写当前工作区内路径。
  • OpenRouter 官方图片文档当前推荐使用 /api/v1/chat/completions,并通过 messages 多模态内容、modalities 与 image_config 控制图片生成。
  • VectorEngine 当前在本项目里分两类接入:Gemini 图片模型走 /v1/chat/completions,OpenAI 兼容图片模型走 /v1/images/generations 或 /v1/images/edits。
  • OpenRouter 支持把参考图作为 image_url 发送;VectorEngine 的图片编辑接口会把参考图转换为 multipart/form-data 上传。
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft