image-mcp
MCP server for image recognition, supporting multiple vision backends (Anthropic, Zhipu, Ollama) to describe, answer questions, and analyze images.
README
image-mcp · 视觉识别 MCP 服务器
一个基于 Model Context Protocol 的图片识别服务器,统一封装三大视觉 API 后端,让 Claude Desktop / Cursor / 任何 MCP 客户端都能调用图片描述、问答与多图分析能力。
✨ 支持的视觉后端
| Provider | 服务 | 适用场景 |
|---|---|---|
anthropic |
Claude (Anthropic) API | 用户提到的 "code plan API",效果最强 |
zhipu |
智谱 API (GLM-4V 等) | 国产视觉模型,国内访问稳定 |
ollama |
Ollama (本地 llava / llama3.2-vision) | 本地离线运行,零成本、隐私好 |
所有后端通过统一的 provider 参数在运行时动态切换,无需重启。
🧰 暴露的 MCP Tools
| Tool | 参数 | 说明 |
|---|---|---|
vision_describe |
path, provider? |
生成单张图片的详细文字描述/识别结果 |
vision_qa |
path, question, provider? |
针对图片提问,模型按图片内容回答 (VQA) |
vision_analyze |
paths[], prompt, provider? |
对多张图片综合分析/对比 |
provider可选;不传时按DEFAULT_PROVIDER→anthropic→zhipu→ollama优先级自动选择第一个已配置的后端。- 返回结果开头会标注实际使用的 provider,例如
[provider: zhipu]。
📦 安装
# 需要 Node.js >= 20
npm install
npm run build
⚙️ 配置
复制 .env.example 为 .env 并填入密钥:
cp .env.example .env
# Claude (Anthropic)
ANTHROPIC_API_KEY=sk-ant-xxx
ANTHROPIC_MODEL=claude-sonnet-4-5-20250929
# 智谱
ZHIPU_API_KEY=xxx.xxx
ZHIPU_MODEL=glm-4v
# Ollama (本地)
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=llava
# 默认后端
DEFAULT_PROVIDER=anthropic
只需配置你想用的后端的密钥即可,其余可留空。Ollama 无需密钥,但要先
ollama pull llava拉取视觉模型并保持服务运行。
🔌 接入 MCP 客户端
Claude Desktop
编辑配置文件(macOS: ~/Library/Application Support/Claude/claude_desktop_config.json,Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"image-mcp": {
"command": "node",
"args": ["D:\\ai\\image-mcp\\dist\\index.js"],
"env": {
"ANTHROPIC_API_KEY": "sk-ant-xxx",
"ZHIPU_API_KEY": "xxx.xxx",
"DEFAULT_PROVIDER": "anthropic"
}
}
}
}
也可不写
env,改为在项目目录放.env文件(dotenv 会自动加载)。
Cursor / 其他 MCP 客户端
按对应客户端文档添加一个 stdio 类型的 MCP server,命令为 node D:\ai\image-mcp\dist\index.js。
🧪 调试
用官方 Inspector 交互测试:
npm run inspector
会打开网页界面,可手动调用三个工具、查看请求/响应。
🏗️ 项目结构
src/
├── index.ts # MCP 服务器入口,注册 3 个工具
├── providers/
│ ├── index.ts # VisionProvider 接口 + getProvider 工厂
│ ├── anthropic.ts # Claude API 适配器
│ ├── zhipu.ts # 智谱 API 适配器
│ └── ollama.ts # Ollama API 适配器
└── utils/
├── image.ts # 图片读取 + base64 编码 + MIME 推断
└── config.ts # 环境变量加载 + provider 解析
架构说明
三个工具本质都调用 VisionProvider.analyze(images, prompt),区别只在 prompt:
vision_describe→ 固定描述 promptvision_qa→ 用户问题作为 promptvision_analyze→ 多图 + 自定义 prompt
新增一个视觉后端只需实现 VisionProvider 接口并在 getProvider 注册即可。
📜 脚本
| 命令 | 作用 |
|---|---|
npm run build |
TypeScript 编译到 dist/ |
npm start |
运行编译后的服务器 |
npm run inspector |
启动 MCP Inspector 调试 |
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。