luma-mcp

作者 JochenYang

多模型视觉理解 MCP 服务器,为不支持图片理解的 AI 编码模型提供视觉能力:分析截图、报错、UI 与文档,可接入多家主流视觉大模型。Multi-model vision MCP server that adds image understanding to AI coding models without native vision — analyze screenshots, errors, UI and documents via major vision LLM providers.

111
Stars
11
Forks
TypeScript
语言
2026/8/23
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/JochenYang/luma-mcp

快速入门

使用 luma-mcp 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

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+)
  • 内置重试:降低临时网络或模型请求失败带来的影响

快速开始

前置要求

  • 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_URLOpenAI 兼容 API 地址(默认 https://api.minimaxi.com/v1
CUSTOM_MODEL_NAME模型名称(默认 MiniMax-M3
CUSTOM_API_KEYAPI 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_PROVIDERAPI Key 环境变量
zhipuZHIPU_API_KEY
siliconflowSILICONFLOW_API_KEY
qwenDASHSCOPE_API_KEY
volcengineVOLCENGINE_API_KEY
hunyuanHUNYUAN_API_KEY
customCUSTOM_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_typeauto | 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_PROVIDERzhipu模型提供商:zhipusiliconflowqwenvolcenginehunyuancustom
MODEL_NAME自动选择模型名称覆盖
MAX_TOKENS8192最大生成 token 数(部分模型有硬上限,见下方说明)
TEMPERATURE0.7采样温度
TOP_P0.95核采样阈值
ENABLE_THINKINGtrue思考模式,设为 false 关闭
MULTI_CROPtrue大图多裁剪,设为 false 关闭
MULTI_CROP_MAX_TILES5多裁剪最大图块数(含原图,1–16)
BASE_VISION_PROMPT内置默认值自定义基础视觉提示词(设为空字符串可关闭)
INCLUDE_METAfalsetrue 时在工具结果末尾附加预处理/API 耗时等 meta
LUMA_DEBUG关闭1/true 时等同开启 INCLUDE_META
MCP_TRANSPORTstdio传输方式:stdio(默认)或 http(Streamable HTTP)
MCP_HTTP_HOST0.0.0.0HTTP 模式监听地址(Docker 内需为 0.0.0.0
MCP_HTTP_PORT3000HTTP 模式监听端口
MCP_HTTP_TOKEN空(不鉴权)HTTP 模式 Bearer token;局域网共享务必设置

[!IMPORTANT] 关于 Token 限制的特别说明:

  1. SiliconFlow (DeepSeek-OCR): 该模型的总上下文长度(输入+输出)仅为 8192。为了确保图片能正常输入,Luma 已在客户端内部将 MAX_TOKENS 硬性限制在 4096 以内。即使你在环境变量中设置了更高的值,也会被截断。
  2. 通用建议: 视觉理解任务通常不需要极长的输出。对于大多数模型,建议将 MAX_TOKENS 保持在 40968192。设置过高(如 16384)在处理大图时,可能因总长度超过模型上限而导致 400 错误。

提供商密钥

提供商必填环境变量默认模型
ZhipuZHIPU_API_KEYglm-4.6v
SiliconFlowSILICONFLOW_API_KEYdeepseek-ai/DeepSeek-OCR
QwenDASHSCOPE_API_KEYqwen3-vl-flash
VolcengineVOLCENGINE_API_KEYdoubao-seed-1-6-flash-250828
HunyuanHUNYUAN_API_KEYhunyuan-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

常见问题

What is luma-mcp?

luma-mcp is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by JochenYang. 多模型视觉理解 MCP 服务器,为不支持图片理解的 AI 编码模型提供视觉能力:分析截图、报错、UI 与文档,可接入多家主流视觉大模型。Multi-model vision MCP server that adds image understanding to AI coding models without native vision — analyze screenshots, errors, UI and documents via major vision LLM providers. It has 111 GitHub stars.

Is luma-mcp safe to use?

luma-mcp returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.

How do I install luma-mcp?

Clone the repository with "git clone https://github.com/JochenYang/luma-mcp" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is luma-mcp written in?

luma-mcp is primarily written in TypeScript. It is open-source under JochenYang on GitHub, so you can review or fork the full source.

Are there alternatives to luma-mcp?

Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh luma-mcp against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

Scrapling

by D4Vinci

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

75,9137,581Python
MCP 服务器
查看详情

TrendRadar

by sansan0

⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。

61,65224,883Python
MCP 服务器
查看详情

context7

by upstash

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

61,0602,938TypeScript
MCP 服务器
查看详情

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

39,9393,219C
MCP 服务器
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情