tracy040401/mcp_agribalyse
If you are the rightful owner of mcp_agribalyse and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server for querying the ADEME Agribalyse 3.1 dataset.
read_lines
Query rows from the Agribalyse dataset
get_values
Get distinct values for a given text field
get_metric_agg
Compute a single metric (avg, min, etc.) on a numeric field
get_simple_metrics_agg
Compute metrics on one or more fields at once
get_words_agg
Retrieve most frequent tokens in a text field
read_schema
Get the complete column schema of the dataset
read_safe_schema
Get a reduced version of the column schema
read_api_docs
Fetch the full OpenAPI specification from the ADEME API
mcp-server-agribalyse
πΏ A Model Context Protocol (MCP) server for querying the ADEME Agribalyse 3.1 dataset.
This MCP server provides tools and resources to interact with the Agribalyse public API, enabling Large Language Models to retrieve and analyze environmental impact data on food products.
β οΈ Note: This server is based on the FastMCP framework and is actively maintained. API coverage may evolve.
π Overview
Agribalyse is a dataset published by ADEME, offering environmental indicators (climate impact, water use, ecotoxicity, etc.) for thousands of food products.
This MCP server allows LLMs to:
- Search food product data.
- Aggregate environmental metrics.
- List possible filter values.
- Understand dataset structure.
π§° Tools
Tool Name | Description |
---|---|
read_lines | Query rows from the Agribalyse dataset |
get_values | Get distinct values for a given text field |
get_metric_agg | Compute a single metric (avg, min, etc.) on a numeric field |
get_simple_metrics_agg | Compute metrics on one or more fields at once |
get_words_agg | Retrieve most frequent tokens in a text field |
read_schema | Get the complete column schema of the dataset |
read_safe_schema | Get a reduced version of the column schema |
read_api_docs | Fetch the full OpenAPI specification from the ADEME API |
π Resources
URI | Description |
---|---|
agribalyse://fields | List of allowed text fields for querying |
agribalyse://files | Available data files published by ADEME |
agribalyse://sample-lines | A sample of dataset rows |
agribalyse://columns/sortables | Fields that can be used for sorting |
agribalyse://metrics/fields | Numeric fields usable for aggregation |
agribalyse://metrics/types | Supported metric types (avg, sum, percentiles, etc.) |
agribalyse://fields/descriptions | Human-readable descriptions of each dataset column |
π¬ Prompts
This server also includes predefined prompts for easier interaction:
search_product
: Ask for environmental info about a named productask_stat
: Ask for a specific metric on an indicatorcompare_products
: Compare two products by one indicatorlist_field_values
: List possible values of a given fieldsample_prompt
: Ask to preview sample dataexplain_indicator
: Ask for an explanation of an indicatorcustom_query_prompt
: Prompt chain for guided query refinement
π§ͺ Debugging
You can inspect server behavior using:
npx @modelcontextprotocol/inspector uvx run src/agribalyse/server.py
Or follow logs using:
mcp dev server.py
π§βπ» Client Example
To test the MCP server using a client, an example client implementation using OpenAI is provided.
Run the client with:
python client/client.py
This will execute example prompts and display the server responses, allowing you to observe how the MCP server handles requests.
π§ͺ Running Tests
To run the test suite using pytest, make sure your virtual environment is activated and then run:
pytest tests/test_mcp_tools
This will execute all unit tests and validate the MCP tools integration.
π©βπ» Maintainer
Author: Tracy AndrΓ©
Organization: Positive Solutions
Contact: