Docs/Skills/Unit Converter Skill

Unit Converter Skill

Convert units

OperationalCredits 1 per callp50 170msData Conversion

Overview

A unit conversion API that replaces hand-maintained conversion tables in your code. It covers 185 units across 23 measures, so the everyday conversions are one call each: liters to gallons, miles per hour to kilometers per hour, Celsius to Fahrenheit, megabytes to gigabytes, psi to bar, pounds to kilograms, and kilowatt-hours to joules. Beyond length, area, mass, volume and temperature it handles time, speed, pace, pressure, digital storage, parts per million, frequency, angles, illuminance, volume flow rate and electrical units from volts and amperes to watts and kilowatt-hours. Results are rounded to 2 decimal places. On paid plans, precision returns up to 10 decimal places, so very small results no longer round to zero, and conversions=true returns the same value in every unit of its measure in one call, such as a mass in micrograms through metric tons.

Live Test Unit Converter Skill Skill →

The tool

Once your client is connected to the VerveKit server, this appears in its tool list as UnitConverterSkill. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.

Tool call
{
  "name": "UnitConverterSkill",
  "arguments": {
    "value": "100",
    "from": "lb",
    "to": "kg"
  }
}

You do not name the tool yourself; the model picks it. Asking about 100 in the terms this skill covers is enough for it to reach for UnitConverterSkill on its own — naming it explicitly also works, and is the way to force the call.

Connecting

One server URL covers every skill in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.

{
  "mcpServers": {
    "vervekit": {
      "url": "https://api.vervekit.com/v1/mcp"
    }
  }
}

Per-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.

Arguments

These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.

ArgumentTypeDescription
valueRequirednumberThe value to convert
fromRequiredstringThe unit to convert from
toRequiredstringThe unit to convert to
precisionOptionalPremiumintegerDecimal places to round results to, between 0 and 10 (default 2)
default 2 · range 0–10
conversionsOptionalbooleanAlso return the value converted into every unit of the same measure

What the model gets back

The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.

Result
{
  "status": "ok",
  "error": null,
  "data": {
    "result": {
      "result": 45.36,
      "from": "100 lb",
      "to": "kg"
    },
    "unitDefinitions": {
      "from": {
        "abbr": "lb",
        "measure": "mass",
        "system": "imperial",
        "singular": "Pound",
        "plural": "Pounds"
      },
      "to": {
        "abbr": "kg",
        "measure": "mass",
        "system": "metric",
        "singular": "Kilogram",
        "plural": "Kilograms"
      }
    },
    "conversions": {
      "mcg": 45359200000,
      "mg": 45359200,
      "g": 45359.2,
      "kg": 45.36,
      "mt": 0.05,
      "oz": 1600,
      "lb": 100,
      "t": 0.05
    }
  }
}

Response fields

Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.

FieldTypeExampleDescription
resultobject{…}The conversion result. The numeric value is nested at result.result; result.from and result.to echo the units
result.resultnumber45.36Converted numeric value in target units
result.fromstring100 lbOriginal value with source unit abbreviation
result.tostringkgTarget unit abbreviation for conversion
unitDefinitionsobject{…}The full definitions of the source and target units
unitDefinitions.fromobject{…}Definition of the source unit, including its singular and plural names
unitDefinitions.from.abbrPremiumstringlbSource unit abbreviation code
unitDefinitions.from.measurePremiumstringmassPhysical quantity being measured from
unitDefinitions.from.systemPremiumstringimperialMeasurement system of source unit
unitDefinitions.from.singularPremiumstringPoundSingular name of source unit
unitDefinitions.from.pluralPremiumstringPoundsPlural name of source unit
unitDefinitions.toobject{…}Definition of the target unit, including its singular and plural names
unitDefinitions.to.abbrPremiumstringkgTarget unit abbreviation code
unitDefinitions.to.measurePremiumstringmassPhysical quantity being measured to
unitDefinitions.to.systemPremiumstringmetricMeasurement system of target unit
unitDefinitions.to.singularPremiumstringKilogramSingular name of target unit
unitDefinitions.to.pluralPremiumstringKilogramsPlural name of target unit
conversionsPremiumobject{…}With conversions=true, the value in every unit of the same measure, keyed by unit abbreviation and rounded to precision
conversions.mcgPremiumnumber45359200000
conversions.mgPremiumnumber45359200
conversions.gPremiumnumber45359.2
conversions.kgPremiumnumber45.36
conversions.mtPremiumnumber0.05
conversions.ozPremiumnumber1600
conversions.lbPremiumnumber100
conversions.tPremiumnumber0.05

Failure modes

Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.

StatusWhat it means
400 / 422The arguments did not validate. The message names the offending one.
401The OAuth session is invalid or expired — reconnect the server.
403Blocked by a key restriction or an IP allow-list. Never a bad identity.
404This skill is not part of VerveKit. Check the catalog.
429Out of credits, or a brief rate limit. The message tells them apart.

A call costs 1 credit each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.

Supported Units

All 185 units across 23 measures. Units convert only within the same measure (length to length, pressure to pressure). Codes are case-sensitive: Mb is megabits and MB is megabytes. Miles per hour is m/h. Temperature codes also accept lowercase (c, f, k, r).

MeasureUnitName
LengthmmMillimeters
LengthcmCentimeters
LengthmMeters
LengthkmKilometers
LengthinInches
LengthydYards
Lengthft-usUS Survey Feet
LengthftFeet
LengthmiMiles
Areamm2Square Millimeters
Areacm2Square Centimeters
Aream2Square Meters

Use cases

Measurement Converters
Convert measurements such as weight, length, area, temperature, and more by using the Unit Converter API. Use the API to convert units between different systems
Unit Standardization
Standardize units across different systems by using the Unit Converter API. Convert units to a common standard for consistency and compatibility
Unit Calculation
Perform unit calculations by using the Unit Converter API to convert units in mathematical operations. Use the API to simplify unit conversions in calculations

Other ways to use Unit Converter Skill

Set up Unit Converter Skill on VerveKit, or reach the same source a different way. Your VerveKit account and credits work on all of them — one key, one balance.

Call it as a REST APIOne HTTPS endpoint and an x-api-key header, with SDKs for Node, Python and .NET.APIVerve →Reference →
Google Sheets or ExcelA =VERVE() formula fills a column — no script, no export, recalculates in place.VerveSheets →Reference →
Ground an agent on itA cited, machine-checkable fact your model can't produce on its own.VerveContext →Reference →

More in Data Conversion:

Was this page helpful?