FoodChecker について
FoodCheckerは、ChatGPTとClaudeで食品表示を確認するMCPサーバーです。栄養、添加物、加工度を0~100点で評価し、根拠と代替品を示します。
主な機能
- 01栄養・添加物・加工度の評価
- 02バーコードや名称で商品検索
- 03写真や貼り付けた表示の分析
- 04添加物のリスクと根拠の説明
- 05同カテゴリのより健康的な商品検索
活用シーン
- 01包装食品の栄養状態を比較
- 02写真から食品表示を確認
- 03添加物のリスクを調べる
- 04より高得点の代替品を探す
MCP 対応
ChatGPTとClaudeに、商品検索、表示分析、添加物の説明、代替品検索を行うMCPツールを提供します。スコアカードのインライン表示とテキスト要約に対応します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://foodchecker-ebon.vercel.app/mcpclaude mcp add --transport http kjagsadvisors-foodchecker https://foodchecker-ebon.vercel.app/mcp{"mcpServers":{"kjagsadvisors-foodchecker":{"type":"http","url":"https://foodchecker-ebon.vercel.app/mcp"}}}Cursor で開く{"servers":{"kjagsadvisors-foodchecker":{"type":"http","url":"https://foodchecker-ebon.vercel.app/mcp"}}}VS Code で開く{"mcpServers":{"kjagsadvisors-foodchecker":{"type":"http","url":"https://foodchecker-ebon.vercel.app/mcp"}}}{"mcpServers":{"kjagsadvisors-foodchecker":{"serverUrl":"https://foodchecker-ebon.vercel.app/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
FoodChecker
ChatGPT と Claude 向けのオープンソース食品ラベルチェッカーです。 バーコード、商品名、ラベルの写真を使って「これは健康的?」と尋ねてみてください。Yuka や Oasis のように、理由とともに 0〜100 点のスコアが表示されます。ただし、チャット内で確認でき、採点方法は誰でも読めます。

| スコア | 評価 |
|---|---|
| 75-100 | 非常に良い |
| 50-74 | 良い |
| 25-49 | 悪い |
| 0-24 | 非常に悪い |
- 栄養: Nutri-Score 2023 に基づいています。
- 添加物: それぞれにリスクレベルと根拠となる情報源が示されます。
- 加工度: NOVA に基づいており、食品が超加工食品に分類される理由も記載されます。
- 代替品: 同じカテゴリーの、より健康的な商品を提案します。
- データ: Open Food Facts の 300 万点を超える商品を収録しています。撮影したラベルも採点され、データベースにない商品にも対応します。
スコアの算出方法:docs/METHODOLOGY.md。
仕組み
1 つの MCP サーバーが両方のアシスタントに対応します。ChatGPT と Claude はどちらもオープンな MCP Apps 標準を実装しているため、同じスコアカードがそれぞれのチャット内に表示されます。
ChatGPT / Claude ──MCP──▶ FoodChecker server ──▶ Open Food Facts API
▲ │
└──── score card (MCP Apps UI) + text summary
| ツール | 機能 |
|---|---|
check_food | バーコードまたは商品名で商品を検索し、採点します |
analyze_label | ラベル(写真または貼り付けたテキスト)から商品を採点します。米国の1食分あたりの表示にも対応します |
find_healthier_alternatives | 類似商品から、明らかに高いスコアの商品を見つけます |
explain_additive | リスクレベルと情報源とともに、E番号または名称(「E471」「Red 40」)で添加物を説明します |
すべてのツールは読み取り専用で、ログインは不要です。
ホスト型サーバーを使う
公開インスタンスは https://foodchecker-ebon.vercel.app/mcp で稼働しています。以下の手順に従って、この URL を ChatGPT または Claude に貼り付けてください。ブラウザーでは https://foodchecker-ebon.vercel.app でスコアカードを試せます。
ローカルで実行する
npm install
npm run dev
- http://localhost:3000/preview?q=coca-cola を開くと、ブラウザーでスコアカードを確認できます。
npm testで採点テストを実行します。npm run smokeは、サーバーの稼働中にライブデータを使って、MCP 経由ですべてのツールを呼び出します。
ChatGPT に追加する
ホスト型 URL または独自のデプロイを使用してください。ChatGPT から localhost にはアクセスできません。
- chatgpt.com/plugins にアクセスし、+ をクリックして、Add custom MCP server を選択します。
- サーバー URL:
https://foodchecker-ebon.vercel.app/mcp。認証:No authentication。 - 作成したら、「Nutella は健康的?」と尋ねてください。
ChatGPT アプリのディレクトリに掲載するには、platform.openai.com/plugins で OpenAI の申請手順に従ってください。FoodChecker は環境変数を使って、必要な要件のうち 2 つに対応しています。
OPENAI_APPS_CHALLENGE:ドメイン確認トークンです。/.well-known/openai-apps-challengeで提供されます。CHATGPT_WIDGET_DOMAIN:ウィジェットのオリジンです。
プライバシーポリシーの URL、利用規約の URL、テスト用プロンプト、デモ動画も必要です。
Claude に追加する
-
claude.ai または Claude Desktop: Customize → Connectors → Add custom connector に進み、
https://foodchecker-ebon.vercel.app/mcpを貼り付けて、No sign-in を選択します。スコアカードは Web、デスクトップ、モバイルで表示されます。 -
Claude Code、リモートサーバー:
claude mcp add --transport http foodchecker https://foodchecker-ebon.vercel.app/mcpを実行します。 -
Claude Code、ローカルサーバー:
claude mcp add foodchecker -- npx tsx /path/to/repo/src/stdio.tsを実行します。 -
使用スキル付きの Claude Code プラグイン: このリポジトリはプラグインマーケットプレイスです。ホスト型サーバーを参照しています。セルフホストする場合は、
plugins/foodchecker/.mcp.jsonの URL を変更してください。その後、次を実行します。/plugin marketplace add kjagsadvisors/foodchecker /plugin install foodchecker@foodchecker
Claude Code ではスコアカードではなくテキストが表示されます。テキストの概要には同じ情報が含まれています。
デプロイ
このサーバーは標準的な Web の Request → Response ハンドラー(src/app.ts)なので、ほぼあらゆる環境で実行できます。
- Docker(Render、Fly.io、Railway、各種 VPS):
docker build -t foodchecker . && docker run -p 3000:3000 foodchecker - Vercel:
vercel deploy。vercel.jsonがプロジェクトをビルドし、すべてのリクエストをapi/index.jsにルーティングします。 - 通常の Node:
npm run build && npm start
OFF_USER_AGENT を FoodChecker/0.1.0 (your contact email) に設定してください。Open Food Facts では、すべてのアプリに識別情報の提示を求めています。その他の設定については .env.example をご覧ください。
レート制限: Open Food Facts では、IP アドレスごとに 1 分あたりおよそ 15 件の商品照会と 10 件の検索が可能です。FoodChecker は結果をメモリ内にキャッシュします(商品は 12 時間、検索は 1 時間)。大量のトラフィックがある場合は、Open Food Facts のデータダンプ を独自のデータベースに読み込んでください。
プロジェクト構成
src/core/ scoring engine: Nutri-Score 2023, additive table, ingredient parser, 0-100 score
src/off/ Open Food Facts client and data normalisation
src/mcp/ MCP server, tool definitions, score-card widget, text summaries
src/app.ts web handler: /mcp, /preview, landing page
src/http.ts Node server src/stdio.ts local stdio server
plugins/ Claude Code plugin (MCP config + food-check skill)
test/ scoring tests scripts/ smoke test, dev MCP Apps host
コントリビューション
特に役立つコントリビューションは次のとおりです。
- 添加物テーブル(
src/core/additives.ts):出典を示してリスクレベルに異議を唱える、または不足している添加物と、お使いの言語でのその表示名を追加する。 - 原材料の解析(
src/core/ingredients.ts):見落とされるラベルの表記。test/scoring.test.tsにテストケースを追加してください。 - 商品データ: Open Food Facts で商品情報を修正すると、すべてのユーザーに役立ちます。
npm run dev:host は、公式の AppBridge を使って小規模な MCP Apps ホストをビルドします。その後、/dev/host?barcode=… を開くと、ChatGPT や Claude に埋め込まれたときと同じようにウィジェットを確認できます。
ライセンスとデータ
- コード: MIT。
- 商品データ: Open Food Facts のコントリビューターに著作権があり、Open Database License に基づいています。商品画像は CC BY-SA に基づいています。スコアカードとテキスト要約に表示される帰属表示は残してください。
FoodChecker は、包装食品に関する一般的な情報を提供します。医療上の助言ではありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。