Capabilities
Percentage Calculator
Solve percentage-of, percentage-change and reverse-percentage questions.
How this capability is exposed
- Stable ID
ursy.io:percentage-calculator- Owning service
- URSY.io
- Runtime
- @ursy/runtime · 1.0.0
- Execution modes
- browser, node, mcp-local, remote_transient
- Remote execution
- Available at the owning service
- Remote endpoint
https://api.ursy.io/v1/run
Capability declarations describe what the service exposes. They are not a guarantee of availability or permission to execute an operation.
Accepted contract
{
"schema": "ursy.io/capability/v1",
"id": "ursy.io:percentage-calculator",
"slug": "percentage-calculator",
"name": "Percentage Calculator",
"version": "1.0.0",
"summary": "Solve percentage-of, percentage-change and reverse-percentage questions.",
"intents": [
"percentage calculator",
"percent of",
"work out percentage",
"percentage increase"
],
"aliases": [],
"keywords": [
"percent of",
"work out percentage",
"percentage increase"
],
"category": "everyday-tools",
"deterministic": true,
"side_effects": false,
"network_required": false,
"execution": {
"preferred": "local",
"supported": [
"browser",
"node",
"mcp-local",
"remote_transient"
],
"local_executable": true,
"remote_safe": true,
"remote_enabled": true,
"remote_endpoint": "https://api.ursy.io/v1/run"
},
"privacy": {
"input_leaves_device_by_default": false,
"payload_logged": false
},
"input_schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"value": {
"type": "number",
"minimum": -1000000000000000,
"maximum": 1000000000000000,
"description": "Whole for of; new value for change; part for reverse."
},
"percentage": {
"type": "number",
"minimum": -1000000000000000,
"maximum": 1000000000000000,
"description": "Percent for of/reverse; original value for change."
},
"operation": {
"type": "string",
"enum": [
"of",
"change",
"reverse"
],
"default": "of"
},
"locale": {
"type": "string",
"minLength": 2,
"maxLength": 35,
"pattern": "^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$",
"default": "en-US",
"description": "Locale for display text; numerical result fields are locale independent."
}
},
"required": [
"value",
"percentage"
],
"additionalProperties": false
},
"output_schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"text": {
"type": "string",
"maxLength": 26214400
},
"metrics": {
"type": "array",
"items": {
"type": "object",
"required": [
"label",
"value"
],
"properties": {
"label": {
"type": "string",
"maxLength": 100
},
"value": {
"type": [
"string",
"number"
],
"maxLength": 1000
}
},
"additionalProperties": false
},
"maxItems": 10
},
"answer": {
"type": "number",
"minimum": -1.0e+300,
"maximum": 1.0e+300,
"description": "Percent for change; same unit as value for of/reverse."
}
},
"required": [
"text",
"metrics",
"answer"
],
"additionalProperties": false
},
"examples": [
{
"input": {
"value": 200,
"percentage": 12.5
},
"output": {
"text": "Formula: 12.5 / 100 \u00d7 200\nResult: 25",
"metrics": [
{
"label": "Result",
"value": "25"
}
],
"answer": 25
}
}
],
"limits": {
"max_input_bytes": 5308416,
"max_output_bytes": 26214400,
"max_json_depth": 100,
"max_csv_cells": 1000000
},
"canonical_url": "https://ursy.io/everyday-tools/percentage-calculator/",
"descriptor_url": "https://ursy.io/wp-json/ursy-tools/v2/capabilities/percentage-calculator",
"runtime": {
"package": "@ursy/runtime",
"version": "1.0.0",
"module": "@ursy/runtime",
"entry": "run",
"slug": "percentage-calculator"
},
"health": {
"status": "ok",
"last_tested": "2026-09-11T17:24:33.220Z",
"runtime_version": "1.0.0",
"golden_fixtures": 3,
"node_contract_tests": 2,
"browser_verified": true,
"tests_passed": 9,
"tests_total": 9,
"test_suite": "tests/runtime-canary.test.mjs",
"browser_suite": "tests/runtime-browser.py"
},
"audit": {
"classification": "A",
"engine": "calculator",
"mode": "percentage",
"headless_possible": true,
"notes": "Deterministic calculation/text core can be separated from the existing DOM workbench; schemas and regression fixtures remain required."
},
"assumptions": [],
"formulae": [],
"input_schema_id": "ursy.io:percentage-calculator:input_schema",
"output_schema_id": "ursy.io:percentage-calculator:output_schema",
"service_id": "ursy-io",
"parent_id": "",
"source_url": "https://ursy.io/wp-json/ursy-tools/v2/catalog",
"source_type": "capability_manifest",
"verified_at": "2026-10-15 07:31:18",
"revision": "443338af88b1536e488534ad7f8a629f18afab2d4db67204d78b95afb48ae4db",
"type": "capabilities",
"source": {
"url": "https://ursy.io/wp-json/ursy-tools/v2/catalog",
"type": "capability_manifest"
},
"last_verified_at": "2026-10-15 07:31:18",
"stale": false
}