mcp-server-agribalyse について
mcp-server-agribalyseは、MCPクライアントからADEMEのAgribalyse 3.1食品データセットを利用するためのサーバーです。製品検索や環境指標の分析に対応し、ツール、リソース、定義済みプロンプトを提供します。
主な機能
- 01食品製品レコードの検索
- 02環境指標の集計
- 03フィルター値とデータ項目の一覧
- 04スキーマとAPIドキュメントの参照
活用シーン
- 01食品製品の環境データの確認
- 02指標による製品比較
- 03平均値などの指標集計
MCP 対応
MCPツール、リソース、定義済みプロンプトを通じて、クライアントにAgribalyseデータを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
mcp-server-agribalyse
🌿 ADEME Agribalyse 3.1 データセットを照会するための Model Context Protocol(MCP)サーバーです。
この MCP サーバーは Agribalyse の公開 API と連携するためのツールとリソースを提供し、LLM が食品の環境影響データを取得、分析できるようにします。
⚠️ 注意:このサーバーは FastMCP フレームワークに基づいており、現在も積極的にメンテナンスされています。API の対応範囲は変更される場合があります。
🚀 概要
Agribalyse は ADEME が公開するデータセットで、数千種類の食品について、環境指標(気候への影響、水の使用量、エコ毒性など)を提供しています。
この MCP サーバーを使うと、LLM は次のことができます。
- 食品データを検索する。
- 環境指標を集計する。
- 指定可能なフィルター値を一覧表示する。
- データセットの構造を把握する。
🧰 ツール
| ツール名 | 説明 |
|---|---|
read_lines | Agribalyse データセットの行を照会する |
get_values | 指定したテキストフィールドの重複しない値を取得する |
get_metric_agg | 数値フィールドの単一指標(平均、最小値など)を算出する |
get_simple_metrics_agg | 1 つ以上のフィールドの指標を一度に算出する |
get_words_agg | テキストフィールド内で最も頻出するトークンを取得する |
read_schema | データセットの完全な列スキーマを取得する |
read_safe_schema | 列スキーマの簡略版を取得する |
read_api_docs | ADEME API の完全な OpenAPI 仕様を取得する |
📚 リソース
| URI | 説明 |
|---|---|
agribalyse://fields | 照会に使用可能なテキストフィールドの一覧 |
agribalyse://files | ADEME が公開している利用可能なデータファイル |
agribalyse://sample-lines | データセット行のサンプル |
agribalyse://columns/sortables | 並べ替えに使用できるフィールド |
agribalyse://metrics/fields | 集計に使用できる数値フィールド |
agribalyse://metrics/types | 対応している指標の種類(平均、合計、パーセンタイルなど) |
agribalyse://fields/descriptions | データセットの各列を分かりやすく説明した内容 |
💬 プロンプト
このサーバーには、より簡単に利用できるよう、事前定義済みのプロンプトも含まれています。
search_product:指定した製品の環境情報を尋ねますask_stat:指標に関する特定の統計値を尋ねますcompare_products:1 つの指標で 2 つの製品を比較しますlist_field_values:指定したフィールドの値を一覧表示しますsample_prompt:サンプルデータのプレビューを依頼しますexplain_indicator:指標についての説明を依頼しますcustom_query_prompt:クエリを段階的に調整するためのプロンプトチェーン
🧪 デバッグ
次の方法でサーバーの動作を確認できます。
npx @modelcontextprotocol/inspector uvx run src/agribalyse/server.py
または、次の方法でログを追跡できます。
mcp dev server.py
🧑💻 クライアントの例
クライアントを使って MCP サーバーをテストするため、OpenAI を使用したクライアント実装の例を用意しています。
次のコマンドでクライアントを実行します。
python client/client.py
これにより、サンプルプロンプトが実行され、サーバーの応答が表示されます。MCP サーバーがリクエストをどのように処理するかを確認できます。
🧪 テストの実行
pytest を使ってテストスイートを実行するには、仮想環境が有効になっていることを確認してから、次のコマンドを実行します。
pytest tests/test_mcp_tools
これにより、すべての単体テストが実行され、MCP ツールの統合が検証されます。
👩💻 メンテナー
作者:Tracy André
組織:Positive Solutions
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。