Road User Tools Agent & API Platform
Convert distances
Convert between kilometres, metres, miles, yards, and feet.
Interfaces
POST
REST endpoint
/api/v1/distance/convertMCP
Tool name
convert_distanceRequest
Send the request as JSON. MCP clients pass the same fields as tool arguments.
cURLshell
curl -X POST https://roaduser.tools/api/v1/distance/convert \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
"value": 10,
"from": "km",
"to": "mi"
}'Request bodyjson
{
"value": 10,
"from": "km",
"to": "mi"
}Response
REST wraps the calculation result in the standard success envelope. MCP returns the same calculation data as structured tool output.
JSON
{
"ok": true,
"data": {
"input": {
"value": 10,
"from": "km",
"to": "mi"
},
"conversions": {
"km": 10,
"m": 10000,
"mi": 6.2137119223733395,
"yd": 10936.132983377078,
"ft": 32808.39895013123
},
"result": 6.2137119223733395
}
}{
"ok": false,
"error": {
"code": "invalid_request",
"message": "Invalid request input."
}
}Schemas
The definitions below show the complete JSON Schema used to validate inputs and describe outputs.
Input schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"value": {
"type": "number",
"description": "Distance value to convert. Must be finite and non-negative."
},
"from": {
"type": "string",
"enum": [
"km",
"m",
"mi",
"yd",
"ft"
],
"description": "Input distance unit."
},
"to": {
"type": "string",
"enum": [
"km",
"m",
"mi",
"yd",
"ft"
],
"description": "Optional target unit. When omitted, all units are returned."
}
},
"required": [
"value",
"from"
]
}Output schema
{
"type": "object",
"additionalProperties": false,
"properties": {
"input": {
"type": "object",
"additionalProperties": false,
"properties": {
"value": {
"type": "number"
},
"from": {
"type": "string",
"enum": [
"km",
"m",
"mi",
"yd",
"ft"
]
},
"to": {
"type": "string",
"enum": [
"km",
"m",
"mi",
"yd",
"ft"
]
}
},
"required": [
"value",
"from"
]
},
"conversions": {
"type": "object",
"additionalProperties": false,
"properties": {
"km": {
"type": "number"
},
"m": {
"type": "number"
},
"mi": {
"type": "number"
},
"yd": {
"type": "number"
},
"ft": {
"type": "number"
}
},
"required": [
"km",
"m",
"mi",
"yd",
"ft"
]
},
"result": {
"type": "number",
"description": "Target-unit result when a target unit is supplied."
}
},
"required": [
"input",
"conversions"
]
}