Codex Contaminants について
Codex Contaminantsは、食品規制担当者、検査担当者、研究者向けに、Codex Alimentarius CXS 193-1995の汚染物質・毒素の最大基準値を検索します。公開されている2015年版の59項目を収録し、PDFの出典ページと、未検出が基準値の不存在を意味しない旨を示します。
主な機能
- 01汚染物質別の最大基準値検索
- 02食品別の適用基準値検索
- 03出典PDFのページ番号を表示
- 04版とデータ範囲の明示
活用シーン
- 01汚染物質の食品別基準値を確認
- 02食品に適用される基準値を一覧化
- 03基準値の出典ページを照合
MCP 対応
MCPクライアントに、汚染物質または食品別にCodexの最大基準値を検索するツールを提供します。Pipeworxゲートウェイ経由、またはローカルのstdio MCPサーバーとして利用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://gateway.pipeworx.io/codex-contaminants/mcpclaude mcp add --transport http pipeworx-io-codex-contaminants https://gateway.pipeworx.io/codex-contaminants/mcp{"mcpServers":{"pipeworx-io-codex-contaminants":{"type":"http","url":"https://gateway.pipeworx.io/codex-contaminants/mcp"}}}Cursor で開く{"servers":{"pipeworx-io-codex-contaminants":{"type":"http","url":"https://gateway.pipeworx.io/codex-contaminants/mcp"}}}VS Code で開く{"mcpServers":{"pipeworx-io-codex-contaminants":{"type":"http","url":"https://gateway.pipeworx.io/codex-contaminants/mcp"}}}{"mcpServers":{"pipeworx-io-codex-contaminants":{"serverUrl":"https://gateway.pipeworx.io/codex-contaminants/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
codex-contaminants
食品中の汚染物質および毒素に関するCodex Alimentarius CXS 193-1995の最大基準値 — 鉛、カドミウム、ヒ素、水銀、メチル水銀、スズ、アフラトキシン、オクラトキシンA、パツリン、メラミン、シアン化水素 — を食品別に掲載しています。
Pipeworxの一部です — AI エージェントを1679以上の稼働中のデータソースに接続するMCPゲートウェイです。
最大基準値は59件、2015年版です。 この2つはいずれも制限事項であり、ファイル内に記載しておくのではなく、すべての応答に明記しています。
値を使用する前にお読みください
版。 CodexはCXS 193を文書としてのみ公開しており、現行の本文は認証が必要なFAOワークスペースにあります。このパックには、最新の公開済み公式版である2015年版(Amended in 2010, 2012, 2013, 2014, 2015)を収録しています。この規格は2016年、2017年、2018年、2019年、2021年、2022年、2023年、およびCAC47(2024年11月)とCAC48(2025年11月)で改正されています。これらの改正では最大基準値が追加されました。例として、シナモン(2.5 mg/kg)および乾燥香辛料用ハーブ(2.0 mg/kg)中の鉛が挙げられます。
収録範囲。 Schedule Iの表から59件を収録しています。食品名が表の複数行にまたがる行は、「ベリー類を除く」のような文の断片を法的基準値として扱うリスクを避けるため、除外しました。
つまり、見つからなかったからといって、基準値が存在しないと判断できるわけではありません。 未検出の場合の応答では、「最大基準値なし」という表現が許可と受け取られるため、その旨を明記しています。
各値には出典PDFのページ番号が付いているので、どの数値もhttps://www.fao.org/input/download/standards/17/CXS_193e_2015.pdfとすぐに照合できます。
ツール
contaminants_max_levels({contaminant, commodity?})— 汚染物質のCodex MLを返します。必要に応じて食品を指定して絞り込めます。contaminants_for_commodity({commodity})— 1つの食品に適用される汚染物質の基準値をすべて返します。
抽出処理と、4回起きた問題
extract.pyが抽出処理を行います。列の帯域を基準にしているのには理由があります。以下の問題はいずれも構築中に実際に発生した、エラーが表面化しない失敗であり、テストですべてを検証しています。
- 文字オフセットは使えません。 ML列はあるページでは文字位置36、次のページでは29にあるため、固定位置で切り出すと、実際の基準値が途中で切れた食品名に結び付けられます。
- ページ上の数値をすべて読み取ると、 LEADの下にある
73(JECFA会議番号)、25(撤回されたµg/kg 体重当たりのPTWI)、3(血圧の3 mmHg)まで最大基準値として拾ってしまいました。各ページの表見出しからML列のx方向の帯域を取得し、その範囲内の数値だけを受け入れることで解決しました。 - 単位は汚染物質によって異なります — アフラトキシンはµg/kg、金属はmg/kgです。単位も見出しから読み取ります。mg/kgをハードコードした結果、牛乳中のアフラトキシンM1が0.5 µg/kgではなく0.5 mg/kgと解釈され、1000倍の誤りになりました。
- 節見出しは記憶ではなく文書から取得する必要があります。 規格には
DEOXYNIVALENOL (DON)と記載されています。また、3文字の見出しTINは誤って除外されやすく、実際に除外された際には、缶詰肉のスズの基準値(50 mg/kg)がメチル水銀に分類されました。
更新するには、より新しいPDFをextract.pyに指定して再実行し、出力を確認してからリリースしてください。表は小さいため、人による確認が可能です。法的基準値を扱う場合、確認は必須です。
クイックスタート
MCPクライアント(Claude Desktop、Cursor、Windsurfなど)に追加します:
{
"mcpServers": {
"codex-contaminants": {
"url": "https://gateway.pipeworx.io/codex-contaminants/mcp"
}
}
}
このエンドポイントが実際に提供するもの
https://gateway.pipeworx.io/codex-contaminants/mcp の tools/list は、上の表にあるツールに加えて、共有 Pipeworx メタツールである ask_pipeworx、
discover_tools、search_within、remember/recall など、ゲートウェイ全体で使えるツール一式を返します。そのため、表示されるツール数はこの表より多くなります。単一パックのエンドポイントでは現在、パック独自のツールに加えて、共有ツールがおよそ30個表示されます。接続の initialize レスポンスには正確な範囲が示されるため、その日の状況を確認する際の確かな情報源となります。
これは意図的なものであり、偶発的な多重化ではありません。メタツールを使えば、このパックでは対応していない質問にも、カタログ全体を対象に振り分ける ask_pipeworx を通じて回答できるため、2つ目の MCP サーバーを追加する必要がありません。現時点では、メタツールなしでパックのエンドポイントをマウントする方法はありません。追加のスキーマによるコンテキスト消費がルーティングの利点を上回る場合は、複数のパックエンドポイントではなく、ゲートウェイ全体に一度だけ接続してください。
または、Pipeworx ゲートウェイ全体に接続すると、このパックのツールだけでなく、すべてのパックのツールが直接一覧表示されます。
{
"mcpServers": {
"pipeworx": {
"url": "https://gateway.pipeworx.io/mcp"
}
}
}
どちらの URL も同じゲートウェイと同じ1,679以上のデータソースにアクセスします。違いは、どのパックのツールが直接一覧表示されるかだけです。どちらからでも、ask_pipeworx を使ってすべてのツールにアクセスできます。
MCP クライアントがない場合:HTTP で呼び出す
curl -X POST https://gateway.pipeworx.io/v1/tools/contaminants_max_levels \
-H 'Content-Type: application/json' \
-d '{"contaminant":"lead"}'
最初の呼び出しにアカウントは不要です。ツールの詳細を確認するには、GET https://gateway.pipeworx.io/v1/tools/contaminants_max_levels を呼び出します。ツールを検索するには、{"query":"..."} を指定して POST https://gateway.pipeworx.io/v1/tools/search_packs を呼び出します。
スタンドアロン(ゲートウェイアカウント不要)
このパッケージはローカルの stdio MCP サーバーとしても実行できます。Pipeworx アカウントも、ゲートウェイへの往復通信も不要です。
{
"mcpServers": {
"codex-contaminants": {
"command": "npx",
"args": ["-y", "@pipeworx/mcp-codex-contaminants"]
}
}
}
また、直接実行して起動することを確認できます。
npx -y @pipeworx/mcp-codex-contaminants
stdin/stdout 経由で MCP を使用し、initialize/tools/list/tools/call に対して、このパックのツールのみで応答します。上記のゲートウェイ接続で追加される共有メタツールは含まれません。同じソース、同じツールで、ask_pipeworx によるルーティングはありません。
ask_pipeworx を使用する
ツールを直接呼び出す代わりに、自然な英語で質問できます。この方法は、上記のパックエンドポイントでも、ゲートウェイ全体でも利用できます。
ask_pipeworx({ question: "your question about Codex Contaminants data" })
ゲートウェイが適切なツールを選択し、引数を自動的に設定します。
詳細
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。