使用说明

项目简介

'exif-mcp' 是一个遵循 Model Context Protocol (MCP) 的服务器,专注于图片元数据的提取。它利用卓越的 'exifr' 库,支持多种常见的图片格式(如 JPEG, PNG, TIFF, HEIC/AVIF),并能从文件、URL 或 Base64 数据中读取图片。其主要特点是完全离线工作且无需依赖外部图片处理工具,提供了快速、高效和安全的元数据获取能力。

主要功能点

  • 多种图片格式支持: 能够处理 JPEG, TIFF, HEIC/AVIF, PNG 等格式的图片文件。
  • 丰富的元数据提取: 支持提取 EXIF, GPS, XMP, ICC, IPTC, JFIF, IHDR 等多种类型的元数据段。
  • 灵活的图片源: 可以从本地文件路径、网络 URL (http, https, file://) 或 Base64 编码的图片数据加载图片。
  • 专业的元数据工具: 提供了一系列专门的工具,用于获取图片朝向 (Orientation)、旋转信息、GPS 坐标以及嵌入的缩略图。
  • 完全离线运行: 整个元数据提取过程在本地完成,不依赖任何远程网络服务或外部工具,确保隐私和效率。

安装步骤

要安装并运行 'exif-mcp' 服务器,请按照以下步骤操作:

  1. 克隆仓库:
    git clone https://github.com/stass/exif-mcp.git
  2. 进入项目目录:
    cd exif-mcp
  3. 安装依赖:
    npm install
  4. 构建项目:
    npm run build

构建成功后,可执行文件将位于 'dist' 目录下。

MCP客户端配置

'exif-mcp' 服务器使用 STDIO 传输协议。要将其与 MCP 客户端连接,您需要在客户端的配置中添加对该服务器的引用。典型的 MCP 客户端配置(例如 'claude_desktop_config.json' 或其他客户端配置)需要指定服务器的名称、启动命令及其参数。

通常的配置信息如下:

  • 服务器名称 ('server name'): 'exif-mcp'
  • 启动命令 ('command'): 用于执行 Node.js 脚本的命令,通常是 'node'
  • 参数 ('args'): 传递给 'command' 的参数列表,指定服务器脚本的位置,例如:'/path/to/exif-mcp/dist/server.js' (请将 '/path/to/exif-mcp/' 替换为您实际克隆仓库的路径)。

根据您使用的 MCP 客户端,配置格式可能有所不同,但核心信息是提供 'node' 命令和指向 'dist/server.js' 的完整路径。

基本使用方法

安装并配置客户端后,您可以启动服务器并通过客户端与之交互:

  1. 启动服务器: 在项目根目录执行:
    npm start
    服务器将启动并监听 STDIO 连接。
  2. 连接客户端: 启动您的 MCP 客户端(如 Claude Desktop 或 MCP Inspector),它应能检测并连接到已配置的 'exif-mcp' 服务器。
  3. 调用工具: 通过 MCP 客户端界面或命令行调用 'exif-mcp' 提供的工具。例如,要读取一个本地图片的 EXIF 数据,您可以使用 'read-exif' 工具,并提供图片路径作为参数:
    • 工具名称: 'read-exif'
    • 工具参数示例:
      {
        "image": {
          "kind": "path",
          "path": "/path/to/your/image.jpg" 
        }
      }
    客户端将向服务器发送请求,服务器执行相应的工具并返回提取的元数据结果。

详细的工具列表及其参数定义,请参考仓库的 'README.md' 文件或通过 MCP 客户端的能力发现功能查看。

信息

分类

数据库与文件