mcp_agribalyse

tracy040401/mcp_agribalyse

3.3

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.

Tools
  1. read_lines

    Query rows from the Agribalyse dataset

  2. get_values

    Get distinct values for a given text field

  3. get_metric_agg

    Compute a single metric (avg, min, etc.) on a numeric field

  4. get_simple_metrics_agg

    Compute metrics on one or more fields at once

  5. get_words_agg

    Retrieve most frequent tokens in a text field

  6. read_schema

    Get the complete column schema of the dataset

  7. read_safe_schema

    Get a reduced version of the column schema

  8. 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 NameDescription
read_linesQuery rows from the Agribalyse dataset
get_valuesGet distinct values for a given text field
get_metric_aggCompute a single metric (avg, min, etc.) on a numeric field
get_simple_metrics_aggCompute metrics on one or more fields at once
get_words_aggRetrieve most frequent tokens in a text field
read_schemaGet the complete column schema of the dataset
read_safe_schemaGet a reduced version of the column schema
read_api_docsFetch the full OpenAPI specification from the ADEME API

πŸ“š Resources

URIDescription
agribalyse://fieldsList of allowed text fields for querying
agribalyse://filesAvailable data files published by ADEME
agribalyse://sample-linesA sample of dataset rows
agribalyse://columns/sortablesFields that can be used for sorting
agribalyse://metrics/fieldsNumeric fields usable for aggregation
agribalyse://metrics/typesSupported metric types (avg, sum, percentiles, etc.)
agribalyse://fields/descriptionsHuman-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 product
  • ask_stat: Ask for a specific metric on an indicator
  • compare_products: Compare two products by one indicator
  • list_field_values: List possible values of a given field
  • sample_prompt: Ask to preview sample data
  • explain_indicator: Ask for an explanation of an indicator
  • custom_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: