GLM图像MCP服务器
🚀 火箭/快速上升/飞速发展 增强型模型上下文协议(MCP)服务器,利用OpenRouter和Google Gemini视觉模型进行专注图像分析
](https://badge.fury.io/js/glm-image-mcp)  ](https://nodejs.org/) 
✨ 特点/功能
🎯 多供应商支持
- OpenRouter访问多个视觉模型,包括x-ai/grok-4-fast:free、Claude等更多模型
- Google Gemini直接访问Gemini 2.5 Pro和Flash模型
- 灵活切换根据请求选择提供商或设置环境默认值
- 自动检测自动检测可用的API密钥并选择最佳提供商
🔧 高级图像分析
- 基本面分析使用可定制提示分析整个图像
- 集中分析分析特定方面(文本、人脸、物体、颜色、布局)
- 智能验证带安全检查的参数和图像验证机制,确保稳健性
- 错误处理全面的错误报告和优雅的回退机制
🚀 性能与安全
- 快速处理优化以实现快速图像分析
- 内存高效处理大图像时不会出现内存泄漏
- 安全第一输入验证和清理,以防范恶意内容
- 跨平台在Windows、macOS和Linux系统上均可运行
📁 项目结构
glm-image-mcp/
├── glm-image-mcp.js # Main MCP server ⭐
├── package.json # Package configuration
├── README.md # This file
├── LICENSE # MIT License
├── .gitignore # Git ignore rules
├── .github/
│ └── workflows/
│ └── test.yml # GitHub Actions workflow
├── utils/
│ └── validation.js # Input validation utilities
└── examples/
├── basic-analysis.js # Basic usage examples
└── multi-provider-config.js # Multi-provider configuration🚀 快速入门
选项1:直接从GitHub安装(推荐)
# Install globally using npx (no npm publish needed)
npx github:QuickkApps/GLM-Image-MCP
# Or install globally using git
npm install -g git+https://github.com/QuickkApps/GLM-Image-MCP.git
# Or install locally
npm install git+https://github.com/QuickkApps/GLM-Image-MCP.git选项2:从GitHub克隆
git clone https://github.com/QuickkApps/GLM-Image-MCP.git
cd GLM-Image-MCP
npm install选项3:直接从GitHub使用(npx)
npx github:QuickkApps/GLM-Image-MCP🔧 配置
设置API密钥
选择一个或两个提供商:
# For OpenRouter (recommended for model variety)
export OPENROUTER_API_KEY="your-openrouter-api-key"
export OPENROUTER_MODEL="x-ai/grok-4-fast:free"
# For Google Gemini (fast and reliable)
export GEMINI_API_KEY="your-gemini-api-key"
export GEMINI_MODEL="gemini-2.5-pro"2. MCP客户端配置
配置您的MCP客户端(如Claude Desktop、GLM或任何兼容MCP的集成开发环境):
{
"mcpServers": {
"glm-image-mcp": {
"command": "npx",
"args": ["github:QuickkApps/GLM-Image-MCP"],
"env": {
"OPENROUTER_API_KEY": "your-openrouter-key",
"OPENROUTER_MODEL": "x-ai/grok-4-fast:free",
"GEMINI_API_KEY": "your-gemini-key",
"GEMINI_MODEL": "gemini-2.5-pro"
}
}
}
}4. 模型配置
您可以通过环境变量设置自定义模型:
# For OpenRouter models
export OPENROUTER_MODEL="anthropic/claude-3-sonnet"
export OPENROUTER_MODEL="openai/gpt-4-vision-preview"
export OPENROUTER_MODEL="x-ai/grok-4-fast:free"
# For Google Gemini models
export GEMINI_MODEL="gemini-1.5-flash"
export GEMINI_MODEL="gemini-2.5-pro"
export GEMINI_MODEL="gemini-1.5-pro"
# Use with npx
OPENROUTER_MODEL="anthropic/claude-3-sonnet" npx github:QuickkApps/GLM-Image-MCP
GEMINI_MODEL="gemini-1.5-flash" npx github:QuickkApps/GLM-Image-MCP3. 本地开发配置
对于本地开发:
{
"mcpServers": {
"glm-image-mcp": {
"command": "node",
"args": ["glm-image-mcp.js"],
"cwd": "/path/to/glm-image-mcp",
"env": {
"OPENROUTER_API_KEY": "your-openrouter-key",
"GEMINI_API_KEY": "your-gemini-key"
}
}
}
}🛠️ 可用工具
analyze_image - 综合图像分析
使用提供商和模型选择来分析图像。
参数:
image_path(字符串,必填):图像文件的路径prompt(字符串,必填):分析提示provider(字符串,可选):“openrouter”或“gemini”(未指定时自动检测)model(字符串,可选):要使用的特定模型(覆盖环境默认值)
describe_image - 快速图像描述
使用默认的描述性提示详细描述一张图片。
参数:
image_path(字符串,必填):图像文件的路径prompt(字符串,可选):自定义提示(未提供时使用默认提示)provider(字符串,可选):"openrouter" 或 "gemini"model(字符串,可选):要使用的特定模型
focused_analyze_image - 聚焦分析
使用针对性提示分析图像的特定方面。
参数:
image_path(字符串,必需): 图像文件的路径focus_area(字符串,可选):特定领域(“文本”,“人脸”,“物体”,“颜色”,“布局”)prompt(字符串,可选):自定义重点分析提示provider(字符串,可选):"openrouter" 或 "gemini"model(字符串,可选):要使用的特定模型
📊 使用示例
自动检测的基本分析
{
"image_path": "/path/to/image.jpg",
"prompt": "Describe what you see in this image"
// Automatically detects available provider
}使用特定模型的OpenRouter
{
"image_path": "/path/to/image.jpg",
"prompt": "Analyze this image in detail",
"provider": "openrouter",
"model": "anthropic/claude-3-sonnet"
}用于快速分析的双子座(或“双子座分析工具”)
{
"image_path": "/path/to/image.jpg",
"prompt": "What objects do you see in this image?",
"provider": "gemini",
"model": "gemini-1.5-flash"
}重点分析
{
"image_path": "/path/to/document.jpg",
"focus_area": "text",
"provider": "gemini"
}定制化焦点分析
{
"image_path": "/path/to/chart.jpg",
"prompt": "Extract all data points and trends from this chart",
"provider": "openrouter",
"model": "x-ai/grok-4-fast:free"
}🎯 供应商对比
| 功能 | OpenRouter | Google Gemini |
|---|---|---|
| 模型多样性 | 50+ 种视觉模型 | Gemini 2.5 Pro/Flash |
| 速度 | 快速 | 非常快速 |
| 成本 | 变量(每种型号) | 有竞争力 |
| 准确性 | 高 | 优秀 |
| 最适合/最适用于 | 模型灵活性 | 速度与一致性 |
| 免费模型 | 是(grok-4-fast) | 有限配额 |
🔧 API密钥设置
OpenRouter API密钥
- 参观 OpenRouter.ai
- 注册并获取您的API密钥
- 设置环境变量:
export OPENROUTER_API_KEY="your-key"
谷歌Gemini API密钥
- 访问 Google AI Studio(谷歌人工智能工作室)
- 创建一个新的API密钥
- 设置环境变量:
export GEMINI_API_KEY="your-key"
🧪 测试
快速测试
# Test installation
npx glm-image-mcp --help
# Test with sample image (if you have one)
node examples/basic-analysis.js集成测试
# Clone and test locally
git clone https://github.com/your-username/glm-image-mcp.git
cd glm-image-mcp
npm install
npm test🔄 模型选择优先级
- 请求
model参数覆盖所有环境默认设置 - 请求
provider仅使用该提供商的默认模型 - 无参数自动检测可用API密钥以确定提供商
- 环境变量当未提供请求参数时,设置默认值
🚨 故障排除
常见问题
服务器无法启动
# Check Node.js version
node --version # Should be >= 14.0.0
# Check dependencies
npm install
# Test syntax
node -c glm-image-mcp.jsAPI密钥问题
Error: No API keys found. Please set either GEMINI_API_KEY or OPENROUTER_API_KEY*解决方案*设置正确的环境变量
无效的提供者
Error: Invalid provider: invalid_provider*解决方案*使用“openrouter”或“gemini”
图像文件问题
Error: Image file not found: /path/to/image.jpg*解决方案*验证文件路径并确认文件存在
不支持的格式
Error: Unsupported image format: .gif. Supported formats: .jpg, .jpeg, .png, .webp, .bmp, .tiff*解决方案*将图像转换为支持的格式
🔒 安全功能
- API密钥从不被记录或暴露
- ✅ 输入验证阻止恶意内容
- ✅ 图像缓冲区已验证格式和大小
- ✅ 文件大小限制(最大50MB)
- ✅ 路径遍历防护
- ✅ 全面的错误处理
📈 表现
| 指标 | 值 |
|---|---|
| 启动时间 | 少于2秒 |
| 分析时间 | 3-10秒(取决于图像大小和模型) |
| 内存使用量 | 基础大小+图像大小约50MB |
| 支持的格式 | JPEG, PNG, WebP, BMP, TIFF |
| 最大文件大小 50MB |
🤝 与MCP客户端的集成
这款MCP服务器与任何兼容MCP的客户端都能无缝协作:
Claude Desktop(中文可译为“Claude桌面版”或保持原样,具体取决于上下文和是否需要意译)
{
"mcpServers": {
"glm-image-mcp": {
"command": "npx",
"args": ["glm-image-mcp"]
}
}
}GLM 4.6
- 在您的GLM 4.6界面中配置MCP设置
- 根据请求选择提供商或设置默认值
- 根据您的需求选择模型
- 接收针对GLM 4.6处理优化的文本回复
其他MCP客户端
任何兼容MCP的客户端都可以使用标准配置格式连接到此服务器。
📦 依赖项
- @modelcontextprotocol/sdk(注:这个名称在中文中没有直接对应的翻译,因为它是一个特定项目或库的名称,通常保持原样或根据上下文进行适当解释。在这里,我将其直译为“@模型上下文协议/SDK”,但实际使用时可能需要根据具体情况调整。) (^1.19.1) - MCP框架
- node-fetch (^2.6.7) - HTTP 请求
- 锋利的;敏锐的;清晰的 (^0.33.0) - 图像处理(可选,用于增强验证)
🚀 部署选项
1. npm 包(推荐)
npm install -g glm-image-mcp
glm-image-mcp2. 直接来自GitHub
npx github:QuickkApps/GLM-Image-MCP
# With custom model
OPENROUTER_MODEL="anthropic/claude-3-sonnet" npx github:QuickkApps/GLM-Image-MCP
GEMINI_MODEL="gemini-1.5-flash" npx github:QuickkApps/GLM-Image-MCP3. Docker(即将推出)
docker run -e OPENROUTER_API_KEY=your-key glm-image-mcp4. GitHub Actions(GitHub 操作)
在包含GitHub Actions工作流的CI/CD管道中使用。
🤝 贡献
我们欢迎投稿!请参阅我们的 贡献指南 详情见下。
开发环境设置
git clone https://github.com/your-username/glm-image-mcp.git
cd glm-image-mcp
npm install
npm test拉取请求流程
- 克隆仓库
- 创建一个特性分支
- 进行你的更改
- 如适用,请添加测试
- 提交一个拉取请求
📄 许可证
这个项目采用MIT许可证授权——详见 许可证 详情请查阅文件。
🙏 致谢
- 模型上下文协议 对于MCP框架
- OpenRouter(直译为“开放路由器”,但根据上下文,这可能是一个特定服务或平台的名称,因此也可意译为“开放路由服务”或保持原样作为专有名词) 为访问多个AI模型提供途径
- Google Gemini 对于强大的视觉API
- MCP社区,用于反馈和贡献
📞 支持
- 💬 Discord(一种即时通讯软件): arshagor190(这个词汇本身在中文中没有直接对应的翻译,因为它可能是一个特定的用户名、代码或专有名词,所以保持原样)
- 🐛 问题:
- 💬 讨论:
______________________________________________________________________
🚀 为MCP生态系统提供简单、可靠且强大的图像分析解决方案
由\[QuicKK Apps\]用心打造
