一个完整的 MCP 服务器,支持图片分析和生成。支持本地文件、HTTP URL 和剪贴板图片的分析,以及基于 qwen-image-plus 模型的图片生成功能
Project description
Image MCP Server
一个简洁的 MCP (Model Context Protocol) 服务器,专门用于图片内容分析。基于阿里云通义千问3-VL-Plus模型,支持本地图片文件和剪贴板图片的分析。
功能特点
- 🖼️ 多格式支持: 支持 JPEG、PNG、GIF、WebP、BMP、TIFF 等主流图片格式
- 📋 剪贴板支持: 可以直接分析剪贴板中的图片
- 🔧 简单易用: 通过 uvx 一键安装和配置
- 🤖 智能分析: 基于通义千问3-VL-Plus的强大视觉理解能力
- ⚡ 高性能: 异步处理,支持快速响应
安装
使用 uvx 安装(推荐)
# 通过 uvx 安装最新版本
uvx image-mcp-server@latest
使用 pip 安装
pip install image-mcp-server
配置
1. 获取 API 密钥
访问 阿里云百炼平台 获取 DashScope API 密钥。
2. 配置 Claude Desktop
在 Claude Desktop 的配置文件中添加以下配置:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"image-mcp-server": {
"command": "uvx",
"args": ["image-mcp-server@latest"],
"env": {
"IMAGE_MCP_DASHSCOPE_API_KEY": "your-dashscope-api-key-here"
}
}
}
}
3. 环境变量配置
你也可以通过环境变量配置 API 密钥:
export IMAGE_MCP_DASHSCOPE_API_KEY="your-dashscope-api-key-here"
或者创建 .env 文件:
# 复制示例文件
cp .env.example .env
# 编辑 .env 文件,填入你的 API 密钥
使用方法
1. 分析本地图片文件
请分析这张图片: ./path/to/your/image.jpg
2. 分析剪贴板图片
请分析剪贴板中的图片
3. 带问题分析
分析这张图片并回答: 这张图片中主要展示了什么内容?
支持的输入格式
- 文件路径:
./image.jpg,/path/to/image.png,../images/photo.gif - 剪贴板:
clipboard(关键词) - 相对路径: 支持相对当前工作目录的路径
- 绝对路径: 支持完整的文件系统路径
支持的图片格式
- JPEG (.jpg, .jpeg)
- PNG (.png)
- GIF (.gif)
- WebP (.webp)
- BMP (.bmp)
- TIFF (.tiff)
开发
环境准备
# 克隆仓库
git clone https://github.com/yourusername/image-mcp-server.git
cd image-mcp-server
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 安装依赖
pip install -e ".[dev]"
运行测试
pytest
代码格式化
black src/
isort src/
类型检查
mypy src/
项目结构
image_mcp_server/
├── src/image_mcp_server/
│ ├── __init__.py # 包初始化
│ ├── server.py # MCP 服务器主逻辑
│ ├── image_handler.py # 图片处理模块
│ └── api_client.py # DashScope API 客户端
├── tests/ # 测试文件
├── pyproject.toml # 项目配置
├── README.md # 项目文档
├── .env.example # 环境变量示例
└── .gitignore # Git 忽略文件
API 说明
analyze_image 工具
分析图片内容的主要工具。
参数:
image(必需): 图片来源,可以是文件路径或 "clipboard"question(可选): 关于图片的问题,默认为 "请分析这张图片的内容"
返回: 图片的详细分析文本内容。
故障排除
常见问题
-
API 密钥错误
- 确保环境变量
IMAGE_MCP_DASHSCOPE_API_KEY设置正确 - 检查 API 密钥是否有效且未过期
- 确保环境变量
-
图片文件不存在
- 确保图片文件路径正确
- 检查文件权限
-
剪贴板访问失败
- 确保剪贴板中有图片数据
- 在某些系统上可能需要额外的权限
-
网络连接问题
- 确保网络连接正常
- 检查防火墙设置
调试模式
启用详细日志:
export IMAGE_MCP_LOG_LEVEL=DEBUG
许可证
MIT License
贡献
欢迎提交 Issue 和 Pull Request!
更新日志
v0.2.0
- 重构为统一的 base64 处理逻辑
- 简化为单一图片分析工具
- 改进剪贴板支持
- 优化错误处理
v0.1.5
- 初始版本
- 基础图片分析功能
支持
如果你遇到问题或有建议,请:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file image_mcp_server-0.3.0.tar.gz.
File metadata
- Download URL: image_mcp_server-0.3.0.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e334aab26944125f7d7c94db1852955b176bfb42c2d98696db0f1d7a47b7cdf
|
|
| MD5 |
190f123c3b8580e315fd439e5ecd1d52
|
|
| BLAKE2b-256 |
c2b6c6853ab3169364dff948e5c9a289d0504604d05f7eb0da77b7fe6939e92e
|
File details
Details for the file image_mcp_server-0.3.0-py3-none-any.whl.
File metadata
- Download URL: image_mcp_server-0.3.0-py3-none-any.whl
- Upload date:
- Size: 17.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ec5035800f7907eca170aaa3f0c37c21bdba967c65f9414e14db0e0deaacbaa
|
|
| MD5 |
08c3e3d7fa1f28b5ec116162035918a4
|
|
| BLAKE2b-256 |
d69eee55abdbe43750160ffdd2c323436a077ea1d1d1d9b2cc1e7a3fc2cd5212
|