Open Food Facts について
Open Food Factsは、Open Food Factsの食品データベースを検索・更新するMCPサーバーです。商品検索、条件指定、認証が必要なデータ編集に対応します。
主な機能
- 01バーコードによる商品検索
- 02構造化フィルターまたはLucene検索
- 03ブランドやカテゴリの入力補完
- 04商品データの追加・編集
- 05商品画像のアップロードと調整
- 06APIエンドポイントとドキュメントへのアクセス
活用シーン
- 01指定商品の栄養情報の確認
- 02バーコードから原材料を検索
- 03Nutri-Scoreでシリアルを検索
- 04商品情報や画像の追加
MCP 対応
Open Food Factsは、商品検索、照会、編集、画像、APIドキュメントのツールをMCPクライアントに提供します。書き込み操作には認証情報が必要です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y openfoodfacts-mcpOFF_USER_AGENTUser-Agent string in format 'AppName/Version (email)'. Required by the Open Food Facts API.OFF_USER_IDOpen Food Facts user ID (optional, needed for write operations).OFF_PASSWORDシークレットOpen Food Facts password (optional, needed for write operations).OFF_COUNTRYCountry subdomain (default: 'world').MCP_TRANSPORTTransport type.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
openfoodfacts-mcp
Open Food Facts API 用の MCP サーバーです。世界最大のオープンな食品データベースを検索、閲覧し、データを提供できます。
ユースケース
商品名で商品を検索する:「Sainsbury's のバッファローチキンラップのカロリーはいくつですか?」→ 商品名で検索して商品を見つけ、栄養データを返します。
バーコードで商品を検索する:「バーコード 3017620422003 の商品には何が含まれていますか?」→ Nutella の原材料、Nutri-Score、栄養データを取得します。
健康的な商品を見つける:「Nutri-Score が A の朝食用シリアルを検索して」→ カテゴリーと栄養グレードのフィルターを使って検索します。
データを提供する:「バーコード 12345678 の商品の名前とブランドを追加して」→ Open Food Facts の商品エントリーを作成または更新します。
データベースを調べる:「データベースにはどのようなオーガニックチョコレートのブランドがありますか?」→ オートコンプリートと検索を使って調べます。
セットアップ
install-mcp の手順に従ってください。お使いの MCP クライアント(Claude Code、Claude Desktop、Cursor、Cline、VS Code など)に適した設定が生成されます。
アプリを識別するために OFF_USER_AGENT を設定してください(例:openfoodfacts-mcp/1.2.0 ([email protected]))。書き込み操作(商品の追加・編集、画像のアップロード)には、OFF_USER_ID と OFF_PASSWORD も設定してください。
環境変数
| 変数 | 必須 | 説明 |
|---|---|---|
OFF_USER_AGENT | はい | User-Agent 文字列。例:"AppName/1.0 ([email protected])" |
OFF_USER_ID | いいえ | Open Food Facts のユーザー名(書き込み操作用) |
OFF_PASSWORD | いいえ | Open Food Facts のパスワード(書き込み操作用) |
OFF_COUNTRY | いいえ | 国のサブドメイン(デフォルト:world) |
ツール
| ツール | 説明 | 認証 |
|---|---|---|
get_product | バーコードで商品情報を取得します | いいえ |
search_products_standard | 構造化されたフィルター(ブランド、カテゴリー、Nutri-Score)で検索します | いいえ |
search_products_lucene | Lucene 構文、否定、ブール論理を使って検索します | いいえ |
autocomplete | ブランド、カテゴリー、ラベルなどをオートコンプリートします | いいえ |
add_or_edit_product | 商品を追加または更新します | はい |
upload_image | 商品画像をアップロードします | はい |
select_image | 画像を選択、切り抜き、回転します | はい |
call_api | 任意の OFF API エンドポイントを直接呼び出します | 場合によります |
get_api_docs | OFF API のドキュメントを取得します | いいえ |
コントリビューション
GitHub でのプルリクエストを歓迎します。始めるには、次の手順に従ってください。
- Git と Node.js をインストールします
- リポジトリをクローンします
npm installで依存関係をインストールしますnpm run testを実行してテストを実行しますnpm run buildでビルドします
リリース
バージョンにはセマンティックバージョニング仕様を採用しています。
リリースするには、次の手順に従ってください。
npm version <major | minor | patch>を使ってバージョンを更新しますgit push --follow-tagsを実行してタグとともにプッシュします- GitHub Actions が NPM レジストリに公開するまで待ちます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。