mcp-gnu-units 是一个 MCP 服务器,旨在为 AI 智能体提供精确、离线的单位换算能力,其数据来源为 GNU units 数据库。
用途
该项目解决 AI 智能体在涉及计量单位时的换算与维度分析需求,使智能体能够获得确定性的、可追溯的单位转换结果,而无需依赖联网或内置的按类别单位表。
主要能力
- 在 3000 多种计量单位之间进行换算,覆盖长度、质量、时间、温度、面积、体积、能量、功率、压力、速度、数据等类别。
- 计算复合单位表达式,例如 kWh 或 acreft。
- 将任意量归约到 SI 基本单位。
- 按关键词搜索单位数据库。
- 查询任意单位、前缀或物理常数的精确定义。
- 提供五个领域工具:find_units、convert、convert_to_si、define_unit、list_prefixes,以及 info 健康检查。
- 离线运行,结果确定,具备维度感知能力。
使用方式
mcp-gnu-units 是一个 MCP 服务器,供 AI 智能体通过 MCP 协议调用。分发名称为 mcp-gnu-units,导入包名为 mcp_gnu_units。项目尚未发布到 PyPI,发布步骤记录在 TODO 中。具体的安装命令、配置方式及调用示例在提供资料中未给出,暂未提供。
技术基础与数据来源
该服务器构建在 GNU units 之上。GNU units 是由 Adrian Mariano 为自由软件基金会编写和维护的单位换算程序,其数据库经过数十年精心维护,包含数千个单位、来自 CODATA 和 NIST 的物理常数,以及使维度分析可信赖的转换语义。mcp-gnu-units 将 GNU units 的数据库逐字捆绑在 src/mcp_gnu_units/data/definitions.units,并搭配独立的纯 Python 转换引擎,因此返回的每个数值都可追溯到 GNU units 自身的定义。 捆绑数据来源:GNU units 2.27(tarball),definitions.units 数据版本 3.26(2026-02-25)。完整性:在将文件纳入项目之前,上游 tarball 已通过 GPG 验证(Adrian Mariano 的有效签名)。完整的归属说明、版本锁定和校验和记录在 NOTICE 中。
适用场景
适用于需要精确、可重复、可追溯的单位换算与维度分析的 AI 智能体任务,尤其是涉及复合单位、SI 基本单位归约以及查询单位或物理常数定义的场景。
限制与状态
项目当前状态为功能完整、预发布(feature-complete, pre-release)。五个领域工具均已提供,但尚未发布到 PyPI。其余发布步骤记录在 TODO 中。资料未说明支持的具体平台、运行环境要求或性能限制,暂未提供。
许可证
GPL-3.0-or-later。捆绑的 GNU units 数据库同样为 GPL-3.0-or-later © Free Software Foundation,详见 NOTICE。
赞助
mcp-gnu-units 是免费开源软件,由开发者利用业余时间开发。可通过 GitHub Sponsors 进行一次性或定期赞助,以支持新功能、错误修复和持续维护。