mcpField
E
exif-mcp

exif-mcp

ローカル
github.com/stassメディア・デザイン4050 週間前に更新

exif-mcp について

exif-mcp は、EXIF・XMP・GPS などの画像メタデータをオフラインで読み取る MCP サーバーです。外部ツールを使わず exifr ライブラリに基づいて動作するため、画像ファイルのメタデータを分析・デバッグしたい利用者に向いています。

主な機能

  1. 01完全オフラインでの動作
  2. 02EXIF・GPS・XMP・ICC・IPTC セグメントの読み取り
  3. 03JPEG・TIFF・HEIC/AVIF・PNG への対応
  4. 04ファイルパス・URL・base64・バッファからの読み込み
  5. 05向き・回転・GPS 座標・サムネイルの取得ツール

活用シーン

  1. 01画像メタデータの分析と可視化
  2. 02画像ライブラリ内のカメラやレンズの使用状況の集計
  3. 03画像処理コードのデバッグ

MCP 対応

MCP サーバーとして、read-metadata、gps-coordinates、thumbnail などのツールを STDIO 経由で MCP クライアントに提供し、画像メタデータの読み取りを可能にします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

exif-mcp

LLM(または人間)がオンデマンドで画像のメタデータを完全にオフラインで読み取れる MCP サーバーです。優れた exifr ライブラリを基盤としており、非常に高速で、外部ツールに依存しません。

ユースケース:

  • 画像のメタデータを分析して可視化する
  • 画像ライブラリを分析する:最もよく使っているカメラは何か?レンズの分布は?どの曜日に最も多く写真を撮っているか?お気に入りの場所は?
  • 画像加工コードのデバッグ

このツールは、逆ジオロケーションサービス PlaceSpotter の開発とテストで広く使われています。

概要

exif-mcp は、画像からさまざまなメタデータセグメントを抽出するツールを提供する Model Context Protocol(MCP)サーバーです。TypeScript で構築されており、優れた exifr ライブラリを活用して、JPEG、PNG、TIFF、HEIC などの一般的な形式の画像からメタデータを解析します。 これにより、外部ツールを実行せずに画像のメタデータを解析できるため、高い効率性と安全性を実現しています。

特長
  • ローカルでの動作:完全にオフラインで動作し、リモートネットワークを必要としません
  • 複数のセグメント:EXIF、GPS、XMP、ICC、IPTC、JFIF、IHDR のメタデータを抽出します
  • さまざまな入力形式:JPEG、TIFF、HEIC/AVIF、PNG に対応しています
  • 柔軟な画像ソース:ファイルシステム、URL、base64 データ、バッファーから読み取ります
  • 専用ツール:向き、回転情報、GPS 座標、サムネイルを取得します

インストール

# Clone the repository
git clone https://github.com/stass/exif-mcp.git
cd exif-mcp

# Install dependencies
npm install

# Build the project
npm run build

使用方法

Claude Desktop

Claude の設定ファイル(claude_desktop_config.json)に以下を追加します:

"mcpServers": {
    "exif-mcp": {
      "command": "node",
      "args": [
        "/path/to/exif-mcp/dist/server.js"
      ]
    }
  },

Claude を再起動します。これで、Claude に画像の確認や、特定のカメラで撮影されたファイルの検索などを依頼できます。Claude がファイルを検索してディレクトリを一覧表示できるように、ファイルシステム MCP ツールと組み合わせて使うのがおすすめです。

サーバーの起動
# Start the server
npm start

# For development with auto-reload
npm run dev

このサーバーは MCP SDK の StdioServerTransport を使用しているため、STDIO トランスポートに対応したあらゆる MCP クライアントと互換性があります。

mcp-proxy を使用すると、リモートアクセスを有効にできます。

利用可能なツール

サーバーが提供するツールは次のとおりです。

ツール名説明
read-metadataすべてのメタデータセグメント、または指定したセグメントを読み取ります
read-exifEXIF データを読み取ります
read-xmpXMP データを読み取ります
read-iccICC カラープロファイルデータを読み取ります
read-iptcIPTC メタデータを読み取ります
read-jfifJFIF セグメントデータを読み取ります
read-ihdrIHDR セグメントデータを読み取ります
orientation画像の向き(1~8)を取得します
rotation-info回転と反転の情報を取得します
gps-coordinatesGPS 座標を抽出します
thumbnail埋め込みサムネイルを抽出します
MCP Inspector によるデバッグ
  1. Inspector を起動します:npx @modelcontextprotocol/inspector node dist/server.js
  2. STDIO トランスポートを使用して MCP Inspector に接続します
  3. たとえば、次のパラメーターで read-metadata などのツールを呼び出します:
    {
      "image": {
        "kind": "path",
        "path": "/path/to/image.jpg"
      }
    }
    
  4. 次のように、MCP Inspector のコマンドラインも使用できます:npx @modelcontextprotocol/inspector --cli node dist/server.js --method tools/call --tool-name read-exif --tool-arg image='{"kind": "path", "path": "/path/to/image.jpeg"}' --tool-arg pick="[]"
画像ソースの種類

サーバーでは、複数の方法で画像データを指定できます。

// From local file system
{
  "kind": "path",
  "path": "/path/to/image.jpg"
}

// From URL (http, https, or file://)
{
  "kind": "url",
  "url": "https://example.com/image.jpg"
}

// From base64 data (raw or data URI)
{
  "kind": "base64",
  "data": "data:image/jpeg;base64,/9j/4AAQSkZ..."
}

// From base64 buffer
{
  "kind": "buffer",
  "buffer": "/9j/4AAQSkZ..."
}

開発

テストの実行
# Run tests
npm test

# Run tests with watch mode
npm run test:watch
プロジェクト構成
exif-mcp/
├── src/
│   ├── server.ts         # Main entry point
│   ├── tools/
│   │   ├── index.ts      # Tool registration
│   │   ├── loaders.ts    # Image loading utilities
│   │   └── segments.ts   # exifr options builders
│   └── types/
│       └── image.ts      # Type definitions
├── tests/                # Test files
└── README.md

エラー処理

サーバーは、一般的な問題に対して標準化されたエラー処理を提供します。

  • 非対応形式またはメタデータが見つからない場合
  • ネットワークからの取得に失敗した場合
  • ペイロードが大きすぎる場合
  • exifr 内部エラー

ライセンス

BSD 2-clause

謝辞

  • exifr - 非常に高速で堅牢な EXIF 解析ライブラリ

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。