ImmichMCP
一种模型上下文协议(MCP)服务器 伊米奇 -自托管照片和视频管理解决方案。该服务器提供一流的AI界面来管理您的Immich库。
特性
- 资产管理:搜索、浏览、上传、更新和删除照片/视频
- 智能搜索:使用CLIP的基于ML的语义搜索(例如,“海滩上的日落”)
- 元数据搜索:按日期、位置、相机、人物等筛选
- 专辑:创建、管理和共享相册
- 人们:查看和管理人脸识别集群
- 标签:使用自定义标签组织资产
- 共享链接:为相册和资源创建可共享的URL
- 活动:向相册/资产添加评论和点赞
需求
- .NET 10.0 SDK
- Immich服务器实例
- Immich API密钥
安装
选项1:从源代码运行
# Clone the repository
git clone https://github.com/barryw/ImmichMCP.git
cd ImmichMCP
# Set environment variables
export IMMICH_BASE_URL="https://photos.example.com"
export IMMICH_API_KEY="your-api-key"
# Run with stdio transport (for Claude Desktop)
dotnet run --project ImmichMCP -- --stdio
# Or run with HTTP transport (for remote usage)
dotnet run --project ImmichMCP
选项2:Docker
docker run -e IMMICH_BASE_URL="https://photos.example.com" \
-e IMMICH_API_KEY="your-api-key" \
-p 5000:5000 \
ghcr.io/barryw/immichmcp:latest
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|
IMMICH_BASE_URL | 是 | - | 您的Immich实例的基本URL |
IMMICH_API_KEY | 是 | - | 用于身份验证的API密钥 |
MCP_LOG_LEVEL | 没有 | Information | 日志记录级别 |
DOWNLOAD_MODE | 没有 | url | url 返回URL, base64 返回编码内容 |
MAX_PAGE_SIZE | 没有 | 100 | 每页最大项目数 |
MCP_PORT | 没有 | 5000 | HTTP服务器端口 |
Claude桌面配置
添加到您的Claude桌面配置(~/.config/claude/claude_desktop_config.json 在Linux/macOS或 %APPDATA%\Claude\claude_desktop_config.json 在Windows上):
{
"mcpServers": {
"immich": {
"command": "dotnet",
"args": ["run", "--project", "/path/to/ImmichMCP/ImmichMCP", "--", "--stdio"],
"env": {
"IMMICH_BASE_URL": "https://photos.example.com",
"IMMICH_API_KEY": "your-api-key"
}
}
}
}
或者使用Docker:
{
"mcpServers": {
"immich": {
"command": "docker",
"args": ["run", "-i", "--rm",
"-e", "IMMICH_BASE_URL=https://photos.example.com",
"-e", "IMMICH_API_KEY=your-api-key",
"ghcr.io/barryw/immichmcp:latest", "--stdio"]
}
}
}
可用工具
健康与能力
| 工具 | 说明 |
|---|
immich.ping | 验证连接并返回服务器版本 |
immich.capabilities | 列出可用的API功能 |
资产
| 工具 | 说明 |
|---|
immich.assets.list | 使用筛选器列出最近的资产 |
immich.assets.get | 获取完整的资产元数据 |
immich.assets.exif | 获取资产的EXIF数据 |
immich.assets.download.original | 获取原始文件的下载URL |
immich.assets.download.thumbnail | 获取缩略图/预览URL |
immich.assets.upload | 上传资产(base64) |
immich.assets.upload_from_path | 从本地文件路径上传 |
immich.assets.update | 更新资产元数据 |
immich.assets.bulk_update | 批量更新多个资产 |
immich.assets.delete | 删除资产 |
immich.assets.statistics | 获取资产统计信息 |
搜索
| 工具 | 说明 |
|---|
immich.search.metadata | 按元数据筛选器搜索 |
immich.search.smart | 基于机器学习的语义搜索(CLIP) |
immich.search.explore | 获取探索/发现数据 |
专辑
| 工具 | 说明 |
|---|
immich.albums.list | 列出所有相册 |
immich.albums.get | 获取相册详细信息 |
immich.albums.create | 创建新相册 |
immich.albums.update | 更新相册元数据 |
immich.albums.assets.add | 将资产添加到相册 |
immich.albums.assets.remove | 从相册中删除资产 |
immich.albums.delete | 删除相册 |
immich.albums.statistics | 获取相册统计信息 |
人们
| 工具 | 说明 |
|---|
immich.people.list | 列出所有认可的人 |
immich.people.get | 获取人员详细信息 |
immich.people.update | 更新人员信息 |
immich.people.merge | 合并重复的人 |
immich.people.assets | 列出某人的资产 |
标签
| 工具 | 说明 |
|---|
immich.tags.list | 列出所有标签 |
immich.tags.get | 按ID获取标签 |
immich.tags.create | 创建新标签 |
immich.tags.update | 更新标签 |
immich.tags.delete | 删除标签 |
immich.tags.assets.add | 标记资产 |
immich.tags.assets.remove | 从资产中删除标签 |
共享链接
| 工具 | 说明 |
|---|
immich.shared_links.list | 列出所有共享链接 |
immich.shared_links.get | 获取共享链接详细信息 |
immich.shared_links.create | 创建共享链接 |
immich.shared_links.update | 更新共享链接 |
immich.shared_links.delete | 删除共享链接 |
活动
| 工具 | 说明 |
|---|
immich.activities.list | 列出评论/点赞 |
immich.activities.create | 添加评论或点赞 |
immich.activities.delete | 删除活动 |
immich.activities.statistics | 获取活动统计信息 |
示例用法
搜索上个月的照片
Search for photos taken in the last 30 days that are favorites
创建相册并添加照片
Create a new album called "2026 Winter Vacation" and add all photos from January 2026
智能搜索
Find photos of sunset at the beach
批量存档
Archive all photos from 2020 that aren't favorites
安全特性
- 所有破坏性操作都需要明确
confirm: true 参数 - 批量操作默认为
dryRun: true 模式 - 在不进行更改的情况下,模拟运行会返回受影响的内容
响应格式
所有工具都返回一致的JSON信封:
{
"ok": true,
"result": { ... },
"meta": {
"request_id": "uuid",
"page": 1,
"page_size": 25,
"total": 123,
"next": "cursor-or-null",
"immich_base_url": "https://photos.example.com"
},
"warnings": []
}
错误响应:
{
"ok": false,
"error": {
"code": "NOT_FOUND",
"message": "Asset not found",
"details": { ... }
},
"meta": { ... }
}
许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
相关项目