Skip to main content
Glama

MCP Vision Relay

by ah-wq
README.zh-CN.md4.11 kB
# MCP Vision Relay [English](README.md) | [中文说明](README.zh-CN.md) One-line summary: MCP Vision Relay wraps local Gemini/Qwen multimodal CLIs into a unified MCP tool so text-only models can instantly gain vision skills. MCP Vision Relay 是一个面向 Claude、Codex 等 MCP 客户端的视觉“中继站”,把本地安装的多模态 CLI(目前支持 Google Gemini CLI 与 Qwen CLI)统一成标准的 MCP 工具。 > **为什么需要它?** Claude Code 如果对接 k2、DeepSeek、MiniMax M2 等文本模型时,本身不具备多模态能力。接入 MCP Vision Relay 后,可借助 Gemini/Qwen CLI 来补齐看图能力,在不更换底层模型的情况下实现“物美价廉”的体验。 ## 功能亮点 - **双提供方支持**:Gemini 与 Qwen 两套 CLI 都能通过统一工具调用。 - **三种输入形式**:本地路径、HTTP(S) URL、base64 全覆盖,自动校验大小与扩展名。 - **可配置执行**:模型、输出格式、sandbox、超时、附加 flag 均可按需调整。 - **Provider 抽象层**:新 CLI 只需实现 provider,就能无缝接入工具层。 - **结构化结果**:工具返回标准文本 + 元信息,方便在 IDE/CLI 中展示。 ## 快速开始 ### 前置条件 1. Node.js 18 或更高版本 2. 已在本地安装并配置好的 Gemini CLI、Qwen CLI(确认 `gemini -p "hi"`、`qwen -p "hi"` 可正常执行) ### 安装与构建 ```bash npm install npm run build ``` ### 启动 MCP 服务 ```bash # 开发模式:直接执行 TypeScript npm run dev # 生产模式:使用 dist 产物 npm run start ``` 启动后会通过 stdio 暴露 MCP 服务,可配合 `claude mcp add`、`codex mcp add` 使用。 ## 与 MCP 客户端集成示例 > ⚠️ 注册 MCP 客户端时请直接调用入口。命令里使用 `npm run dev` 会输出 npm 横幅到 stdout,导致 MCP 握手失败。如需保留 npm 脚本,请改为 `npm --silent run dev --`。 ### Claude CLI ```bash claude mcp add mcp-vision-relay -- npx tsx /absolute/path/to/mcp-vision-relay/src/index.ts ``` ### Codex CLI ```bash codex mcp add mcp-vision-relay -- node /absolute/path/to/mcp-vision-relay/dist/index.js ``` 注册完成后,在对应会话中即可使用 `mcp-vision-relay` 的工具。 ## 可用工具 ### `gemini_analyze_image` - 自动把 prompt 与 `@绝对路径` 组合传给 Gemini CLI。 - 支持自定义模型(`model`)、输出格式(`outputFormat`)、sandbox、额外参数等。 ### `qwen_analyze_image` - 对本地文件自动转成 data URL,确保 Qwen CLI 可以读取。 - 其他参数与 Gemini 版本保持一致。 工具返回 Markdown 文本,并带有 `model`、`imageSource`、`durationMs` 等元信息,便于后续处理。 ## 配置说明 复制 `.env.example` 即可自定义: - `GEMINI_CLI_COMMAND` / `QWEN_CLI_COMMAND` - `GEMINI_DEFAULT_MODEL` / `QWEN_DEFAULT_MODEL` - `GEMINI_OUTPUT_FORMAT` - `MCP_COMMAND_TIMEOUT_MS` - `MCP_MAX_IMAGE_BYTES` - `MCP_ALLOWED_IMAGE_EXTENSIONS` - `MCP_IMAGE_TEMP_DIR` 如果只想为特定调用覆盖 CLI,可在工具参数里传 `cliPath`。 ## 本地验证脚本 ``` npx tsx scripts/dev/manual-gemini-test.ts npx tsx scripts/dev/manual-qwen-test.ts ``` 脚本将直接调用 `runTool`,便于排查 CLI 输出问题。 ## 项目结构 ``` src/ index.ts # 程序入口 config/ # 配置与默认值 providers/ # Gemini/Qwen CLI 适配层 server/ # MCP server wiring tools/ # 工具注册与 schema 定义 utils/ # 文件、命令执行等工具函数 scripts/ dev/ # 手动测试脚本 test-assets/ # 示例图片 ``` ## 开发规划 - [x] Gemini CLI 图像分析 - [x] Qwen CLI 图像分析 - [ ] 更多多模态 provider - [ ] 自动化测试、CI、格式化 ## 许可协议 MIT License,欢迎提交 issue / PR。 ## 致谢 - [Model Context Protocol](https://github.com/modelcontextprotocol) - [Google Gemini CLI](https://github.com/google-gemini/gemini-cli) - [@qwen-code/qwen-code](https://www.npmjs.com/package/@qwen-code/qwen-code)

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ah-wq/mcp-vision-relay'

If you have feedback or need assistance with the MCP directory API, please join our Discord server