OpenFormatDB について
OpenFormatDB の MCP サーバーは、エージェントによるファイル形式の特定、既存ソフトウェアや文書の確認、ファイルのローカル変換を支援します。リポジトリのチェックアウトから形式情報を投稿することもできます。
主な機能
- 01ファイル情報から形式候補を特定
- 02形式、ソフトウェア、仕様の参照
- 03名前や識別子による形式検索
- 04オープンソースの変換経路を検索
- 05WebAssembly によるローカル変換
- 06形式の担当宣言と情報投稿
活用シーン
- 01パーサー作成前の未知ファイルの特定
- 02形式の文書や利用可能なソフトウェアの確認
- 03対応形式間でのローカルファイル変換
- 04チェックアウトから形式情報を提供
MCP 対応
形式の特定、参照、検索、変換経路の確認、ローカル変換、情報源の確認ツールを MCP クライアントに提供します。リポジトリのチェックアウトがあれば、形式の担当宣言や情報投稿も行えます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 6 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| mime | string | いいえ | 判明している場合の MIME タイプ。例:`file --mime-type` の出力 |
| limit | integer | いいえ | |
| extension | string | いいえ | ファイル名または拡張子。例:report.doc または .doc |
| magic_hex | string | いいえ | ファイル先頭のバイト列(16 進数)。空白を含めてもかまいません(通常は 64 バイトで十分です) |
詳細
@openformatdb/mcp
OpenFormatDB 用 MCP サーバーです。エージェントがパーサーを書いたり、ファイルをリバースエンジニアリングしたりする前に、そのファイルが何なのか、すでにどのソフトウェアが読み込み・書き込み・変換に対応しているのか、また、フォーマットがどの程度文書化されているのかを確認できます。
| ツール | 内容 |
|---|---|
identify_file(magic_hex?, tail_hex?, extension?, mime?) | 候補となるフォーマットを、完全なPRONOMシグネチャ(優先順位付き)、プレフィックス、MIMEタイプ、拡張子の順にランク付けします。エージェント自身がバイト列を読み取ります(xxd -p -l 1024 file、tail -c 512 file | xxd -p)。ファイルがマシンの外に送信されることはありません |
lookup_format(id | puid | wikidata | mime) | 完全なレコード:識別子、ソフトウェア(オープンソースを優先し、via と記された場合はファミリーから継承)、文法、仕様、ファミリーとバージョン、最新の申告、アドバイス |
search_formats(query, category?, status?) | 名前、別名、拡張子、MIME、PUID、QIDによる、関連度順の検索結果 |
find_conversion(from, to?) | あるフォーマットから別のフォーマットへの、オープンツールを使った最も低コストな変換チェーン(可逆変換を優先)。各ステップのコマンドと失われる情報を示します。フォーマットはIDまたは拡張子で指定します。engine が指定されたステップは convert_file で実行します |
convert_file(path, to?, output?) | WebAssemblyにコンパイルされたオープンソースのコンバーター(ImageMagick、resvg、FFmpeg、Pandoc、7-Zip、GDAL、Assimp)で、このマシン上のファイルを変換します。アップロードは行いません。各エンジン(2~59 MB)は初回使用時に一度だけダウンロードされ、~/.cache/openformatdb/engines(OFDB_ENGINES_DIR)に固定され、SHA-256で検証されます。to を指定しない場合は、そのファイルを変換できる形式を一覧表示します。出力は入力ファイルと同じ場所に書き込まれ、上書きは行いません |
list_sources() | 集約したソースと、その件数、ライセンス、スナップショットの日付 |
claim_format(id | name+category, who, contact, scope, days?) | フォーマットを文書化中であることを(最長90日間)申告し、作業の重複を防ぎます |
publish_findings(id, patch, release_claim_of?) | 構造、文法、ツール、変換、仕様、識別子、検証結果を統合します。ステータスが後退することはありません |
ネットワークに接続するツールは convert_file のみ(エンジンの初回ダウンロード時)で、チェックアウト外に書き込むツールもこれだけです(変換後のファイル)。書き込みツール2つは、チェックアウト内の data/formats/<id>.yaml を変更し、プルリクエストを作成するためのGitコマンドを表示します。Gitコマンドの実行は行いません。テキストは POLICY.md に基づいて審査されます(DRMの解除、キー、有料規格の複製は禁止)。
インストール
npx -y @openformatdb/mcp
claude mcp add openformatdb -- npx -y @openformatdb/mcp # Claude Code
リリース
package.json、server.json、src/server.ts のバージョンを更新してから、Release MCP
server ワークフローを実行します。このワークフローはテストを実施し、npm(信頼済みパブリッシング)とMCP Registryに org.openformatdb/openformatdb として公開します(シークレット MCP_REGISTRY_PRIVATE_KEY の公開鍵は https://openformatdb.org/.well-known/mcp-registry-auth で提供されます)。
実行方法
チェックアウトなしでは、openformatdb.org の静的APIを読み取ります(読み取り専用。OFDB_API_URL を別の場所に指定できます)。リポジトリをチェックアウトすると、データファイルを読み取り、書き込みもできます。
npm install
npm run mcp # stdio; data from this checkout
OFDB_REPO=/path/to/checkout npm run mcp
Claude Code:claude mcp add openformatdb -- node /path/to/openformatdb/packages/mcp/src/server.ts
Node 22.18以降が必要です(TypeScriptのソースを直接実行します)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。