article
README
🚀 exif-mcp
exif-mcp 是一个 MCP 服务器,可让大语言模型(或人类)在完全离线的情况下按需读取图像元数据。它基于 exifr 库,运行速度快,且不依赖任何外部工具。
🚀 快速开始
exif-mcp 是一个模型上下文协议(MCP)服务器,提供多种工具以提取图像的各种元数据段。该工具使用 TypeScript 编写,并借助 exifr 库解析常见格式如 JPEG、PNG、TIFF 和 HEIC 的图像元数据。这使得该服务能够在不执行任何外部工具的情况下解析图像元数据,从而实现高效且可靠。
✨ 主要特性
- 允许大语言模型或人类在完全脱机的情况下按需读取图像元数据。
- 基于
exifr库,运行速度极快且不依赖任何外部工具。 - 提供多种工具以提取图像的各种元数据段。
- 支持四种图像加载方式:文件路径、网络 URL、Base64 字符串、Buffer 对象。
- 提供针对常见问题的标准错误处理机制。
📦 安装指南
# 克隆仓库
git clone <repository-url>
cd exif-mcp
# 安装依赖
npm install
# 启动服务器
npm start
💻 使用示例
配置 Claude Desktop
将以下内容添加到 Claude Desktop 的配置文件中:
{
"exif-mcp": {
"serverUrl": "http://localhost:3000"
}
}
工具列表
以下是可用工具的完整列表及其功能描述:
- 读取元数据:提取图像的所有元数据信息。
- 读取 EXIF:专用于提取 EXIF 元数据。
- 读取 XMP:专门用于提取 XMP 元数据。
- 读取 IPTC:专门用于提取 IPTC 元数据。
- 读取 GPS:专门用于提取 GPS 相关元数据。
- 读取-makerNote:专门用于提取相机特定的注释信息。
图像加载支持
exif-mcp 支持以下四种图像加载方式:
- 文件路径
- 网络 URL
- Base64 字符串
- Buffer 对象
📚 详细文档
项目结构
exif-mcp/
├── src/
│ ├── server.ts # 主入口点
│ ├── tools/
│ │ ├── index.ts # 工具注册
│ │ ├── loaders.ts # 图像加载工具类
│ │ └── segments.ts # exifr 选项构建器
│ └── types/
│ └── image.ts # 类型定义
├── tests/ # 测试文件
└── README.md # 项目说明文档
错误处理
exif-mcp 提供了针对常见问题的标准错误处理机制:
- 不支持的格式或缺少元数据
- 网络获取失败
- 负载过量
- 内部 exifr 错误
📄 许可证
BSD 2 - clause
致谢
- exifr - 极速且可靠的 EXIF 解析库
扫码联系在线客服