Skip to main content

Unit converter powered by the GNU units database — convert between 3000+ units of measurement, evaluate compound unit expressions, reduce quantities to SI base units, run dimensional analysis, and look up unit definitions. Offline and deterministic.

Project description

mcp-gnu-units

CI Python 3.10+ License: GPLv3 Sponsor Ruff Checked with mypy Last commit

mcp-gnu-units is an MCP server that gives AI agents precise, offline unit conversion backed by the GNU units database. Convert between 3000+ units of measurement — length, mass, time, temperature, area, volume, energy, power, pressure, speed, data and more — evaluate compound unit expressions like kW*h or acre*ft, reduce any quantity to its SI base units, search the unit database by keyword, and look up the exact definition of any unit, prefix, or physical constant. Deterministic, dimension-aware, and free of the hardcoded per-category unit tables every other converter ships.

Status: feature-complete, pre-release. All five domain tools ship — find_units, convert, convert_to_si, define_unit, and list_prefixes — alongside the info health check. Not yet published to PyPI; the remaining publish steps are tracked in TODO.

Distribution name: mcp-gnu-units · import package: mcp_gnu_units.

Built on GNU units

This project stands on the shoulders of GNU units, the units-conversion program written and maintained by Adrian Mariano for the Free Software Foundation. Its database is the product of decades of careful curation — thousands of units, physical constants drawn from CODATA and NIST, and the conversion semantics that make dimensional analysis trustworthy. This server would not exist without it.

mcp-gnu-units bundles that database verbatim (see Bundled data & provenance below) and pairs it with an independent, pure-Python conversion engine, so every number it returns traces straight back to GNU units' own definitions. It is offered in the same spirit and under the same license (GPL-3.0-or-later). If you find this useful, the original earns the credit first: https://www.gnu.org/software/units/.

Bundled data & provenance

This server stands on GNU units, Adrian Mariano's units-conversion program, by bundling its unit database verbatim at src/mcp_gnu_units/data/definitions.units. The conversion engine here is an independent implementation; GNU units supplies the data.

  • Source: GNU units 2.27 (tarball), definitions.units data version 3.26 (2026-02-25).
  • License: GPL-3.0-or-later © Free Software Foundation — the same license as this project, so the two are wholly compatible.
  • Integrity: the upstream tarball was GPG-verified (good signature from Adrian Mariano) before the file was vendored.

Full attribution, version pins, and checksums are recorded in NOTICE.

Sponsoring

mcp-gnu-units is free, open-source software developed in my spare time. Sponsoring keeps this project alive and actively maintained — it funds new units-engine features, bug fixes, and ongoing support, and it's a direct signal that the work is worth continuing.

If the project is useful to you, please consider sponsoring it through GitHub Sponsors. Click the Sponsor button at the top of the repository, or visit the link directly, and pick a one-time or recurring tier. Every contribution, large or small, is hugely appreciated and goes straight back into keeping mcp-gnu-units healthy.

License

GPL-3.0-or-later. See LICENSE. The bundled GNU units database is also GPL-3.0-or-later © Free Software Foundation; see NOTICE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_gnu_units-0.1.0.tar.gz (176.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_gnu_units-0.1.0-py3-none-any.whl (179.5 kB view details)

Uploaded Python 3

File details

Details for the file mcp_gnu_units-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_gnu_units-0.1.0.tar.gz
  • Upload date:
  • Size: 176.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcp_gnu_units-0.1.0.tar.gz
Algorithm Hash digest
SHA256 21cbe93991ddb7f09471e8e454d0b2506e2b7e34ea0067d5713d90b99fa4c3c9
MD5 a3fafebd04255e878ba2ee138f34eed3
BLAKE2b-256 09b69bad69dc5513335ba23e1d30128fc374741e50e418375da80da6ab738082

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_gnu_units-0.1.0.tar.gz:

Publisher: release.yml on laszlopere/mcp-gnu-units

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_gnu_units-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_gnu_units-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 179.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcp_gnu_units-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 46bcb47c9631639c1db5ddcc6f36060194ed184d38626a4da0c47afa25273d8b
MD5 9d26fd4d4aa18857c6f9275a24e13dfb
BLAKE2b-256 6691221b7b7cdf9e4af4d877524fb1ed21d9782abc9da779cbaa0a22a7d7cf79

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_gnu_units-0.1.0-py3-none-any.whl:

Publisher: release.yml on laszlopere/mcp-gnu-units

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page