食品环境数据查询服务

一个基于MCP协议的服务器,用于查询和分析ADEME Agribalyse 3.1数据集中的食品环境指标数据。

  • by tracy040401
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 tracy040401/mcp_agribalyse

使用说明

mcp服务器agribalyse

🌿 用于查询ADEME Agribalyse 3.1数据集的模型上下文协议(MCP)服务器。

该MCP服务器提供了与Agribalyse公共API交互的工具和资源,使大型语言模型能够检索和分析食品的环境影响数据。

⚠️ 注意:此服务器基于 FastMCP 框架并得到积极维护。API覆盖范围可能会发生变化。


🚀 概述

Agribalyse是ADEME发布的一个数据集,为数千种食品提供环境指标(气候影响、用水、生态毒性等)。

此MCP服务器允许LLM:

  • 搜索食品数据。
  • 综合环境指标。
  • 列出可能的筛选值。
  • 了解数据集结构。

🧰 工具

工具名称 描述
read_lines 从Agribalyse数据集中查询行
get_values 获取给定文本字段的不同值
get_metric_agg 在数值字段上计算单个度量(平均值、最小值等)
get_simple_metrics_agg 一次计算一个或多个字段的指标
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:通过一个指标比较两个产品
  • 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.andre@food-pilot.eu