Skip to main content
Glama

Luma MCP

多模型视觉理解 MCP 服务器,为不支持原生视觉能力的 AI 助手提供统一的图片分析能力。

English | 中文

特性

  • 多模型支持:GLM-4.6V、DeepSeek-OCR、Qwen3-VL-Flash、Doubao-Seed-1.6、Hunyuan-Vision

  • 单工具设计:统一通过 image_understand 完成图片理解,兼容旧客户端

  • 面向复杂截图优化:大图自动多裁剪、文本密集场景保真处理

  • 统一预处理链路:本地文件、远程 URL、Data URI 都进入同一套处理流程

  • 适用场景完整:代码截图、UI 截图、报错截图、文档截图、OCR

  • 标准 MCP 协议:可接入 Claude Desktop、Cline、Claude Code 等客户端

  • HTTP / Docker 部署:局域网内多客户端共享一个实例(v1.7.0+)

  • 内置重试:降低临时网络或模型请求失败带来的影响

Related MCP server: image-mcp

快速开始

前置要求

  • Node.js >= 18

  • 任意一个模型提供商的 API Key

安装

直接通过 npx 运行(无需本地安装):

npx -y luma-mcp

或从源码构建:

git clone https://github.com/JochenYang/luma-mcp.git
cd luma-mcp
npm install
npm run build

不使用 MCP?Luma Vision Skill(轻量替代)

不想安装 MCP 服务器,或你使用的 AI 客户端(如 Kimi Code)支持 skill 而不支持 MCP?可直接使用仓库内的 vision-skill/

  • 安装:把 vision-skill/ 目录复制到你所用 agent 的 skills 目录(如 ~/.agents/skills/vision-skill

  • 激活:发送图片时以 /skill luma-vision 开头,skill 会执行 scripts/vision.js 直连视觉模型 API 完成分析

  • 配置:在系统环境变量中设置(与 MCP 版 custom provider 共用同一组变量):

变量

说明

CUSTOM_BASE_URL

OpenAI 兼容 API 地址(默认 https://api.minimaxi.com/v1

CUSTOM_MODEL_NAME

模型名称(默认 MiniMax-M3

CUSTOM_API_KEY

API Key

与 MCP 版的差异:skill 是零依赖轻量脚本,只做"单图直连"——支持本地路径、HTTP(S) URL、Data URI,图片参数留空时自动扫描常见缓存目录找最新图片;但不包含 MCP 版的多裁剪、压缩、重试、SSRF 防护等能力。

配置

基础配置(npx 方式)

在 MCP 客户端的 mcpServers 中注册(Claude Desktop、Cline / VSCode 通用):

{
  "mcpServers": {
    "luma": {
      "command": "npx",
      "args": ["-y", "luma-mcp"],
      "env": {
        "MODEL_PROVIDER": "zhipu",
        "ZHIPU_API_KEY": "your-api-key"
      }
    }
  }
}

MODEL_PROVIDER 与对应的 API Key 环境变量替换为实际使用的提供商:

MODEL_PROVIDER

API Key 环境变量

zhipu

ZHIPU_API_KEY

siliconflow

SILICONFLOW_API_KEY

qwen

DASHSCOPE_API_KEY

volcengine

VOLCENGINE_API_KEY

hunyuan

HUNYUAN_API_KEY

custom

CUSTOM_API_KEY + CUSTOM_BASE_URL + CUSTOM_MODEL_NAME

默认模型见提供商密钥表;如需覆盖模型,可追加 MODEL_NAME 环境变量,例如:

  • MODEL_NAME=doubao-seed-1-6-vision-250815(Volcengine 视觉深度思考模型)

  • MODEL_NAME=hy-vision-2.0-instruct(Hunyuan,腾讯云 TokenHub)

NOTE

混元模型已迁移:腾讯混元平台的旧视觉模型(hunyuan-t1-vision-20250916Tencent HY Vision 1.5 Instruct 等)已于 2026-06-22 下线,新模型(HY-Vision 2.0 等)迁移至腾讯云 TokenHub。luma 的 hunyuan provider 默认端点仍指向旧平台;改用 TokenHub 新模型时,建议以 custom provider 接入,将 CUSTOM_BASE_URL 设为 https://tokenhub.tencentmaas.com/v1

Claude Code 快捷命令

# Zhipu
claude mcp add -s user luma-mcp --env MODEL_PROVIDER=zhipu --env ZHIPU_API_KEY=your-api-key -- npx -y luma-mcp

# SiliconFlow
claude mcp add -s user luma-mcp --env MODEL_PROVIDER=siliconflow --env SILICONFLOW_API_KEY=your-api-key -- npx -y luma-mcp

# Qwen
claude mcp add -s user luma-mcp --env MODEL_PROVIDER=qwen --env DASHSCOPE_API_KEY=your-api-key -- npx -y luma-mcp

# Volcengine
claude mcp add -s user luma-mcp --env MODEL_PROVIDER=volcengine --env VOLCENGINE_API_KEY=your-api-key --env MODEL_NAME=doubao-seed-1-6-vision-250815 -- npx -y luma-mcp

# Hunyuan(新模型在腾讯云 TokenHub,旧混元平台模型已下线)
claude mcp add -s user luma-mcp --env MODEL_PROVIDER=hunyuan --env HUNYUAN_API_KEY=your-api-key --env MODEL_NAME=hy-vision-2.0-instruct -- npx -y luma-mcp

本地开发模式

指向本地 build/index.js(将 <项目路径> 替换为你本机的项目绝对路径):

{
  "mcpServers": {
    "luma": {
      "command": "node",
      "args": ["<项目路径>/build/index.js"],
      "env": {
        "MODEL_PROVIDER": "zhipu",
        "ZHIPU_API_KEY": "your-api-key"
      }
    }
  }
}

若 MCP 客户端支持设置工作目录,也可直接使用相对路径 build/index.js 并把 cwd 指向项目根目录。

HTTP / Docker 部署(局域网共享,v1.7.0+)

默认走 stdio(本地进程)。需要局域网内多个客户端共享一个实例时,改用 Streamable HTTP 传输:

# 本地直接运行(HTTP 模式)
MCP_TRANSPORT=http MCP_HTTP_PORT=3000 MCP_HTTP_TOKEN=your-token node build/index.js

Docker 部署:

docker build -t luma-mcp .
docker run -d --name luma-mcp -p 3000:3000 \
  -e MODEL_PROVIDER=zhipu \
  -e ZHIPU_API_KEY=your-api-key \
  -e MCP_HTTP_TOKEN=your-token \
  luma-mcp

客户端配置(Claude Desktop / Cline 等支持 URL 方式的客户端):

{
  "mcpServers": {
    "luma": {
      "type": "http",
      "url": "http://<服务器IP>:3000/mcp",
      "headers": {
        "Authorization": "Bearer your-token"
      }
    }
  }
}
IMPORTANT

务必设置 MCP_HTTP_TOKEN:HTTP 模式下任何能访问该端口的人都能调用 image_understand,消耗你的模型 API 额度。

图片来源限制:HTTP 模式下 image_source 只支持 HTTP(S) URL 与 Data URI,本地文件路径不可用(服务端在远端,读不到客户端文件);Data URI 传入的图片上限约 10MB(受请求体 30MB 限制)。

Custom Provider(v1.5.0+)

使用任意 OpenAI 兼容端点(OpenAI、OpenRouter、Together AI、Anthropic 代理、本地 vLLM/Ollama 等):

claude mcp add -s user luma-mcp \
  --env MODEL_PROVIDER=custom \
  --env CUSTOM_API_KEY=sk-your-key \
  --env CUSTOM_BASE_URL=https://your-endpoint.com/v1 \
  --env CUSTOM_MODEL_NAME=your-model \
  -- npx -y luma-mcp

可选配置(都有默认值):

  • CUSTOM_AUTH_HEADER=bearerbearer / x-api-key / custom

  • CUSTOM_PATH=/chat/completions — API 路径

  • CUSTOM_TIMEOUT_MS=60000 — 超时毫秒

  • CUSTOM_THINKING_MODE=disableddisabled / openai / qwen_extra_body

  • CUSTOM_AUTH_HEADER_VALUE="X-API-Key: {{key}}" — 自定义 Header 模板({{key}} 会被替换为 API Key)

使用

image_understand

单一工具,参数:

参数

必填

说明

image_source

粘贴路径、本地文件路径、HTTP(S) 图片 URL 或 Data URI

prompt

用户对图片的原始问题,无需手写长分析模板

task_type

auto | general | ocr | ui | debug | describe

task_type 行为:

  • 省略或 auto(默认):与旧版一致,按 prompt 启发式路由

  • ocr:文字提取,默认单图高保真(关闭 multi-crop)

  • ui / debug:界面结构 / 报错截图,倾向文本保真

  • describe:简短描述

示例:

image_understand({
  image_source: "./screenshot.png",
  prompt: "分析这个页面的布局和主要组件结构",
  task_type: "ui",
});

image_understand({
  image_source: "./code-error.png",
  prompt: "这段代码为什么报错?请给出修复建议",
  // task_type 可省略,行为与旧版兼容
});

image_understand({
  image_source: "https://example.com/ui.png",
  prompt: "找出这个界面的可用性问题",
});

使用建议

  • 非视觉模型需要明确提示调用 MCP 工具

  • 代码截图、OCR、长图、表格这类文本密集图片会自动启用更保真的处理方式

  • 大图会按配置自动生成原图加裁剪图,提高细节理解能力

  • 需要排查耗时/裁剪数时设 INCLUDE_META=trueLUMA_DEBUG=1,结果末尾会附 luma_meta

环境变量

通用配置

变量名

默认值

说明

MODEL_PROVIDER

zhipu

模型提供商:zhipusiliconflowqwenvolcenginehunyuancustom

MODEL_NAME

自动选择

模型名称覆盖

MAX_TOKENS

8192

最大生成 token 数(部分模型有硬上限,见下方说明)

TEMPERATURE

0.7

采样温度

TOP_P

0.95

核采样阈值

ENABLE_THINKING

true

思考模式,设为 false 关闭

MULTI_CROP

true

大图多裁剪,设为 false 关闭

MULTI_CROP_MAX_TILES

5

多裁剪最大图块数(含原图,1–16)

BASE_VISION_PROMPT

内置默认值

自定义基础视觉提示词(设为空字符串可关闭)

INCLUDE_META

false

true 时在工具结果末尾附加预处理/API 耗时等 meta

LUMA_DEBUG

关闭

1/true 时等同开启 INCLUDE_META

MCP_TRANSPORT

stdio

传输方式:stdio(默认)或 http(Streamable HTTP)

MCP_HTTP_HOST

0.0.0.0

HTTP 模式监听地址(Docker 内需为 0.0.0.0

MCP_HTTP_PORT

3000

HTTP 模式监听端口

MCP_HTTP_TOKEN

空(不鉴权)

HTTP 模式 Bearer token;局域网共享务必设置

IMPORTANT

关于 Token 限制的特别说明:

  1. SiliconFlow (DeepSeek-OCR): 该模型的总上下文长度(输入+输出)仅为 8192。为了确保图片能正常输入,Luma 已在客户端内部将 MAX_TOKENS 硬性限制在 4096 以内。即使你在环境变量中设置了更高的值,也会被截断。

  2. 通用建议: 视觉理解任务通常不需要极长的输出。对于大多数模型,建议将 MAX_TOKENS 保持在 40968192。设置过高(如 16384)在处理大图时,可能因总长度超过模型上限而导致 400 错误。

提供商密钥

提供商

必填环境变量

默认模型

Zhipu

ZHIPU_API_KEY

glm-4.6v

SiliconFlow

SILICONFLOW_API_KEY

deepseek-ai/DeepSeek-OCR

Qwen

DASHSCOPE_API_KEY

qwen3-vl-flash

Volcengine

VOLCENGINE_API_KEY

doubao-seed-1-6-flash-250828

Hunyuan

HUNYUAN_API_KEY

hunyuan-t1-vision-20250916

图片限制与处理

  • 支持格式:JPG、PNG、WebP、GIF

  • 最大输入大小:10MB(本地文件、远程 URL、Data URI 一致)

  • 超过 2MB 的图片会自动压缩

  • 最大分辨率:1600 万像素(超出将报错)

  • 远程 URL 会先拉取到统一预处理链路再发送给模型,并带 SSRF 防护(拒绝内网/私网地址、禁用重定向)

  • 长边 ≥ 1800px 或 ≥ 350 万像素的大图,自动生成原图 + 有序裁剪图(受 MULTI_CROP / MULTI_CROP_MAX_TILES 控制)

本地测试

# 单元测试(不调用真实 API)
npm run test:unit

# MCP stdio 端到端测试(真实调用 image_understand)
npm run test:mcp

# MCP HTTP 传输测试(无需 API key)
npm run test:http

# 基础测试
npm run test:local ./test.png

# 带问题测试
npm run test:local ./code-error.png "这段代码为什么报错?"

# 远程图片测试
npm run test:local https://example.com/image.jpg

# 检查源码和测试脚本类型
npm run typecheck

模型选择建议

  • OCR、文字识别:DeepSeek-OCR

  • 快速低成本通用分析:Qwen3-VL-Flash

  • 高性价比通用分析:Doubao-Seed-1.6

  • 深度图片理解:GLM-4.6V

  • 复杂图文推理、多语言:Hunyuan-Vision(新模型为混元 HY-Vision,见腾讯云 TokenHub)

项目结构

luma-mcp/
├── src/
│   ├── index.ts                      # MCP 服务器入口,注册 image_understand
│   ├── http-server.ts                # Streamable HTTP 传输层(鉴权/会话/CORS)
│   ├── config.ts                     # 环境变量加载与校验
│   ├── constants.ts                  # 默认视觉提示词等常量
│   ├── task-types.ts                 # 可选 task_type 路由
│   ├── vision-client.ts              # 视觉模型客户端接口
│   ├── openai-compatible-client.ts   # OpenAI 兼容请求基类
│   ├── zhipu-client.ts               # GLM-4.6V 客户端
│   ├── siliconflow-client.ts         # DeepSeek-OCR 客户端
│   ├── qwen-client.ts                # Qwen3-VL 客户端
│   ├── volcengine-client.ts          # Doubao-Seed-1.6 客户端
│   ├── hunyuan-client.ts             # Hunyuan-Vision 客户端
│   ├── custom-client.ts              # 任意 OpenAI 兼容端点
│   ├── image-processor.ts            # 图片预处理、压缩、多裁剪
│   └── utils/
│       ├── helpers.ts                # 重试、响应格式化、错误脱敏
│       └── logger.ts                 # 日志
├── test/
│   ├── test-local.ts                 # 本地单图/多图测试
│   ├── test-qwen.ts                  # Qwen 客户端测试
│   ├── test-deepseek-raw.ts          # DeepSeek-OCR 原始调用测试
│   ├── test-data-uri.ts              # Data URI 处理测试
│   ├── test-custom.ts                # CustomClient 单元测试
│   ├── test-task-types.ts            # task_type 路由测试
│   ├── test-mcp-stdio.ts             # MCP stdio 端到端测试
│   ├── test-mcp-http.ts              # MCP HTTP 传输测试(无需 API key)
│   └── image-processor-regression.ts # 图片处理回归测试
├── Dockerfile                        # HTTP 模式容器化部署
├── vision-skill/                     # 轻量识图 skill(无 MCP 用户的替代方案)
│   ├── SKILL.md                      # skill 定义:/skill luma-vision 激活
│   └── scripts/vision.js             # 零依赖识图脚本,直连视觉模型 API
├── docs/
│   └── README_EN.md
├── build/                            # 编译产物
├── package.json
└── tsconfig.json

开发

npm run watch
npm run build
npm run typecheck

相关链接

更新历史

CHANGELOG.md

许可证

MIT

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
1hResponse time
1wRelease cycle
25Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    B
    maintenance
    Local MCP server that provides multi-modal vision capabilities to single-modal base models via API, supporting multi-turn iterative image recognition and document image parsing.
    5
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • MCP server for MiniMax H3 multimodal video generation

View all MCP Connectors

Latest Blog Posts

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/JochenYang/luma-mcp'

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