Skip to main content
Glama

ucon-tools

tests codecov publish

Interfaces alojables para el motor de análisis dimensional ucon.

Documentación · Guía del servidor MCP · Referencia de herramientas


¿Qué es ucon-tools?

ucon es una biblioteca de computación consciente de las unidades para Python. ucon-tools la empaqueta en interfaces que otros sistemas pueden consumir: servidores MCP para agentes de IA, API REST para servicios web, CLI para humanos en una terminal.

Cada interfaz reside en ucon.tools.<interface> y se puede instalar como un extra opcional:

Interfaz

Paquete

Extra

Estado

Servidor MCP

ucon.tools.mcp

ucon-tools[mcp]

Disponible

API REST

ucon.tools.rest

ucon-tools[rest]

Planificado

CLI

ucon.tools.cli

ucon-tools[cli]

Planificado


Related MCP server: Touchstone MCP Server

Servidor MCP

El servidor MCP proporciona a los agentes de IA (Claude, Cursor y otros clientes MCP) conversión de unidades y computación verificadas dimensionalmente.

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 ✓

Instalación

pip install ucon-tools[mcp]

Requiere Python 3.10+.

Configuración

Claude Desktop / Claude Code — añadir a su configuración de MCP:

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

Independiente:

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

Herramientas

Núcleo — conversión y computación:

Herramienta

Descripción

convert

Convertir un valor entre unidades compatibles

compute

Cálculo de factor-etiqueta de varios pasos con seguimiento dimensional

decompose

Construir una cadena de factores a partir de lenguaje natural o entrada estructurada

check_dimensions

Comprobar si dos unidades comparten la misma dimensión

Descubrimiento — explorar el sistema de unidades:

Herramienta

Descripción

list_units

Listar unidades disponibles, opcionalmente filtradas por dimensión

list_scales

Listar prefijos decimales y binarios del SI

list_dimensions

Listar dimensiones físicas disponibles

list_constants

Listar constantes físicas (CODATA 2022)

list_formulas

Listar fórmulas de dominio registradas

Extensión en tiempo de ejecución — añadir unidades y conversiones por sesión:

Herramienta

Descripción

define_unit

Registrar una unidad personalizada para la sesión

define_conversion

Añadir un borde de conversión (lineal o afín)

define_constant

Definir una constante física personalizada

call_formula

Llamar a una fórmula registrada con tipo dimensional

reset_session

Borrar todas las unidades, conversiones y constantes definidas en la sesión

Tipo de Cantidad (KOQ) — desambiguación semántica:

Herramienta

Descripción

define_quantity_kind

Registrar un tipo de cantidad para desambiguación

declare_computation

Declarar el tipo de cantidad esperado antes de calcular

validate_result

Validar que un resultado coincida con el tipo declarado

list_quantity_kinds

Listar tipos de cantidad registrados

extend_basis

Crear una base dimensional extendida

list_extended_bases

Listar bases extendidas definidas en la sesión


Arquitectura

ucon-tools es una capa de interfaz. No reimplementa el análisis dimensional; delega en ucon para toda la resolución de unidades, conversión y álgebra dimensional. Lo que añade es lógica específica de la interfaz: estado de la sesión, manejo de protocolos, sugerencias de error y características orientadas al agente como el solucionador de restricciones decompose y la desambiguación KOQ.

┌───────────────────────────────────────────────────────┐
│                     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  │
               └─────────────────────┘

Benchmark UnitSafe

UnitSafe es un benchmark de razonamiento metrológico de 500 problemas para evaluar qué tan bien manejan los modelos de IA la conversión de unidades, el análisis dimensional y la discriminación de tipos de cantidad. Se envía con un ejecutor que puede evaluar cualquier modelo con o sin aumento de herramientas MCP.

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

Consulte benchmarks/unitsafe/ para obtener el conjunto de datos completo, el ejecutor y el protocolo de evaluación.


Desarrollo

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

Ejecutar el servidor MCP localmente

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

Licencia

AGPL-3.0. Consulte 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