关于 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 交互的工具和资源,帮助大模型检索和分析食品的环境影响数据。
⚠️ 注意:此服务基于 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 André
组织:Positive Solutions
联系方式:[email protected]
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。