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
