Skip to main content
Glama

ucon-tools

tests codecov publish

Hostbare Schnittstellen für die ucon Dimensionsanalyse-Engine.

Dokumentation · MCP-Server-Handbuch · Tool-Referenz


Was ist ucon-tools?

ucon ist eine einheitenbewusste Berechnungsbibliothek für Python. ucon-tools verpackt sie in Schnittstellen, die von anderen Systemen genutzt werden können — MCP-Server für KI-Agenten, REST-APIs für Webdienste, CLIs für Menschen am Terminal.

Jede Schnittstelle befindet sich unter ucon.tools.<interface> und ist als optionales Extra installierbar:

Schnittstelle

Paket

Extra

Status

MCP-Server

ucon.tools.mcp

ucon-tools[mcp]

Verfügbar

REST-API

ucon.tools.rest

ucon-tools[rest]

Geplant

CLI

ucon.tools.cli

ucon-tools[cli]

Geplant


Related MCP server: Touchstone MCP Server

MCP-Server

Der MCP-Server bietet KI-Agenten (Claude, Cursor und anderen MCP-Clients) dimensionsgeprüfte Einheitenumrechnung und Berechnung.

Agent: "Convert 5 mcg/kg/min for an 80 kg patient to mL/h. Drug is 400 mg in 250 mL."

  decompose → constraint solver places quantities, auto-bridges mcg→mg and min→h
  compute   → 5 × 80 kg × (60 min/h) × (1 mg/1000 mcg) × (250 mL/400 mg) = 15 mL/h
  validate  → result dimension matches expected unit ✓

Installation

pip install ucon-tools[mcp]

Erfordert Python 3.10+.

Konfiguration

Claude Desktop / Claude Code — zur MCP-Konfiguration hinzufügen:

{
  "mcpServers": {
    "ucon": {
      "command": "uvx",
      "args": ["--from", "ucon-tools[mcp]", "ucon-mcp"]
    }
  }
}

Standalone:

ucon-mcp                    # stdio transport (default)
ucon-mcp --transport sse    # SSE transport for remote clients

Tools

Kern — Umrechnung und Berechnung:

Tool

Beschreibung

convert

Konvertiert einen Wert zwischen kompatiblen Einheiten

compute

Mehrstufige Faktor-Label-Berechnung mit Dimensionsverfolgung

decompose

Erstellt eine Faktorenkette aus natürlichsprachlicher oder strukturierter Eingabe

check_dimensions

Überprüft, ob zwei Einheiten dieselbe Dimension haben

Entdeckung — Erkundung des Einheitensystems:

Tool

Beschreibung

list_units

Listet verfügbare Einheiten auf, optional gefiltert nach Dimension

list_scales

Listet SI-Dezimal- und Binärpräfixe auf

list_dimensions

Listet verfügbare physikalische Dimensionen auf

list_constants

Listet physikalische Konstanten auf (CODATA 2022)

list_formulas

Listet registrierte Fachformeln auf

Laufzeiterweiterung — Einheiten und Umrechnungen pro Sitzung hinzufügen:

Tool

Beschreibung

define_unit

Registriert eine benutzerdefinierte Einheit für die Sitzung

define_conversion

Fügt eine Umrechnungskante hinzu (linear oder affin)

define_constant

Definiert eine benutzerdefinierte physikalische Konstante

call_formula

Ruft eine registrierte dimensions-typisierte Formel auf

reset_session

Löscht alle sitzungsdefinierten Einheiten, Umrechnungen und Konstanten

Art der Größe (KOQ) — semantische Disambiguierung:

Tool

Beschreibung

define_quantity_kind

Registriert eine Größenart zur Disambiguierung

declare_computation

Deklariert die erwartete Größenart vor der Berechnung

validate_result

Überprüft, ob ein Ergebnis der deklarierten Art entspricht

list_quantity_kinds

Listet registrierte Größenarten auf

extend_basis

Erstellt eine erweiterte Dimensionsbasis

list_extended_bases

Listet sitzungsdefinierte erweiterte Basen auf


Architektur

ucon-tools ist eine Schnittstellenschicht. Es implementiert die Dimensionsanalyse nicht neu — es delegiert an ucon für die gesamte Einheitenauflösung, Umrechnung und Dimensionsalgebra. Was es hinzufügt, ist schnittstellenspezifische Logik: Sitzungsstatus, Protokollbehandlung, Fehlervorschläge und agentenorientierte Funktionen wie den decompose-Constraint-Solver und die KOQ-Disambiguierung.

┌───────────────────────────────────────────────────────┐
│                     Clients                           │
│   MCP (Claude, Cursor)  ·  HTTP  ·  Terminal          │
└──────────┬──────────────────┬──────────────┬──────────┘
           │                  │              │
┌──────────▼───┐   ┌──────────▼───┐  ┌───────▼──────┐
│ ucon.tools   │   │ ucon.tools   │  │ ucon.tools   │
│     .mcp     │   │     .rest    │  │     .cli     │
│              │   │              │  │              │
│  sessions    │   │  (planned)   │  │  (planned)   │
│  decompose   │   │              │  │              │
│  KOQ         │   │              │  │              │
│  suggestions │   │              │  │              │
└──────┬───────┘   └──────┬───────┘  └──────┬───────┘
       │                  │                 │
       └──────────────────┼─────────────────┘
                          │ Python imports
               ┌──────────▼──────────┐
               │        ucon         │
               │                     │
               │  Units, Dimensions  │
               │  ConversionGraph    │
               │  Scales, Constants  │
               └─────────────────────┘

UnitSafe-Benchmark

UnitSafe ist ein metrologischer Reasoning-Benchmark mit 500 Problemen zur Bewertung, wie gut KI-Modelle mit Einheitenumrechnung, Dimensionsanalyse und der Unterscheidung von Größenarten umgehen. Er wird mit einem Runner geliefert, der jedes Modell mit oder ohne MCP-Tool-Erweiterung bewerten kann.

pip install ucon-tools[benchmark]

# Bare evaluation (model solves from memory)
python benchmarks/unitsafe/run.py -m claude:claude-haiku-4-5-20251001

# Tool-augmented evaluation (model uses MCP tools)
python benchmarks/unitsafe/run.py -m claude:claude-haiku-4-5-20251001 \
  --tools --mcp-url https://mcp.ucon.dev/mcp/<instance>/mcp

Siehe benchmarks/unitsafe/ für den vollständigen Datensatz, den Runner und das Bewertungsprotokoll.


Entwicklung

make venv                               # Create virtual environment
source .ucon-tools-3.12/bin/activate    # Activate
make test                               # Run tests
make test-all                           # Run across all supported Python versions

Lokales Ausführen des MCP-Servers

make mcp-server                         # Foreground (stdio)
make mcp-server-bg                      # Background
make mcp-server-stop                    # Stop background server

Lizenz

AGPL-3.0. Siehe LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Unit converter for AI agents, powered by the GNU units database — convert 3000+ units of measurement, evaluate compound unit expressions, reduce to SI base units, dimensional analysis. Offline, deterministic.
    6
    1
    GPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides deterministic, verifiable text/code/measurement utilities for AI agents, enabling tasks like unit conversion, citation formatting, diffing, proofreading, readability scoring, and syntax checking with re-executable proof.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to convert between measurement units across length, weight, temperature, volume, speed, and data storage, with formulas included. Supports pay-per-call access via x402 micropayments without API keys or signup.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides exact, deterministic tools for math, dates, units, validation, and more to AI agents, returning precise answers with explicit assumptions and warnings instead of model guesses.
    MIT