Koskamo

API Tool Calls MCP

An MCP server providing access to 94 small tools for AI agents, including QR code generation, unit conversions, cost estimates for home improvements, and data utilities. It uses meta-tools to discover, describe, and invoke specific tools dynamically.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

API Tool Calls MCP logo, by API Tool CallsCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by API Tool Calls
MCP endpoint (Streamable HTTP)
https://apitoolcalls.com/mcp?tools=all
Vendor documentation

What its tools do

94 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

94 of 94 have a description · 94 of 94 declare behavior hints · 68 of 94 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Generate QR codes and barcodes
  • Calculate home improvement costs like driveways or concrete
  • Convert Unix timestamps and dates
  • Format APA citations

Source and maintenance

Community listingRegistry 0.2.5

Protocol and capabilities

Server
apitoolcalls 0.1.0
MCP protocol negotiated in check
2025-11-25
Tools
94 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Tools

94 advertised

make_qr — QR code maker
Advertised by the server during the last successful anonymous check.
Advertised read-only

Make an SVG QR code for text, a URL, or Wi-Fi network details.

make_qr input schema
{
  "type": "object",
  "anyOf": [
    {
      "required": [
        "text"
      ]
    },
    {
      "required": [
        "wifi"
      ]
    }
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "Text or URL to encode. Required unless wifi is provided."
    },
    "wifi": {
      "type": "object",
      "required": [
        "ssid",
        "security"
      ],
      "properties": {
        "ssid": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "security": {
          "enum": [
            "WPA",
            "WEP",
            "nopass"
          ],
          "type": "string"
        }
      },
      "description": "Wi-Fi details; takes precedence over text when present."
    },
    "format": {
      "enum": [
        "svg"
      ],
      "type": "string",
      "default": "svg"
    }
  }
}
make_qr annotations
{
  "title": "QR code maker",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_transcript — YouTube to transcript
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Read public YouTube captions as timestamped plain text. Captions only, no video or audio.

get_transcript input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "YouTube video URL or an 11-character video id."
    },
    "lang": {
      "type": "string",
      "default": "en",
      "description": "Preferred caption language; falls back to English, then any available track."
    }
  }
}
get_transcript annotations
{
  "title": "YouTube to transcript",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
resume_gap — Résumé vs job description
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compare résumé skills with Columbus, Ohio job postings, or with one pasted job description. Résumé is not stored.

resume_gap input schema
{
  "type": "object",
  "examples": [
    {
      "job_ad": "Data analyst. Required: SQL, Python and Tableau.",
      "resume_text": "Data analyst with SQL and Excel experience building weekly reports."
    }
  ],
  "required": [
    "resume_text"
  ],
  "properties": {
    "family": {
      "enum": [
        "data analyst",
        "software engineer",
        "project manager"
      ],
      "type": "string",
      "description": "Job family for the Columbus postings check; required unless job_ad is given."
    },
    "job_ad": {
      "type": "string",
      "maxLength": 60000,
      "minLength": 1,
      "description": "Plain text of one job description; lists the skills it names that the résumé shows and does not show."
    },
    "resume_text": {
      "type": "string",
      "maxLength": 50000,
      "minLength": 50,
      "description": "Plain text of the résumé."
    }
  }
}
resume_gap annotations
{
  "title": "Résumé vs job description",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
page_to_markdown — Page to Markdown
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Read one public HTML page as clean Markdown with title, headings, lists, tables and absolute links. No logins, paywalls or JavaScript rendering; 2 MB HTML limit.

page_to_markdown input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http or https page URL."
    }
  }
}
page_to_markdown annotations
{
  "title": "Page to Markdown",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
seo_check — SEO Checker
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Check one public HTML page with fixed SEO rules. Returns schema 1, score, strengths, ranked fixes and facts. No JavaScript rendering; 10 seconds overall, 2 MB HTML and at most 20 links. Public HTTP/HTTPS ports 80/443 only.

seo_check input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http or https page URL."
    }
  }
}
seo_check annotations
{
  "title": "SEO Checker",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
page_check — Page Checker
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Check whether one public HTML page shows content. Returns working, suspect or broken, findings with reasons and bounded snippets, status, final URL and text length. No JavaScript rendering; 10 seconds overall, 2 MB HTML. Public HTTP/HTTPS ports 80/443 only.

page_check input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public http or https page URL."
    }
  }
}
page_check annotations
{
  "title": "Page Checker",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
find_data — Data Finder
Advertised by the server during the last successful anonymous check.
Advertised read-only

Get a full Data Finder plan for up to three sources: fit, cost at your monthly volume, resale terms with recorded clause, URL and read date, and build-it-yourself guidance. No live source lookup. Defaults: volume 0, US, no resale.

find_data input schema
{
  "type": "object",
  "required": [
    "use_case"
  ],
  "properties": {
    "geo": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1
    },
    "resell": {
      "enum": [
        "yes",
        "no"
      ],
      "type": "string"
    },
    "volume": {
      "type": "integer",
      "maximum": 1000000000000000,
      "minimum": 0
    },
    "use_case": {
      "type": "string",
      "maxLength": 500,
      "minLength": 1,
      "description": "Describe the data you need and what you want to build."
    }
  }
}
find_data annotations
{
  "title": "Data Finder",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
recall_check — Recall Check
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search local U.S. CPSC data for up to 10 recall notices that may match — check the notice. updated_at is when this local copy of CPSC data was last refreshed (UTC, ISO 8601), not a recall date; each match's date is its notice date. May not cover every batch or country; read the notice. No CPSC endorsement.

recall_check input schema
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "query": {
      "type": "string",
      "maxLength": 500,
      "minLength": 1,
      "description": "Product name, brand, model number or UPC."
    }
  }
}
recall_check annotations
{
  "title": "Recall Check",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
basement_water_cause — Basement water cause finder
Advertised by the server during the last successful anonymous check.
Advertised read-only

Narrow down why a basement gets wet and who fixes it. Eight observation groups return every rule-matched possible cause, evidence, safe first checks, trade referrals and sources. Hazard stops come first; no probabilities or structural diagnosis. Pure rules, no network or model.

basement_water_cause input schema
{
  "type": "object",
  "examples": [
    {
      "where": [
        "wall_floor_joint"
      ],
      "timing": [
        "rain"
      ],
      "gutters": [
        "downspout_near"
      ]
    }
  ],
  "required": [],
  "properties": {
    "sump": {
      "oneOf": [
        {
          "enum": [
            "unknown"
          ],
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "enum": [
              "none",
              "power_lost",
              "pit_filling_no_discharge",
              "running",
              "seepage_no_inflow"
            ],
            "type": "string"
          },
          "maxItems": 5,
          "uniqueItems": true
        }
      ],
      "default": "unknown",
      "description": "Select observed codes, [] for none observed, or 'unknown'. none: No sump; power_lost: Sump power was lost; pit_filling_no_discharge: Pit filling without discharge; running: Sump is running; seepage_no_inflow: Seepage without water flowing into the pit"
    },
    "where": {
      "oneOf": [
        {
          "enum": [
            "unknown"
          ],
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "enum": [
              "wall_crack",
              "wall_floor_joint",
              "floor",
              "window",
              "overhead_pipe",
              "floor_drain",
              "crack_changing",
              "wall_bowing"
            ],
            "type": "string"
          },
          "maxItems": 8,
          "uniqueItems": true
        }
      ],
      "default": "unknown",
      "description": "Select observed codes, [] for none observed, or 'unknown'. wall_crack: Water at a wall crack; wall_floor_joint: Water at the wall-floor joint; floor: Water through the floor; window: Water at a window; overhead_pipe: Water at an overhead pipe or fixture; floor_drain: Water from a floor drain; crack_changing: A crack is changing; wall_bowing: A wall is bowing"
    },
    "hazard": {
      "oneOf": [
        {
          "enum": [
            "unknown"
          ],
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "enum": [
              "standing_water",
              "sewage",
              "electrical"
            ],
            "type": "string"
          },
          "maxItems": 3,
          "uniqueItems": true
        }
      ],
      "default": "unknown",
      "description": "Select observed codes, [] for none observed, or 'unknown'. standing_water: Standing water; sewage: Sewage or suspected drain backup; electrical: Possible water contact with electrical equipment"
    },
    "timing": {
      "oneOf": [
        {
          "enum": [
            "unknown"
          ],
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "enum": [
              "rain",
              "snowmelt",
              "dry_weather",
              "water_use",
              "humid_summer"
            ],
            "type": "string"
          },
          "maxItems": 5,
          "uniqueItems": true
        }
      ],
      "default": "unknown",
      "description": "Select observed codes, [] for none observed, or 'unknown'. rain: Wetness after rain; snowmelt: Wetness after snowmelt; dry_weather: Wetness during dry weather; water_use: Wetness during water use; humid_summer: Wetness during humid summer conditions"
    },
    "grading": {
      "oneOf": [
        {
          "enum": [
            "unknown"
          ],
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "enum": [
              "slopes_toward",
              "puddles"
            ],
            "type": "string"
          },
          "maxItems": 2,
          "uniqueItems": true
        }
      ],
      "default": "unknown",
      "description": "Select observed codes, [] for none observed, or 'unknown'. slopes_toward: Ground slopes toward the house; puddles: Puddles beside the foundation"
    },
    "gutters": {
      "oneOf": [
        {
          "enum": [
            "unknown"
          ],
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "enum": [
              "overflowing",
              "missing",
              "downspout_near"
            ],
            "type": "string"
          },
          "maxItems": 3,
          "uniqueItems": true
        }
      ],
      "default": "unknown",
      "description": "Select observed codes, [] for none observed, or 'unknown'. overflowing: Gutters overflowing; missing: Gutters missing; downspout_near: Downspout discharges near the foundation"
    },
    "moisture": {
      "oneOf": [
        {
          "enum": [
            "unknown"
          ],
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "enum": [
              "cold_surface_sweating",
              "humid_air",
              "indoor_sources",
              "visible_drip"
            ],
            "type": "string"
          },
          "maxItems": 4,
          "uniqueItems": true
        }
      ],
      "default": "unknown",
      "description": "Select observed codes, [] for none observed, or 'unknown'. cold_surface_sweating: Cold surfaces sweating; humid_air: Humid air entering; indoor_sources: Indoor moisture sources; visible_drip: Visible pipe or fixture drip"
    },
    "window_well": {
      "oneOf": [
        {
          "enum": [
            "unknown"
          ],
          "type": "string"
        },
        {
          "type": "array",
          "items": {
            "enum": [
              "debris",
              "ponding",
              "starts_at_window"
            ],
            "type": "string"
          },
          "maxItems": 3,
          "uniqueItems": true
        }
      ],
      "default": "unknown",
      "description": "Select observed codes, [] for none observed, or 'unknown'. debris: Debris in a window well; ponding: Water collects in a window well; starts_at_window: Wetness starts at the window"
    }
  },
  "minProperties": 1,
  "additionalProperties": false
}
basement_water_cause annotations
{
  "title": "Basement water cause finder",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
kitchen_remodel_cost — Kitchen Remodel Cost Estimator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Estimate a kitchen remodel budget from kitchen size and finishes. Size and scope return a national planning estimate range rounded to the nearest 100 dollars, with no published typical figure, two separate dated reference cards and sources. The result has no line items or labor/material split: the published bands include both, and no public source we trust splits them for a typical kitchen. Pure arithmetic, no network or model.

kitchen_remodel_cost input schema
{
  "type": "object",
  "examples": [
    {
      "scope": "full",
      "area_sqft": 150
    }
  ],
  "required": [
    "scope"
  ],
  "properties": {
    "scope": {
      "enum": [
        "partial",
        "full",
        "layout_change"
      ],
      "type": "string",
      "description": "partial: $60–$150/sq ft, may include DIY work; full: $150–$250/sq ft, same layout; layout_change: $250–$350/sq ft, layout changes / high-end. Bands include labor and materials."
    },
    "width_ft": {
      "type": "number",
      "description": "Kitchen width in feet; requires length_ft instead of area_sqft. Product must be 20–1,000 sq ft.",
      "exclusiveMinimum": 0
    },
    "area_sqft": {
      "type": "number",
      "maximum": 1000,
      "minimum": 20,
      "description": "Kitchen floor area in square feet, 20–1,000. Use area OR length and width."
    },
    "length_ft": {
      "type": "number",
      "description": "Kitchen length in feet; requires width_ft instead of area_sqft. Product must be 20–1,000 sq ft.",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
kitchen_remodel_cost annotations
{
  "title": "Kitchen Remodel Cost Estimator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
flooring_cost — Flooring Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Estimate installed flooring costs for given room sizes. Returns national installed ranges (labor and materials), no labor-only figure, and no published typical figure. One call compares all eight materials using net room area, with hardwood order guidance, an unpriced prep checklist, a separate historical Census reference card and dated sources. Pure arithmetic, no network or model.

flooring_cost input schema
{
  "type": "object",
  "examples": [
    {
      "rooms": [
        {
          "width_ft": 15,
          "length_ft": 12
        }
      ],
      "material": "carpet"
    }
  ],
  "required": [
    "rooms",
    "material"
  ],
  "properties": {
    "rooms": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 40,
            "description": "Optional room name, at most 40 characters."
          },
          "width_ft": {
            "type": "number",
            "description": "Positive width in feet; use with length_ft OR area_sqft.",
            "exclusiveMinimum": 0
          },
          "area_sqft": {
            "type": "number",
            "maximum": 5000,
            "minimum": 1,
            "description": "Area in square feet instead of both dimensions."
          },
          "length_ft": {
            "type": "number",
            "description": "Positive length in feet; use with width_ft OR area_sqft.",
            "exclusiveMinimum": 0
          }
        },
        "additionalProperties": false
      },
      "maxItems": 20,
      "minItems": 1,
      "description": "1–20 rooms, each 1–5,000 sq ft; total 10–10,000 sq ft. Use length_ft + width_ft OR area_sqft per room."
    },
    "layout": {
      "enum": [
        "standard",
        "diagonal"
      ],
      "type": "string",
      "default": "standard",
      "description": "Only changes the hardwood order amount: standard 5%, diagonal 10%. Installed estimate always uses net area."
    },
    "material": {
      "enum": [
        "carpet",
        "laminate",
        "vinyl_sheet",
        "vinyl_plank",
        "hardwood_solid",
        "hardwood_engineered",
        "tile_ceramic",
        "tile_porcelain"
      ],
      "type": "string",
      "description": "Chosen installed material; one call also compares all eight materials."
    }
  },
  "additionalProperties": false
}
flooring_cost annotations
{
  "title": "Flooring Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
driveway_cost — Driveway Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Estimate driveway replacement costs for a given size. Returns national installed ranges with no published typical figure. One call compares all ten surfaces. Base, drainage and permits are not priced; removal is priced only for an existing concrete driveway. Includes unpriced checks, two separate national reference cards and dated sources. Pure arithmetic, no network or model.

driveway_cost input schema
{
  "type": "object",
  "examples": [
    {
      "surface": "concrete_standard",
      "sections": [
        {
          "width_ft": 24,
          "length_ft": 12
        }
      ]
    }
  ],
  "required": [
    "sections",
    "surface"
  ],
  "properties": {
    "surface": {
      "enum": [
        "concrete_standard",
        "concrete_decorative",
        "concrete_stamped",
        "concrete_custom",
        "asphalt_standard",
        "asphalt_recycled",
        "asphalt_porous",
        "pavers_standard",
        "pavers_brick",
        "pavers_cobblestone"
      ],
      "type": "string",
      "description": "Chosen installed surface; one call compares all ten surfaces."
    },
    "existing": {
      "enum": [
        "none",
        "concrete",
        "other"
      ],
      "type": "string",
      "default": "none",
      "description": "Existing driveway surface. Removal is priced only for existing concrete."
    },
    "sections": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 40,
            "description": "Optional section name, at most 40 characters."
          },
          "width_ft": {
            "type": "number",
            "description": "Positive width in feet; use with length_ft OR area_sqft.",
            "exclusiveMinimum": 0
          },
          "area_sqft": {
            "type": "number",
            "maximum": 10000,
            "minimum": 1,
            "description": "Area in square feet instead of both dimensions."
          },
          "length_ft": {
            "type": "number",
            "description": "Positive length in feet; use with width_ft OR area_sqft.",
            "exclusiveMinimum": 0
          }
        },
        "additionalProperties": false
      },
      "maxItems": 10,
      "minItems": 1,
      "description": "1–10 sections, each 1–10,000 sq ft; total 20–10,000 sq ft. Use length_ft + width_ft OR area_sqft per section."
    }
  },
  "additionalProperties": false
}
driveway_cost annotations
{
  "title": "Driveway Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pole_barn_cost — Pole Barn Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Estimate pole barn construction costs for given dimensions, optionally finished as living space. Returns national construction ranges for the building only, with no published typical figure. Site work/slab/doors/height/permits are not priced. use=residential adds the separate living-space build-out band with an open top and a combined planning estimate. Includes an unpriced checklist, two separate unscaled reference cards and dated sources. Pure arithmetic, no network or model.

pole_barn_cost input schema
{
  "type": "object",
  "examples": [
    {
      "use": "shell",
      "width_ft": 30,
      "length_ft": 40
    }
  ],
  "required": [
    "width_ft",
    "length_ft"
  ],
  "properties": {
    "use": {
      "enum": [
        "shell",
        "residential"
      ],
      "type": "string",
      "default": "shell",
      "description": "shell: building only. residential: add the separate living-space build-out band."
    },
    "width_ft": {
      "type": "number",
      "maximum": 200,
      "minimum": 8,
      "description": "Required width in feet; footprint must be 100–10,000 sq ft."
    },
    "length_ft": {
      "type": "number",
      "maximum": 200,
      "minimum": 8,
      "description": "Required length in feet; footprint must be 100–10,000 sq ft."
    }
  },
  "additionalProperties": false
}
pole_barn_cost annotations
{
  "title": "Pole Barn Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
water_softener_size — Water Softener Size Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Size a water softener from household water use and tested hardness, with yearly salt cost. Gallons per person per day is required (no national default used), for softened water only. Iron is optional; unknown when absent, and changes the setting per EcoPure's clear-water ferrous iron rule (5 gpg per ppm); other makers differ. Returns grains per day, working capacity before reserve, optional paired model ratings, three idealized EP42 test-rating examples, notes, assumptions and dated primary sources. Costs are salt only. Pure Decimal arithmetic, no network or model.

water_softener_size input schema
{
  "type": "object",
  "examples": [
    {
      "people": 4,
      "hardness": 10,
      "gallons_per_person_day": 75
    }
  ],
  "required": [
    "hardness",
    "people",
    "gallons_per_person_day"
  ],
  "properties": {
    "bag_lb": {
      "type": "number",
      "default": 40,
      "maximum": 100,
      "minimum": 1,
      "description": "Bag weight in lb."
    },
    "people": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "Required whole household size."
    },
    "salt_lb": {
      "type": "number",
      "maximum": 50,
      "minimum": 0.5,
      "description": "Your manual's lb salt at capacity_grains; requires capacity_grains."
    },
    "hardness": {
      "type": "number",
      "description": "Required measured hardness; after conversion 0 < gpg <= 100.",
      "exclusiveMinimum": 0
    },
    "iron_ppm": {
      "type": "number",
      "maximum": 20,
      "minimum": 0,
      "description": "Optional dissolved clear-water ferrous iron in ppm; absent means unknown. EcoPure adds 5 gpg per ppm (W4); other makers differ."
    },
    "bag_price": {
      "type": "number",
      "default": 8.97,
      "maximum": 200,
      "minimum": 0.01,
      "description": "Price per bag; one store's price (Fleet Farm, observed 2 Oct 2026); enter yours."
    },
    "hardness_unit": {
      "enum": [
        "gpg",
        "mg_l"
      ],
      "type": "string",
      "default": "gpg",
      "description": "gpg or mg/L; divide mg/L by 17.1 (W1)."
    },
    "interval_days": {
      "type": "number",
      "maximum": 60,
      "minimum": 1,
      "description": "Optional target days between regenerations."
    },
    "capacity_grains": {
      "type": "number",
      "maximum": 200000,
      "minimum": 1000,
      "description": "Your manual's grains per regeneration; requires salt_lb."
    },
    "gallons_per_person_day": {
      "type": "number",
      "maximum": 300,
      "minimum": 10,
      "description": "Required softened gallons per person per day; no national default used. Exclude bypassing outdoor taps."
    }
  },
  "additionalProperties": false
}
water_softener_size annotations
{
  "title": "Water Softener Size Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
yard_drainage_cause — Yard Drainage Cause Finder
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find likely causes of water pooling in a yard, fix options, who does them and dated public cost estimates. Returns likely causes to investigate, not a diagnosis, with explainable observed-code rules, safety escalations, options and who does them. Prices are dated public planning estimates, with distinct scopes and source years; no 2026 price adjustment. Omit unknown groups; [] means none observed. Optional numbers price only agreed areas, designed storage or counted downspout sets; the soil check screens root-zone drainage. No network or model. Web and MCP share the free daily allowance.

yard_drainage_cause input schema
{
  "type": "object",
  "examples": [
    {
      "gutters": [
        "discharge_near_foundation"
      ],
      "downspouts": 3
    }
  ],
  "required": [],
  "properties": {
    "site": {
      "type": "array",
      "items": {
        "enum": [
          "lower_outlet",
          "utilities_in_area",
          "septic_or_well_nearby",
          "water_entering_house"
        ],
        "type": "string"
      },
      "maxItems": 4,
      "description": "Omit for unknown; [] means none observed. lower_outlet: A working lower outlet; utilities_in_area: Utilities in the area; septic_or_well_nearby: A septic system or well nearby; water_entering_house: Water entering the house",
      "uniqueItems": true
    },
    "soil": {
      "type": "array",
      "items": {
        "enum": [
          "clay",
          "compacted"
        ],
        "type": "string"
      },
      "maxItems": 2,
      "description": "Omit for unknown; [] means none observed. clay: Clay soil; compacted: Compacted soil",
      "uniqueItems": true
    },
    "where": {
      "type": "array",
      "items": {
        "enum": [
          "foundation",
          "lawn_low_spot",
          "slope_bottom",
          "whole_yard"
        ],
        "type": "string"
      },
      "maxItems": 4,
      "description": "Omit for unknown; [] means none observed. foundation: At the foundation; lawn_low_spot: A lawn low spot; slope_bottom: At the bottom of a slope; whole_yard: Across the whole yard",
      "uniqueItems": true
    },
    "timing": {
      "type": "array",
      "items": {
        "enum": [
          "after_rain",
          "seasonal",
          "dry_weather"
        ],
        "type": "string"
      },
      "maxItems": 3,
      "description": "Omit for unknown; [] means none observed. after_rain: After rain; seasonal: Seasonally; dry_weather: In dry weather",
      "uniqueItems": true
    },
    "grading": {
      "type": "array",
      "items": {
        "enum": [
          "slopes_toward_house",
          "settled_low_spot",
          "blocked_swale",
          "new_hard_surface"
        ],
        "type": "string"
      },
      "maxItems": 4,
      "description": "Omit for unknown; [] means none observed. slopes_toward_house: Ground slopes toward the house; settled_low_spot: A settled low spot; blocked_swale: A blocked swale; new_hard_surface: A new hard surface",
      "uniqueItems": true
    },
    "gutters": {
      "type": "array",
      "items": {
        "enum": [
          "overflowing",
          "leaking",
          "discharge_near_foundation"
        ],
        "type": "string"
      },
      "maxItems": 3,
      "description": "Omit for unknown; [] means none observed. overflowing: Overflowing gutters; leaking: Leaking gutters; discharge_near_foundation: Downspouts discharge near the foundation",
      "uniqueItems": true
    },
    "boundary": {
      "type": "array",
      "items": {
        "enum": [
          "flow_from_higher_ground",
          "new_nearby_hard_surface"
        ],
        "type": "string"
      },
      "maxItems": 2,
      "description": "Omit for unknown; [] means none observed. flow_from_higher_ground: Flow from higher ground; new_nearby_hard_surface: A new nearby hard surface",
      "uniqueItems": true
    },
    "downspouts": {
      "type": "integer",
      "maximum": 20,
      "minimum": 1,
      "description": "Whole number of elbow-plus-extension sets, hardware only."
    },
    "groundwater": {
      "type": "array",
      "items": {
        "enum": [
          "seepage",
          "saturated_below_surface",
          "seasonal_high_water"
        ],
        "type": "string"
      },
      "maxItems": 3,
      "description": "Omit for unknown; [] means none observed. seepage: Seepage; saturated_below_surface: Saturated below the surface; seasonal_high_water: Seasonal high water",
      "uniqueItems": true
    },
    "drop_inches_15min": {
      "type": "number",
      "maximum": 20,
      "minimum": 0,
      "description": "Inches dropped in 15 minutes after pre-wetting and refilling the hole; Iowa State's informal root-zone check, not a dry-well design test."
    },
    "dry_well_cubic_ft": {
      "type": "number",
      "maximum": 2000,
      "minimum": 1,
      "description": "Designed storage from a designer; never sized from this questionnaire."
    },
    "rain_garden_sq_ft": {
      "type": "number",
      "maximum": 5000,
      "minimum": 10,
      "description": "Agreed garden area; never computed from roof area."
    }
  },
  "minProperties": 1,
  "additionalProperties": false
}
yard_drainage_cause annotations
{
  "title": "Yard Drainage Cause Finder",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
funeral_cost — Funeral Cost Planner and Your Rights
Advertised by the server during the last successful anonymous check.
Advertised read-only

Show funeral consumer rights, national burial and cremation reference costs, and add up a funeral home's itemized prices. Returns FTC Funeral Rule rights first. Reference figures are NFDA 2023 national medians from an industry member survey, not local prices. Bundle cards apply only to services with viewing; direct services have no citable national bundle figure. The worksheet adds up the family's own itemized prices and keeps missing prices visible. Pure rules and Decimal money, no network or model. Web and MCP share the free daily allowance.

funeral_cost input schema
{
  "type": "object",
  "examples": [
    {
      "prices": {
        "crematory_fee": 350,
        "basic_services": 1200
      },
      "service": "direct",
      "disposition": "cremation"
    }
  ],
  "required": [
    "disposition",
    "service"
  ],
  "properties": {
    "vault": {
      "enum": [
        "yes",
        "no"
      ],
      "type": "string",
      "description": "Burial only; omit when unknown."
    },
    "prices": {
      "type": "object",
      "properties": {
        "urn": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Urn; requires cremation."
        },
        "plot": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Cemetery plot or interment space; always applies."
        },
        "taxes": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Taxes; always applies."
        },
        "vault": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Outer burial container (vault or liner); requires burial with vault yes or unknown."
        },
        "casket": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Casket (bought here or elsewhere); requires burial or cremation with service viewing_ceremony (purchase or rental)."
        },
        "marker": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Marker or monument; always applies."
        },
        "transfer": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Transfer of remains to the funeral home; always applies."
        },
        "vehicles": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Hearse and other vehicles; requires burial or service viewing_ceremony."
        },
        "cash_advances": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Cash advances (death certificates, obituary notices, flowers, clergy, and similar); always applies."
        },
        "crematory_fee": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Crematory fee; requires cremation."
        },
        "basic_services": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Funeral director and staff basic services; always applies."
        },
        "opening_closing": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Opening and closing the grave or niche; always applies."
        },
        "viewing_facilities": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Facilities and staff for viewing; requires service viewing_ceremony."
        },
        "ceremony_facilities": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Facilities and staff for the ceremony; requires service viewing_ceremony."
        },
        "alternative_container": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Alternative container; requires cremation."
        },
        "embalming_preparation": {
          "type": "number",
          "maximum": 1000000,
          "minimum": 0,
          "description": "Embalming or other preparation; requires service viewing_ceremony."
        }
      },
      "description": "Your own itemized prices in dollars. Omit an unknown price; 0 means not buying or included elsewhere.",
      "additionalProperties": false
    },
    "service": {
      "enum": [
        "viewing_ceremony",
        "direct"
      ],
      "type": "string",
      "description": "Direct means immediate burial or direct cremation, without viewing."
    },
    "disposition": {
      "enum": [
        "burial",
        "cremation"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
funeral_cost annotations
{
  "title": "Funeral Cost Planner and Your Rights",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
furnace_age — Furnace Age Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Estimate furnace manufacture age from a confirmed Lennox legacy, Rheem or Nordyne serial format or a maker-confirmed date. Calculates age at your selected as-of date, keeps NAHB and InterNACHI life guidance separate, applies EPA age guidance and the DOE repair comparison to your own quotes, and returns separately labeled historical and modeled replacement references.

furnace_age input schema
{
  "type": "object",
  "examples": [
    {
      "as_of": "2026-10-04",
      "brand": "Lennox",
      "serial": "5178M 99989",
      "century": 1900,
      "format_confirmed": true
    }
  ],
  "required": [
    "as_of"
  ],
  "properties": {
    "as_of": {
      "type": "string",
      "description": "Required real YYYY-MM-DD date for the age calculation."
    },
    "brand": {
      "type": "string",
      "description": "Lennox, Rheem or Nordyne; other brands require maker/dealer confirmation."
    },
    "model": {
      "type": "string",
      "description": "Model from the rating plate; retained for identification."
    },
    "serial": {
      "type": "string",
      "description": "Rating-plate serial, supported nomenclature only."
    },
    "century": {
      "enum": [
        1900,
        2000
      ],
      "type": "integer",
      "description": "Maker/dealer-confirmed century; never inferred from age."
    },
    "repair_quote": {
      "type": "number",
      "minimum": 0,
      "description": "Your own comparable repair quote in dollars; pair with replacement_quote."
    },
    "format_confirmed": {
      "type": "boolean",
      "description": "True only after confirming this model/era uses the documented serial format."
    },
    "manufacture_date": {
      "type": "string",
      "description": "Optional maker-confirmed YYYY-MM-DD manufacture date; overrides serial decoding, not installation date."
    },
    "replacement_quote": {
      "type": "number",
      "description": "Your own comparable replacement quote in dollars; pair with repair_quote.",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
furnace_age annotations
{
  "title": "Furnace Age Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
roof_replacement_cost — Roof Replacement Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Estimate sloped roof area and roofing squares from a measured footprint and pitch. Calculates optional shingle purchase allowance, historical asphalt installation and matched removal scenarios, verified historical standing-seam bid endpoints, and a benchmark subtotal with your separately quoted extras; missing local prices remain get a local quote.

roof_replacement_cost input schema
{
  "type": "object",
  "examples": [
    {
      "pitch": 6,
      "layers": 2,
      "material": "asphalt",
      "waste_percent": 10,
      "footprint_sqft": 1000
    }
  ],
  "required": [
    "pitch",
    "material"
  ],
  "properties": {
    "pitch": {
      "type": "number",
      "minimum": 0,
      "description": "Rise p in inches per 12 inches horizontal run; geometry only."
    },
    "layers": {
      "enum": [
        0,
        1,
        2,
        3
      ],
      "type": "integer",
      "description": "Asphalt removal layers; 0 means no removal. Metal rates do not vary with layers; only 0 or 1 supported."
    },
    "material": {
      "enum": [
        "asphalt",
        "standing_seam",
        "tile"
      ],
      "type": "string"
    },
    "width_ft": {
      "type": "number",
      "description": "Horizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions.",
      "exclusiveMinimum": 0
    },
    "length_ft": {
      "type": "number",
      "description": "Horizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions.",
      "exclusiveMinimum": 0
    },
    "quoted_extras": {
      "type": "number",
      "minimum": 0,
      "description": "Your own total dollars quote for separate items excluded from the installation/removal scope; no assumed surcharge."
    },
    "waste_percent": {
      "type": "number",
      "maximum": 15,
      "minimum": 10,
      "description": "Optional asphalt purchase allowance only. Not applied to installed bid rates. No sourced midpoint/default."
    },
    "footprint_sqft": {
      "type": "number",
      "description": "Horizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions.",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
roof_replacement_cost annotations
{
  "title": "Roof Replacement Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
fence_cost — Fence Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Estimate fence and gate costs from net non-gate length and gate widths. Returns calculated low, median bid and high bounds from exact City of Sunrise FL 2020 municipal bid rows, their scope and sources, and local permit guidance. Historical public bid observations are not current homeowner prices.

fence_cost input schema
{
  "type": "object",
  "examples": [
    {
      "gate_type": "wood_6",
      "fence_type": "wood_6",
      "net_length_ft": 100,
      "gate_widths_ft": [
        4
      ]
    }
  ],
  "required": [
    "net_length_ft",
    "fence_type"
  ],
  "properties": {
    "gate_type": {
      "enum": [
        "chain_link_6",
        "wood_6",
        "pvc_6",
        "aluminum_4",
        "local_quote"
      ],
      "type": "string",
      "description": "Exact documented gate material and height for all entered widths; local_quote for unsupported gates."
    },
    "fence_type": {
      "enum": [
        "chain_link_4",
        "chain_link_6",
        "wood_6",
        "pvc_4",
        "pvc_6",
        "aluminum_4"
      ],
      "type": "string",
      "description": "Exact documented material and height row; no interpolation."
    },
    "net_length_ft": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Net non-gate fence length in feet. Gate openings already excluded; do not subtract them again."
    },
    "gate_widths_ft": {
      "type": "array",
      "items": {
        "type": "number",
        "maximum": 1000000000,
        "exclusiveMinimum": 0
      },
      "description": "Each gate width in feet, not a gate count. GET: comma-separated widths; omitted means no gates."
    }
  },
  "additionalProperties": false
}
fence_cost annotations
{
  "title": "Fence Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
wheelchair_ramp — Wheelchair Ramp Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Plan wheelchair ramp length from entrance rise. Returns the minimum horizontal run under ADA 2010 §405.2, cited width, landing, rise-per-run and handrail dimensions, and separate historical HUD accessibility cost cards with missing price cells visible. This is a planning guide, not a code inspection.

wheelchair_ramp input schema
{
  "type": "object",
  "examples": [
    {
      "rise_inches": 20
    }
  ],
  "required": [
    "rise_inches"
  ],
  "properties": {
    "rise_inches": {
      "type": "number",
      "maximum": 1000000000,
      "description": "Entrance rise in inches; minimum horizontal run excludes landings and door maneuvering space.",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
wheelchair_ramp annotations
{
  "title": "Wheelchair Ramp Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pickleball_court_cost — Pickleball Court Cost and Size Planner
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check whether a pickleball court fits a space and show public court project costs. Returns rulebook footprints and one-court fit in either orientation, separate cost cards, and unpriced scope. Cost cards are public city project and planning figures, not a price for this court. Pure rules and Decimal, no network, model or clock. Web and MCP share the free daily allowance.

pickleball_court_cost input schema
{
  "type": "object",
  "examples": [
    {
      "size": "recommended",
      "courts": 2,
      "space_width_ft": 40,
      "space_length_ft": 70
    }
  ],
  "properties": {
    "base": {
      "enum": [
        "new_concrete",
        "new_asphalt",
        "existing_slab"
      ],
      "type": "string",
      "description": "Omit when unknown."
    },
    "size": {
      "enum": [
        "minimum",
        "recommended"
      ],
      "type": "string",
      "description": "Omit when unknown."
    },
    "fence": {
      "enum": [
        "yes",
        "no"
      ],
      "type": "string",
      "description": "Omit when unknown."
    },
    "courts": {
      "type": "integer",
      "maximum": 4,
      "minimum": 1,
      "description": "Court count; omitted uses 1 for math, marked assumed."
    },
    "finish": {
      "enum": [
        "acrylic",
        "tiles"
      ],
      "type": "string",
      "description": "Omit when unknown."
    },
    "lights": {
      "enum": [
        "yes",
        "no"
      ],
      "type": "string",
      "description": "Omit when unknown."
    },
    "space_width_ft": {
      "type": "number",
      "maximum": 1000,
      "minimum": 1,
      "description": "Open, level space in feet; provide both length and width or neither."
    },
    "space_length_ft": {
      "type": "number",
      "maximum": 1000,
      "minimum": 1,
      "description": "Open, level space in feet; provide both length and width or neither."
    }
  },
  "additionalProperties": false
}
pickleball_court_cost annotations
{
  "title": "Pickleball Court Cost and Size Planner",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
ev_charger_install_cost — EV Charger Installation Planner
Advertised by the server during the last successful anonymous check.
Advertised read-only

Work out the circuit a home EV charger needs, panel triage, utility install cost references and federal credit rules. Returns safety first, the exact 125% minimum breaker calculation, panel triage, unpriced extras and dated federal 30C rules. Reference cards are utility and DOE program figures, not a price for this home. A licensed electrician and permit are needed; confirm local requirements and inspection. Pure rules and Decimal, no network, model or clock. Web and MCP share the free daily allowance.

ev_charger_install_cost input schema
{
  "type": "object",
  "examples": [
    {
      "level": "level2",
      "charger_amps": 48
    }
  ],
  "properties": {
    "level": {
      "enum": [
        "level1",
        "level2"
      ],
      "type": "string",
      "description": "Charging level; omit when unknown."
    },
    "extras": {
      "type": "array",
      "items": {
        "enum": [
          "detached_garage",
          "outdoor_run",
          "finished_walls",
          "trenching",
          "pavement_cut",
          "long_route"
        ],
        "type": "string"
      },
      "uniqueItems": true
    },
    "run_feet": {
      "type": "number",
      "maximum": 500,
      "minimum": 1,
      "description": "Estimated routed panel-to-charger length, not straight-line distance."
    },
    "panel_amps": {
      "type": "integer",
      "maximum": 400,
      "minimum": 30,
      "description": "Panel/service rating, echoed only; a panel label alone cannot decide an upgrade or price the job."
    },
    "spare_space": {
      "enum": [
        "yes",
        "no"
      ],
      "type": "string",
      "description": "Compatible breaker space for a new circuit."
    },
    "charger_amps": {
      "type": "number",
      "maximum": 80,
      "minimum": 6,
      "description": "Rated or installer-set maximum charging current in amps."
    },
    "installed_on": {
      "type": "string",
      "format": "date",
      "description": "Placed-in-service date YYYY-MM-DD; omitted follows the after-2026-06-30 rule."
    },
    "capacity_check": {
      "enum": [
        "enough",
        "not_enough",
        "not_done"
      ],
      "type": "string",
      "description": "Electrician load calculation result; not_done means not assessed."
    },
    "existing_circuit": {
      "enum": [
        "yes",
        "no"
      ],
      "type": "string",
      "description": "Suitable dedicated circuit already at the parking spot."
    }
  },
  "additionalProperties": false
}
ev_charger_install_cost annotations
{
  "title": "EV Charger Installation Planner",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
epoch_convert — Unix Epoch Converter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert between Unix timestamps and dates. Converts a Unix timestamp (seconds or milliseconds, detected by size) or an ISO 8601 date string to epoch seconds, epoch milliseconds, an ISO UTC time, the same moment in an optional IANA time zone, and the weekday there. A date string with no offset is read in the given zone, UTC by default. Pure standard-library rules, no network, model or clock.

epoch_convert input schema
{
  "type": "object",
  "examples": [
    {
      "tz": "America/New_York",
      "value": 1710000000
    },
    {
      "tz": "America/New_York",
      "value": "2024-03-10T02:30:00"
    }
  ],
  "required": [
    "value"
  ],
  "properties": {
    "tz": {
      "type": "string",
      "maxLength": 64,
      "description": "Optional IANA time zone name such as America/New_York. Default UTC. Used for iso_in_tz and weekday, and as the zone of a date string that has no offset of its own."
    },
    "unit": {
      "enum": [
        "s",
        "ms"
      ],
      "type": "string",
      "description": "Optional. Force a numeric value to be read as seconds (s) or milliseconds (ms) instead of auto-detecting."
    },
    "value": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "maxLength": 64
        }
      ],
      "description": "Required. A Unix timestamp (number or digits; seconds or milliseconds are detected by size) or an ISO 8601 date or date-time string such as 2024-03-10 or 2024-03-10T14:30:00-05:00."
    }
  },
  "additionalProperties": false
}
epoch_convert annotations
{
  "title": "Unix Epoch Converter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
har_to_openapi — HAR to OpenAPI Converter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Turn a HAR file (a browser network export) into an OpenAPI 3.1 description of the API calls in it. Cleans the file first: drops cookies and login headers and replaces secret-named headers, query parameters, form fields and JSON keys with REDACTED. Groups calls by host, method and path template (numeric ids, UUIDs and long hex or base64 path parts become parameters), and infers query parameters, request body schemas and response schemas per status from the samples. Sign-in methods are named, never copied; example values are off unless asked for. Leaves out page loads, static files and preflights unless asked. Returns the OpenAPI document as JSON and the endpoint count. Pure standard library, no network, model or clock.

har_to_openapi input schema
{
  "type": "object",
  "required": [
    "har"
  ],
  "properties": {
    "har": {
      "type": "string",
      "examples": [
        "{\"log\":{\"entries\":[{\"request\":{\"method\":\"GET\",\"url\":\"https://api.example.com/v1/items/42\"},\"response\":{\"status\":200}}]}}"
      ],
      "maxLength": 2000000,
      "minLength": 1,
      "description": "Required. The HAR file's JSON text (a browser network export), at most 2,000,000 characters."
    },
    "host": {
      "type": "string",
      "maxLength": 255,
      "description": "Only describe calls to this host, such as api.example.com."
    },
    "examples": {
      "type": "boolean",
      "default": false,
      "description": "Add example values from the cleaned file to parameters and bodies. Default false."
    },
    "include_static": {
      "type": "boolean",
      "default": false,
      "description": "Also describe page loads, images, scripts, styles, fonts, media and CORS preflights. Default false."
    }
  },
  "additionalProperties": false
}
har_to_openapi annotations
{
  "title": "HAR to OpenAPI Converter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
inspect_binary — Binary Inspector
Advertised by the server during the last successful anonymous check.
Advertised read-only

Read the structure of a program file: Windows PE (EXE or DLL, 32 or 64-bit), Linux ELF or Mac Mach-O (thin or universal), given as base64, at most 2,000,000 bytes. Returns the format, type, architecture, bitness and entry point; sections with file offset, size, address, access flags and entropy (bits per byte); imports per library and exports; PE resources, whether a PE certificate table or Mach-O code signature is present (never checked) and whether the file is a .NET assembly. Reads headers and tables only; runs nothing. Pure standard library, no network or model.

inspect_binary input schema
{
  "type": "object",
  "required": [
    "file"
  ],
  "properties": {
    "arch": {
      "type": "string",
      "maxLength": 40,
      "description": "For a Mac universal binary: the architecture to describe, such as ARM64 or x86-64. Default: the first one."
    },
    "file": {
      "type": "string",
      "examples": [
        "f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAOAAAAEAAAAAAAA=="
      ],
      "maxLength": 2700000,
      "minLength": 1,
      "description": "Required. The program file (Windows EXE or DLL, Linux ELF, or Mac Mach-O), as base64 or a base64 data URL; at most 2,000,000 bytes once decoded."
    },
    "filename": {
      "type": "string",
      "maxLength": 255,
      "description": "Optional file name, used only in the result text."
    }
  },
  "additionalProperties": false
}
inspect_binary annotations
{
  "title": "Binary Inspector",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
extract_strings — Strings Extractor
Advertised by the server during the last successful anonymous check.
Advertised read-only

List the readable text inside any file, given as base64, at most 2,000,000 bytes: runs of ASCII and UTF-16LE characters (UTF-8 on request) at least min_length long, with byte offsets. Labels each string by shape as a URL, email, IP address, file path, key or token, or other, and counts every kind across the whole file; the list can be narrowed by kind or text and holds up to 2,000 strings in file order. Pure standard library, no network or model.

extract_strings input schema
{
  "type": "object",
  "required": [
    "file"
  ],
  "properties": {
    "file": {
      "type": "string",
      "examples": [
        "AAFIZWxsbyBodHRwczovL2V4YW1wbGUuY29tL2RvY3MAAm9wc0BleGFtcGxlLm9yZwA="
      ],
      "maxLength": 2700000,
      "minLength": 1,
      "description": "Required. Any file, as base64 or a base64 data URL; at most 2,000,000 bytes once decoded."
    },
    "kinds": {
      "type": "array",
      "items": {
        "enum": [
          "url",
          "email",
          "ip",
          "path",
          "key",
          "other"
        ],
        "type": "string"
      },
      "minItems": 1,
      "description": "Only list strings of these kinds (url, email, ip, path, key, other). Counts always cover all.",
      "uniqueItems": true
    },
    "limit": {
      "type": "integer",
      "default": 2000,
      "maximum": 2000,
      "minimum": 1,
      "description": "Most strings to list, in file order. Default and maximum 2,000."
    },
    "contains": {
      "type": "string",
      "maxLength": 200,
      "description": "Only list strings containing this text (any case)."
    },
    "filename": {
      "type": "string",
      "maxLength": 255,
      "description": "Optional file name, used only in the result text."
    },
    "encodings": {
      "type": "array",
      "items": {
        "enum": [
          "ascii",
          "utf-8",
          "utf-16le"
        ],
        "type": "string"
      },
      "default": [
        "ascii",
        "utf-16le"
      ],
      "minItems": 1,
      "description": "Which text to look for: ascii, utf-16le and utf-8. Default ascii and utf-16le; utf-8 also reads accented and other non-English letters, and finds more false text in random bytes.",
      "uniqueItems": true
    },
    "min_length": {
      "type": "integer",
      "default": 4,
      "maximum": 32,
      "minimum": 3,
      "description": "Shortest run of characters to keep, 3 to 32. Default 4."
    }
  },
  "additionalProperties": false
}
extract_strings annotations
{
  "title": "Strings Extractor",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
inspect_apk — APK Inspector
Advertised by the server during the last successful anonymous check.
Advertised read-only

Read an Android app file (.apk), given as base64, at most 2,000,000 bytes. Returns the package name, version, minimum, target and compile SDK; permissions grouped by what they reach, each with a plain meaning and whether Android asks the person first; activities, services, receivers and providers with whether each is exported and why; web addresses and hostnames found in the code's string tables, grouped by host; and the signer certificate (subject, issuer, validity, key, SHA-256) from the v1 signature or the v2/v3 signing block, read but never verified. Runs nothing. Pure standard library, no network or model.

inspect_apk input schema
{
  "type": "object",
  "required": [
    "file"
  ],
  "properties": {
    "file": {
      "type": "string",
      "examples": [
        "UEsDBBQAAAAIAAAAIVzqCJ9EVwEAAAwDAAATAAAAQW5kcm9pZE1hbmlmZXN0LnhtbG2STU4CQRCFXzPADD9GFixM5AQmzujOuJaFCWGhxj3RUQkKE0Dj0hN5AheexbV3wK+bHsCB7rzp6ldVr6q7J1CkZiAZdfRlpKbWo7dhW/4IXIBb8Am+wQ/4tQHktkEflDXWQC9KofdYh+yvda8RmammmsFM4KSG3v4x/VVeiDUmZwo/ZLXVnzRnZjpXwpzpDiYlfoAdF+JjvBN8CXxG5QRPSlyypRviHxA94vvoau/73Jjdu+so0zN27LQyIgKdsjvBilz9MVoPTn/uuFcsuzsG9tzS4VZ/mTu5vZ3Z6vyxLrmDG3V1xdrFst2s1XblSB8mUtt1ZUyzZEwHyLR0AFcCCwZPzLuwh++52CVvR4TdZpb8W1uuwlp1Z1FQzXPdbS250GudeV+uVfNaxmuVl7+GfJ2W7SnwvVUKebledYNv7NCzo+77qG/ohYW8nI8KZzWerxXu5g9QSwECFAAUAAAACAAAACFc6gifRFcBAAAMAwAAEwAAAAAAAAAAAAAAAAAAAAAAQW5kcm9pZE1hbmlmZXN0LnhtbFBLBQYAAAAAAQABAEEAAACIAQAAAAA="
      ],
      "maxLength": 2700000,
      "minLength": 1,
      "description": "Required. The Android app file (.apk), as base64 or a base64 data URL; at most 2,000,000 bytes once decoded."
    },
    "filename": {
      "type": "string",
      "maxLength": 255,
      "description": "Optional file name, used only in the result text."
    }
  },
  "additionalProperties": false
}
inspect_apk annotations
{
  "title": "APK Inspector",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
read_barcode — Barcode scanner
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Read every barcode in a PNG, JPEG or WebP image, given as base64 (or a data URL), a public https URL, or an attached file. At most 2 MB and 4000 by 4000 pixels. Returns text, format, corner positions and GS1 product number, expiry and lot when present.

read_barcode input schema
{
  "type": "object",
  "examples": [
    {
      "url": "https://apitoolcalls.com/barcode-scanner/samples/ean13.png"
    }
  ],
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 8192,
      "description": "Public https URL of a PNG, JPEG or WebP image; 2 MB maximum."
    },
    "file": {
      "type": "object",
      "required": [
        "download_url",
        "file_id"
      ],
      "properties": {
        "file_id": {
          "type": "string"
        },
        "file_name": {
          "type": "string"
        },
        "mime_type": {
          "type": "string"
        },
        "download_url": {
          "type": "string"
        }
      },
      "description": "An image file the user attached (OpenAI Apps SDK file parameter)."
    },
    "image": {
      "type": "string",
      "description": "Base64 PNG/JPEG/WebP or image data URL; 2 MB decoded maximum. Give one of image, url or file."
    }
  }
}
read_barcode annotations
{
  "title": "Barcode scanner",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
make_barcode — Barcode generator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Make an SVG barcode. Validates retail check digits and lengths. GS1-128 and GS1 DataMatrix accept bracketed (01)GTIN(17)YYMMDD(10)lot; use make_qr for QR codes.

make_barcode input schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": "Text to encode; at most 1024 UTF-8 bytes."
    },
    "format": {
      "enum": [
        "code128",
        "ean13",
        "ean8",
        "upca",
        "upce",
        "code39",
        "itf",
        "gs1-128",
        "datamatrix"
      ],
      "type": "string",
      "default": "code128"
    }
  }
}
make_barcode annotations
{
  "title": "Barcode generator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
make_run_loop — Run Loop Maker
Advertised by the server during the last successful anonymous check.
Advertised read-only

Make walking/running loops that start and end at one point, each within 3% of the target distance. Returns Google Maps links and an encoded polyline. Routes and map data © OpenStreetMap contributors (ODbL); each result credits the routing service that made it.

make_run_loop input schema
{
  "type": "object",
  "required": [
    "start",
    "distance_km"
  ],
  "properties": {
    "via": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "object",
          "required": [
            "lat",
            "lon"
          ],
          "properties": {
            "lat": {
              "type": "number",
              "maximum": 90,
              "minimum": -90
            },
            "lon": {
              "type": "number",
              "maximum": 180,
              "minimum": -180
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "count": {
      "type": "integer",
      "default": 3,
      "maximum": 3,
      "minimum": 1
    },
    "start": {
      "oneOf": [
        {
          "type": "string",
          "minLength": 1
        },
        {
          "type": "object",
          "required": [
            "lat",
            "lon"
          ],
          "properties": {
            "lat": {
              "type": "number",
              "maximum": 90,
              "minimum": -90
            },
            "lon": {
              "type": "number",
              "maximum": 180,
              "minimum": -180
            }
          },
          "additionalProperties": false
        }
      ]
    },
    "stops": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "lat",
          "lon"
        ],
        "properties": {
          "lat": {
            "type": "number",
            "maximum": 90,
            "minimum": -90
          },
          "lon": {
            "type": "number",
            "maximum": 180,
            "minimum": -180
          }
        },
        "additionalProperties": false
      },
      "maxItems": 9,
      "minItems": 1
    },
    "prefer": {
      "type": "array",
      "items": {
        "enum": [
          "quiet",
          "trails",
          "flat"
        ],
        "type": "string"
      },
      "default": [],
      "maxItems": 3,
      "uniqueItems": true
    },
    "direction": {
      "enum": [
        "any",
        "n",
        "e",
        "s",
        "w"
      ],
      "type": "string",
      "default": "any"
    },
    "avoid_crime": {
      "type": "boolean",
      "default": false,
      "description": "Steer round blocks with more reported crime than the start (city police reports, last 12 months; San Francisco and Seattle for now). Not a guarantee."
    },
    "distance_km": {
      "type": "number",
      "maximum": 42.2,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
make_run_loop annotations
{
  "title": "Run Loop Maker",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
company_facts — Company Info Finder
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Read a business's own home, about and contact pages and return its name, address, phone, email, founding year and what it does, each with the page it came from. Page text goes to a language model: with no key, a small shared free daily allowance (Google Gemini); with an X-OpenRouter-Key header, the caller's OpenRouter key.

company_facts input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 8192,
      "minLength": 1,
      "description": "The business's public http or https homepage URL."
    }
  },
  "additionalProperties": false
}
company_facts annotations
{
  "title": "Company Info Finder",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
proofread — Proofreader
Advertised by the server during the last successful anonymous check.
Advertised read-onlyOpen-world

Fix spelling, grammar, punctuation and word choice while keeping meaning and voice. Text goes to a language model: with no key, a small shared daily allowance (Google Gemini); with an X-OpenRouter-Key header, the caller's OpenRouter key.

proofread input schema
{
  "type": "object",
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 15000,
      "minLength": 1,
      "description": "Text to proofread, at most 2,000 words."
    }
  },
  "additionalProperties": false
}
proofread annotations
{
  "title": "Proofreader",
  "readOnlyHint": true,
  "openWorldHint": true,
  "idempotentHint": true,
  "destructiveHint": false
}
apa_citation_generator — APA Citation Generator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Format an APA reference and in-text citations from entered source metadata.

apa_citation_generator input schema
{
  "type": "object",
  "examples": [
    {
      "date": "2020",
      "type": "book",
      "title": "The Example Book",
      "authors": [
        {
          "given": "Jane",
          "family": "Smith"
        }
      ],
      "publisher": "Example Press"
    }
  ],
  "required": [
    "type",
    "title"
  ],
  "properties": {
    "doi": {
      "type": "string",
      "description": ""
    },
    "url": {
      "type": "string",
      "description": ""
    },
    "date": {
      "type": "string",
      "description": ""
    },
    "type": {
      "enum": [
        "journal",
        "book",
        "chapter",
        "webpage",
        "report",
        "video"
      ],
      "type": "string"
    },
    "issue": {
      "type": "string",
      "description": ""
    },
    "pages": {
      "type": "string",
      "description": ""
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "description": ""
    },
    "volume": {
      "type": "string",
      "description": ""
    },
    "authors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "given": {
            "type": "string",
            "description": ""
          },
          "group": {
            "type": "string",
            "description": ""
          },
          "family": {
            "type": "string",
            "description": ""
          }
        },
        "additionalProperties": false
      }
    },
    "edition": {
      "type": "string",
      "description": ""
    },
    "editors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "given": {
            "type": "string",
            "description": ""
          },
          "group": {
            "type": "string",
            "description": ""
          },
          "family": {
            "type": "string",
            "description": ""
          }
        },
        "additionalProperties": false
      }
    },
    "journal": {
      "type": "string",
      "description": ""
    },
    "changing": {
      "type": "boolean",
      "default": false
    },
    "platform": {
      "type": "string",
      "description": ""
    },
    "siteName": {
      "type": "string",
      "description": ""
    },
    "bookTitle": {
      "type": "string",
      "description": ""
    },
    "publisher": {
      "type": "string",
      "description": ""
    },
    "retrieved": {
      "type": "string",
      "description": ""
    },
    "reportNumber": {
      "type": "string",
      "description": ""
    },
    "sentenceCase": {
      "type": "boolean",
      "default": true
    }
  },
  "additionalProperties": false
}
apa_citation_generator output schema
{
  "type": "object",
  "description": "segments, html, plain, parenthetical and narrative citation text; no lookup or file export"
}
apa_citation_generator annotations
{
  "title": "APA Citation Generator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
bmi_calculator — BMI Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate adult BMI and its band from weight, height and units.

bmi_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "height": 1.75,
      "weight": 70
    }
  ],
  "required": [
    "weight",
    "height"
  ],
  "properties": {
    "units": {
      "enum": [
        "metric",
        "imperial"
      ],
      "type": "string",
      "default": "metric"
    },
    "height": {
      "type": "number",
      "description": "Metres (metric) or total inches (imperial)",
      "exclusiveMinimum": 0
    },
    "weight": {
      "type": "number",
      "description": "Kilograms (metric) or pounds (imperial)",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
bmi_calculator output schema
{
  "type": "object",
  "description": "value (BMI) and adult band"
}
bmi_calculator annotations
{
  "title": "BMI Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
body_fat_calculator — Body Fat Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate Navy body fat percentage from sex and tape measurements.

body_fat_calculator input schema
{
  "type": "object",
  "oneOf": [
    {
      "required": [
        "abdomen"
      ],
      "properties": {
        "sex": {
          "enum": [
            "male"
          ],
          "type": "string"
        }
      }
    },
    {
      "required": [
        "waist",
        "hip"
      ],
      "properties": {
        "sex": {
          "enum": [
            "female"
          ],
          "type": "string"
        }
      }
    }
  ],
  "examples": [
    {
      "sex": "male",
      "neck": 15,
      "height": 70,
      "abdomen": 34
    }
  ],
  "required": [
    "sex",
    "height",
    "neck"
  ],
  "properties": {
    "hip": {
      "type": "number",
      "description": "Female hip circumference",
      "exclusiveMinimum": 0
    },
    "sex": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "neck": {
      "type": "number",
      "description": "Neck circumference",
      "exclusiveMinimum": 0
    },
    "units": {
      "enum": [
        "metric",
        "imperial"
      ],
      "type": "string",
      "default": "imperial"
    },
    "waist": {
      "type": "number",
      "description": "Female waist circumference",
      "exclusiveMinimum": 0
    },
    "height": {
      "type": "number",
      "description": "Height",
      "exclusiveMinimum": 0
    },
    "abdomen": {
      "type": "number",
      "description": "Male abdomen circumference",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
body_fat_calculator output schema
{
  "type": "object",
  "description": "bodyFat percentage"
}
body_fat_calculator annotations
{
  "title": "Body Fat Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calorie_calculator — Calorie and Macro Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate resting energy and daily calories from adult measurements, formula and activity level.

calorie_calculator input schema
{
  "type": "object",
  "anyOf": [
    {
      "not": {
        "required": [
          "method"
        ],
        "properties": {
          "method": {
            "enum": [
              "katch"
            ],
            "type": "string"
          }
        }
      }
    },
    {
      "required": [
        "bodyFat"
      ]
    }
  ],
  "oneOf": [
    {
      "required": [
        "height"
      ],
      "properties": {
        "units": {
          "enum": [
            "metric"
          ],
          "type": "string"
        }
      }
    },
    {
      "required": [
        "units",
        "feet",
        "inches"
      ],
      "properties": {
        "units": {
          "enum": [
            "imperial"
          ],
          "type": "string"
        }
      }
    }
  ],
  "examples": [
    {
      "age": 30,
      "sex": "male",
      "height": 180,
      "weight": 80
    }
  ],
  "required": [
    "sex",
    "age",
    "weight"
  ],
  "properties": {
    "age": {
      "type": "number",
      "maximum": 120,
      "minimum": 18,
      "description": "Adult age in years"
    },
    "sex": {
      "enum": [
        "male",
        "female"
      ],
      "type": "string"
    },
    "feet": {
      "type": "integer",
      "minimum": 0,
      "description": "Imperial height in whole feet"
    },
    "units": {
      "enum": [
        "metric",
        "imperial"
      ],
      "type": "string",
      "default": "metric"
    },
    "height": {
      "type": "number",
      "description": "Metric height in centimetres",
      "exclusiveMinimum": 0
    },
    "inches": {
      "type": "number",
      "minimum": 0,
      "description": "Imperial additional inches",
      "exclusiveMaximum": 12
    },
    "method": {
      "enum": [
        "mifflin",
        "harris",
        "katch"
      ],
      "type": "string",
      "default": "mifflin"
    },
    "weight": {
      "type": "number",
      "description": "kg or lb by units",
      "exclusiveMinimum": 0
    },
    "bodyFat": {
      "type": "number",
      "description": "Body fat percentage",
      "exclusiveMaximum": 100,
      "exclusiveMinimum": 0
    },
    "activity": {
      "enum": [
        1.2,
        1.375,
        1.55,
        1.725,
        1.9
      ],
      "type": "number",
      "default": 1.2
    }
  },
  "additionalProperties": false
}
calorie_calculator output schema
{
  "type": "object",
  "description": "resting and daily kcal/day, methodLabel, activity"
}
calorie_calculator annotations
{
  "title": "Calorie and Macro Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
character_count — Character counter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Count Unicode characters, words, lines and UTF-8 bytes from text.

character_count input schema
{
  "type": "object",
  "examples": [
    {
      "text": "Hello world.\nHi!"
    }
  ],
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": ""
    }
  },
  "additionalProperties": false
}
character_count output schema
{
  "type": "object",
  "description": "characters (graphemes), charactersNoSpaces, words, lines, bytes"
}
character_count annotations
{
  "title": "Character counter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
concrete_calculator — Concrete Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Computes slab, footing, cylindrical-column or solid-step concrete volume, waste allowance and whole 40/60/80 lb bag counts from QUIKRETE No. 1101 yields.

concrete_calculator input schema
{
  "type": "object",
  "oneOf": [
    {
      "required": [
        "length",
        "width",
        "height"
      ],
      "properties": {
        "shape": {
          "enum": [
            "slab"
          ],
          "type": "string",
          "description": "Shape."
        }
      }
    },
    {
      "required": [
        "length",
        "width",
        "height"
      ],
      "properties": {
        "shape": {
          "enum": [
            "footing"
          ],
          "type": "string",
          "description": "Shape."
        }
      }
    },
    {
      "required": [
        "diameter",
        "height"
      ],
      "properties": {
        "shape": {
          "enum": [
            "column"
          ],
          "type": "string",
          "description": "Shape."
        }
      }
    },
    {
      "required": [
        "width",
        "steps",
        "rise",
        "run"
      ],
      "properties": {
        "shape": {
          "enum": [
            "steps"
          ],
          "type": "string",
          "description": "Shape."
        }
      }
    }
  ],
  "examples": [
    {
      "unit": "in",
      "shape": "column",
      "waste": 10,
      "height": 48,
      "diameter": 12
    }
  ],
  "required": [
    "shape"
  ],
  "properties": {
    "run": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Run per step.",
      "exclusiveMinimum": 0
    },
    "rise": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Rise per step.",
      "exclusiveMinimum": 0
    },
    "unit": {
      "enum": [
        "ft",
        "in",
        "yd",
        "m",
        "cm"
      ],
      "type": "string",
      "description": "Common length unit for every entered dimension; default ft."
    },
    "count": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 1,
      "description": "Identical project count; default 1."
    },
    "shape": {
      "enum": [
        "slab",
        "footing",
        "column",
        "steps"
      ],
      "type": "string",
      "description": "Rectangular slab or footing, cylindrical column, or solid equal-rise/run steps."
    },
    "steps": {
      "type": "integer",
      "maximum": 1000,
      "minimum": 1,
      "description": "Step count."
    },
    "waste": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Waste percentage; default 10."
    },
    "width": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Base width.",
      "exclusiveMinimum": 0
    },
    "height": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Perpendicular height.",
      "exclusiveMinimum": 0
    },
    "length": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Base length.",
      "exclusiveMinimum": 0
    },
    "diameter": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Column diameter in the common length unit.",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
concrete_calculator output schema
{
  "type": "object",
  "description": "Computed values, units and formula where applicable; rational integers are decimal strings."
}
concrete_calculator annotations
{
  "title": "Concrete Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
decimal_to_fraction — Decimal to Fraction
Advertised by the server during the last successful anonymous check.
Advertised read-only

Converts a terminating or explicitly repeating decimal to an exact simplified fraction, mixed number and decimal display.

decimal_to_fraction input schema
{
  "type": "object",
  "examples": [
    {
      "decimal": "0.1(6)"
    }
  ],
  "required": [
    "decimal"
  ],
  "properties": {
    "decimal": {
      "type": "string",
      "maxLength": 300,
      "minLength": 1,
      "description": "Decimal: 0.125, 0.(3), 0.1(6), or combining bars on repeating digits. With ... every entered fractional digit repeats."
    }
  },
  "additionalProperties": false
}
decimal_to_fraction output schema
{
  "type": "object",
  "description": "Computed values, units and formula where applicable; rational integers are decimal strings."
}
decimal_to_fraction annotations
{
  "title": "Decimal to Fraction",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
font_generator — Fancy font generator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert text to a selected Unicode letter style.

font_generator input schema
{
  "type": "object",
  "examples": [
    {
      "text": "Hello 123!",
      "style": "bold"
    }
  ],
  "required": [
    "text",
    "style"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": ""
    },
    "style": {
      "enum": [
        "bold",
        "italic",
        "bold-italic",
        "script",
        "bold-script",
        "fraktur",
        "double-struck",
        "monospace",
        "sans-bold",
        "circled",
        "negative-circled",
        "squared",
        "small-caps",
        "upside-down",
        "strikethrough",
        "underline"
      ],
      "type": "string"
    }
  },
  "additionalProperties": false
}
font_generator output schema
{
  "type": "object",
  "description": "text with mapped Unicode letters; digits and punctuation preserved"
}
font_generator annotations
{
  "title": "Fancy font generator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
fraction_calculator — Fraction Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Computes exact addition, subtraction, multiplication or division of fractions and mixed numbers, with simplified, mixed and decimal forms.

fraction_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "a": "1 1/2",
      "b": "2/3",
      "operation": "+"
    }
  ],
  "required": [
    "a",
    "b"
  ],
  "properties": {
    "a": {
      "type": "string",
      "maxLength": 300,
      "minLength": 1,
      "description": "First integer, fraction, decimal or signed mixed number."
    },
    "b": {
      "type": "string",
      "maxLength": 300,
      "minLength": 1,
      "description": "Second integer, fraction, decimal or signed mixed number."
    },
    "operation": {
      "enum": [
        "+",
        "-",
        "*",
        "/"
      ],
      "type": "string",
      "description": "Arithmetic operation; default +."
    }
  },
  "additionalProperties": false
}
fraction_calculator output schema
{
  "type": "object",
  "description": "Computed values, units and formula where applicable; rational integers are decimal strings."
}
fraction_calculator annotations
{
  "title": "Fraction Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
gpa_calculator — GPA Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Computes credit-weighted GPA with A=4, B=3, C=2, D=1, F=0 and optional common honors +0.5/AP +1.0 bonuses for passing grades; school conventions vary.

gpa_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "courses": [
        {
          "grade": "A",
          "level": "ap",
          "credits": 3
        },
        {
          "grade": "B",
          "credits": 4
        }
      ],
      "weighted": true
    }
  ],
  "required": [
    "courses"
  ],
  "properties": {
    "courses": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "grade",
          "credits"
        ],
        "properties": {
          "grade": {
            "enum": [
              "A+",
              "A",
              "A-",
              "B+",
              "B",
              "B-",
              "C+",
              "C",
              "C-",
              "D+",
              "D",
              "D-",
              "F"
            ],
            "type": "string",
            "description": "Letter grade on a common 4.0 plus/minus scale: A+/A=4.0, A-=3.7, B+=3.3, B=3.0, B-=2.7, C+=2.3, C=2.0, C-=1.7, D+=1.3, D=1.0, D-=0.7, F=0.0; schools vary."
          },
          "level": {
            "enum": [
              "regular",
              "honors",
              "ap"
            ],
            "type": "string",
            "description": "Course level; default regular."
          },
          "credits": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Attempted credits.",
            "exclusiveMinimum": 0
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100,
      "minItems": 1
    },
    "weighted": {
      "type": "boolean",
      "description": "Apply the stated weighting convention; default false."
    }
  },
  "additionalProperties": false
}
gpa_calculator output schema
{
  "type": "object",
  "description": "Computed values, units and formula where applicable; rational integers are decimal strings."
}
gpa_calculator annotations
{
  "title": "GPA Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
grade_calculator — Grade Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Computes a weighted category average and optionally the final-exam percentage needed to reach a target course grade.

grade_calculator input schema
{
  "type": "object",
  "anyOf": [
    {
      "required": [
        "target",
        "finalWeight"
      ]
    },
    {
      "not": {
        "anyOf": [
          {
            "required": [
              "target"
            ]
          },
          {
            "required": [
              "finalWeight"
            ]
          }
        ]
      }
    }
  ],
  "examples": [
    {
      "target": 90,
      "categories": [
        {
          "score": 80,
          "weight": 40
        },
        {
          "score": 90,
          "weight": 60
        }
      ],
      "finalWeight": 20
    }
  ],
  "required": [
    "categories"
  ],
  "properties": {
    "target": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Target course percentage."
    },
    "categories": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "score",
          "weight"
        ],
        "properties": {
          "score": {
            "type": "number",
            "maximum": 100,
            "minimum": 0,
            "description": "Category score percentage."
          },
          "weight": {
            "type": "number",
            "maximum": 100,
            "minimum": 0,
            "description": "Relative category weight."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100,
      "minItems": 1
    },
    "finalWeight": {
      "type": "number",
      "maximum": 100,
      "description": "Final exam percentage of the full course.",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
grade_calculator output schema
{
  "type": "object",
  "description": "Computed values, units and formula where applicable; rational integers are decimal strings."
}
grade_calculator annotations
{
  "title": "Grade Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
heart_rate_zones — Heart-Rate Zone Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate adult maximum heart rate and moderate and vigorous target zones from age and optional measured rates.

heart_rate_zones input schema
{
  "type": "object",
  "examples": [
    {
      "age": 30,
      "resting": 60
    }
  ],
  "required": [
    "age"
  ],
  "properties": {
    "age": {
      "type": "number",
      "maximum": 120,
      "minimum": 18,
      "description": "Adult age in years"
    },
    "method": {
      "enum": [
        "220",
        "tanaka"
      ],
      "type": "string",
      "default": "220"
    },
    "resting": {
      "type": "number",
      "description": "Resting bpm; must be below maximum",
      "exclusiveMinimum": 0
    },
    "measuredMax": {
      "type": "number",
      "maximum": 300,
      "description": "Measured maximum bpm",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
heart_rate_zones output schema
{
  "type": "object",
  "description": "maximum bpm, maxMethod, ahaModerate, ahaVigorous, moderate, vigorous and targetMethod"
}
heart_rate_zones annotations
{
  "title": "Heart-Rate Zone Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
json_formatter — JSON formatter and validator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Format, minify or validate JSON text while preserving number tokens.

json_formatter input schema
{
  "type": "object",
  "examples": [
    {
      "sort": true,
      "text": "{\"b\":2,\"a\":1}"
    }
  ],
  "required": [
    "text"
  ],
  "properties": {
    "sort": {
      "type": "boolean",
      "default": false
    },
    "text": {
      "type": "string",
      "description": ""
    },
    "action": {
      "enum": [
        "format",
        "minify",
        "validate"
      ],
      "type": "string",
      "default": "format"
    },
    "indent": {
      "enum": [
        "2",
        "4",
        "tab"
      ],
      "type": "string",
      "default": "2"
    }
  },
  "additionalProperties": false
}
json_formatter output schema
{
  "type": "object",
  "description": "ok and output, or message, position, line and column for invalid JSON"
}
json_formatter annotations
{
  "title": "JSON formatter and validator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
one_rep_max_calculator — One-Rep Max Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate Epley and Brzycki one-rep maximum estimates from lifted weight and repetitions.

one_rep_max_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "reps": 5,
      "weight": 100
    }
  ],
  "required": [
    "weight",
    "reps"
  ],
  "properties": {
    "reps": {
      "type": "integer",
      "maximum": 12,
      "minimum": 1
    },
    "units": {
      "enum": [
        "kg",
        "lb"
      ],
      "type": "string",
      "default": "kg",
      "description": "Weight unit; returned estimates have the same unit"
    },
    "weight": {
      "type": "number",
      "description": "Lifted weight; results use the same unit",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
one_rep_max_calculator output schema
{
  "type": "object",
  "description": "epley and brzycki weights"
}
one_rep_max_calculator annotations
{
  "title": "One-Rep Max Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pace_calculator — Running Pace Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate running distance, elapsed time or pace from exactly two values and distance units.

pace_calculator input schema
{
  "type": "object",
  "oneOf": [
    {
      "not": {
        "required": [
          "pace"
        ]
      },
      "required": [
        "distance",
        "time"
      ]
    },
    {
      "not": {
        "required": [
          "time"
        ]
      },
      "required": [
        "distance",
        "pace"
      ]
    },
    {
      "not": {
        "required": [
          "distance"
        ]
      },
      "required": [
        "time",
        "pace"
      ]
    }
  ],
  "examples": [
    {
      "time": "25:00",
      "distance": 5
    }
  ],
  "required": [],
  "properties": {
    "pace": {
      "type": "string",
      "minLength": 1,
      "description": "Pace in minutes, M:SS or H:MM:SS per selected distance unit"
    },
    "time": {
      "type": "string",
      "minLength": 1,
      "description": "Elapsed time in minutes, M:SS or H:MM:SS"
    },
    "units": {
      "enum": [
        "km",
        "mi"
      ],
      "type": "string",
      "default": "km"
    },
    "distance": {
      "type": "number",
      "description": "Distance in selected units",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
pace_calculator output schema
{
  "type": "object",
  "description": "distance, time (seconds), pace, perKm and perMile (seconds per unit), solved"
}
pace_calculator annotations
{
  "title": "Running Pace Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
square_footage_calculator — Square Footage Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Computes and sums rectangle, circle, triangle and L-shaped room areas in square feet and square metres.

square_footage_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "unit": "ft",
      "rooms": [
        {
          "shape": "rectangle",
          "width": 10,
          "length": 12
        },
        {
          "shape": "l-shape",
          "width": 10,
          "length": 12,
          "cutoutWidth": 3,
          "cutoutLength": 4
        }
      ]
    }
  ],
  "required": [
    "rooms"
  ],
  "properties": {
    "unit": {
      "enum": [
        "ft",
        "in",
        "yd",
        "m",
        "cm"
      ],
      "type": "string",
      "description": "Common length unit for every entered dimension; default ft."
    },
    "rooms": {
      "type": "array",
      "items": {
        "type": "object",
        "oneOf": [
          {
            "required": [
              "length",
              "width"
            ],
            "properties": {
              "shape": {
                "enum": [
                  "rectangle"
                ],
                "type": "string",
                "description": "Shape."
              }
            }
          },
          {
            "required": [
              "radius"
            ],
            "properties": {
              "shape": {
                "enum": [
                  "circle"
                ],
                "type": "string",
                "description": "Shape."
              }
            }
          },
          {
            "required": [
              "base",
              "height"
            ],
            "properties": {
              "shape": {
                "enum": [
                  "triangle"
                ],
                "type": "string",
                "description": "Shape."
              }
            }
          },
          {
            "required": [
              "length",
              "width",
              "cutoutLength",
              "cutoutWidth"
            ],
            "properties": {
              "shape": {
                "enum": [
                  "l-shape"
                ],
                "type": "string",
                "description": "Shape."
              }
            }
          }
        ],
        "required": [
          "shape"
        ],
        "properties": {
          "base": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Triangle base.",
            "exclusiveMinimum": 0
          },
          "shape": {
            "enum": [
              "rectangle",
              "circle",
              "triangle",
              "l-shape"
            ],
            "type": "string",
            "description": "Room shape."
          },
          "width": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Outer width.",
            "exclusiveMinimum": 0
          },
          "height": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Triangle perpendicular height.",
            "exclusiveMinimum": 0
          },
          "length": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Outer length.",
            "exclusiveMinimum": 0
          },
          "radius": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Circle radius.",
            "exclusiveMinimum": 0
          },
          "cutoutWidth": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Missing corner width.",
            "exclusiveMinimum": 0
          },
          "cutoutLength": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Missing corner length.",
            "exclusiveMinimum": 0
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100,
      "minItems": 1
    }
  },
  "additionalProperties": false
}
square_footage_calculator output schema
{
  "type": "object",
  "description": "Computed values, units and formula where applicable; rational integers are decimal strings."
}
square_footage_calculator annotations
{
  "title": "Square Footage Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
volume_calculator — Volume Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Computes cube, box, cylinder, cone, sphere or rectangular-pyramid volume with its formula and cubic-unit conversions.

volume_calculator input schema
{
  "type": "object",
  "oneOf": [
    {
      "required": [
        "side"
      ],
      "properties": {
        "shape": {
          "enum": [
            "cube"
          ],
          "type": "string",
          "description": "Shape."
        }
      }
    },
    {
      "required": [
        "length",
        "width",
        "height"
      ],
      "properties": {
        "shape": {
          "enum": [
            "box"
          ],
          "type": "string",
          "description": "Shape."
        }
      }
    },
    {
      "required": [
        "radius",
        "height"
      ],
      "properties": {
        "shape": {
          "enum": [
            "cylinder"
          ],
          "type": "string",
          "description": "Shape."
        }
      }
    },
    {
      "required": [
        "radius",
        "height"
      ],
      "properties": {
        "shape": {
          "enum": [
            "cone"
          ],
          "type": "string",
          "description": "Shape."
        }
      }
    },
    {
      "required": [
        "radius"
      ],
      "properties": {
        "shape": {
          "enum": [
            "sphere"
          ],
          "type": "string",
          "description": "Shape."
        }
      }
    },
    {
      "required": [
        "length",
        "width",
        "height"
      ],
      "properties": {
        "shape": {
          "enum": [
            "pyramid"
          ],
          "type": "string",
          "description": "Shape."
        }
      }
    }
  ],
  "examples": [
    {
      "unit": "m",
      "shape": "box",
      "width": 4,
      "height": 5,
      "length": 3
    }
  ],
  "required": [
    "shape"
  ],
  "properties": {
    "side": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Cube side.",
      "exclusiveMinimum": 0
    },
    "unit": {
      "enum": [
        "ft",
        "in",
        "yd",
        "m",
        "cm"
      ],
      "type": "string",
      "description": "Common length unit for every entered dimension; default ft."
    },
    "shape": {
      "enum": [
        "cube",
        "box",
        "cylinder",
        "cone",
        "sphere",
        "pyramid"
      ],
      "type": "string",
      "description": "Solid shape; pyramid has a rectangular base."
    },
    "width": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Base width.",
      "exclusiveMinimum": 0
    },
    "height": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Perpendicular height.",
      "exclusiveMinimum": 0
    },
    "length": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Base length.",
      "exclusiveMinimum": 0
    },
    "radius": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Radius, not diameter.",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
volume_calculator output schema
{
  "type": "object",
  "description": "Computed values, units and formula where applicable; rational integers are decimal strings."
}
volume_calculator annotations
{
  "title": "Volume Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
word_count — Word counter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Count words, characters, sentences and paragraphs and estimate reading and speaking times from text.

word_count input schema
{
  "type": "object",
  "examples": [
    {
      "text": "Hello world."
    }
  ],
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "description": ""
    }
  },
  "additionalProperties": false
}
word_count output schema
{
  "type": "object",
  "description": "words, characters, charactersNoSpaces, sentences, paragraphs, readingSeconds, speakingSeconds"
}
word_count annotations
{
  "title": "Word counter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
date_calculator — Date Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Count signed calendar days or weekdays between dates, or add and subtract calendar units with month-end clamping.

date_calculator input schema
{
  "type": "object",
  "oneOf": [
    {
      "required": [
        "start",
        "end"
      ],
      "properties": {
        "mode": {
          "enum": [
            "between"
          ],
          "type": "string",
          "description": ""
        }
      }
    },
    {
      "required": [
        "date",
        "amount",
        "unit"
      ],
      "properties": {
        "mode": {
          "enum": [
            "shift"
          ],
          "type": "string",
          "description": ""
        }
      }
    }
  ],
  "examples": [
    {
      "date": "2024-01-31",
      "mode": "shift",
      "unit": "months",
      "amount": 1
    }
  ],
  "required": [
    "mode"
  ],
  "properties": {
    "end": {
      "type": "string",
      "maxLength": 10,
      "minLength": 5,
      "description": "Gregorian calendar date YYYY-MM-DD, years 0001–9999"
    },
    "date": {
      "type": "string",
      "maxLength": 10,
      "minLength": 5,
      "description": "Gregorian calendar date YYYY-MM-DD, years 0001–9999"
    },
    "mode": {
      "enum": [
        "between",
        "shift"
      ],
      "type": "string",
      "description": "Operation"
    },
    "unit": {
      "enum": [
        "days",
        "weeks",
        "months",
        "years"
      ],
      "type": "string",
      "description": "Calendar unit"
    },
    "start": {
      "type": "string",
      "maxLength": 10,
      "minLength": 5,
      "description": "Gregorian calendar date YYYY-MM-DD, years 0001–9999"
    },
    "amount": {
      "type": "integer",
      "maximum": 3652058,
      "minimum": -3652058,
      "description": "Signed whole calendar units; negative subtracts"
    },
    "inclusive": {
      "type": "boolean",
      "default": false,
      "description": "Count both endpoints; default excludes earlier endpoint and includes later endpoint"
    },
    "weekdaysOnly": {
      "type": "boolean",
      "default": false,
      "description": "Count Monday–Friday only; holidays are included"
    }
  },
  "additionalProperties": false
}
date_calculator output schema
{
  "type": "object",
  "description": "days and unit (between), or date in YYYY-MM-DD (shift)"
}
date_calculator annotations
{
  "title": "Date Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
hours_calculator — Hours Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate worked minutes, decimal hours and H:MM from clock times, an overnight flag and an unpaid break.

hours_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "end": "06:00",
      "start": "22:00",
      "overnight": true,
      "breakMinutes": 30
    }
  ],
  "required": [
    "start",
    "end"
  ],
  "properties": {
    "end": {
      "type": "string",
      "maxLength": 10,
      "minLength": 5,
      "description": "End clock time HH:MM (24-hour)"
    },
    "start": {
      "type": "string",
      "maxLength": 10,
      "minLength": 5,
      "description": "Start clock time HH:MM (24-hour)"
    },
    "overnight": {
      "type": "boolean",
      "default": false,
      "description": "End is on the next day; shift at most 24 hours"
    },
    "breakMinutes": {
      "type": "integer",
      "maximum": 1440,
      "minimum": 0,
      "description": "Unpaid break in whole minutes"
    }
  },
  "additionalProperties": false
}
hours_calculator output schema
{
  "type": "object",
  "description": "minutes, decimalHours and hmm duration"
}
hours_calculator annotations
{
  "title": "Hours Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
time_card_calculator — Time Card Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Sum up to seven clock-time shifts and optionally split the total into regular minutes and minutes past 40 hours.

time_card_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "rows": [
        {
          "end": "18:30",
          "start": "09:00",
          "breakMinutes": 30
        },
        {
          "end": "18:30",
          "start": "09:00",
          "breakMinutes": 30
        },
        {
          "end": "18:30",
          "start": "09:00",
          "breakMinutes": 30
        },
        {
          "end": "18:30",
          "start": "09:00",
          "breakMinutes": 30
        },
        {
          "end": "18:30",
          "start": "09:00",
          "breakMinutes": 30
        }
      ],
      "overtime": true
    }
  ],
  "required": [
    "rows"
  ],
  "properties": {
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "start",
          "end"
        ],
        "properties": {
          "end": {
            "type": "string",
            "maxLength": 10,
            "minLength": 5,
            "description": "End clock time HH:MM (24-hour)"
          },
          "start": {
            "type": "string",
            "maxLength": 10,
            "minLength": 5,
            "description": "Start clock time HH:MM (24-hour)"
          },
          "overnight": {
            "type": "boolean",
            "default": false,
            "description": "End is on the next day; shift at most 24 hours"
          },
          "breakMinutes": {
            "type": "integer",
            "maximum": 1440,
            "minimum": 0,
            "description": "Unpaid break in whole minutes"
          }
        },
        "additionalProperties": false
      },
      "maxItems": 7,
      "minItems": 1,
      "description": "Completed shifts for one workweek; omit blank days"
    },
    "overtime": {
      "type": "boolean",
      "default": false,
      "description": "Split minutes past 40 hours; arithmetic only, without eligibility or pay"
    }
  },
  "additionalProperties": false
}
time_card_calculator output schema
{
  "type": "object",
  "description": "rows with shift durations, minutes, decimalHours, hmm, regularMinutes and overtimeMinutes"
}
time_card_calculator annotations
{
  "title": "Time Card Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
percentage_calculator — Percentage Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate X percent of Y, X as a percentage of Y, or signed percentage change from X to Y.

percentage_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "x": 80,
      "y": 100,
      "mode": "change"
    }
  ],
  "required": [
    "mode",
    "x",
    "y"
  ],
  "properties": {
    "x": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": -1000000000000,
      "description": "Percentage, part, or original value by mode"
    },
    "y": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": -1000000000000,
      "description": "Whole or new value by mode"
    },
    "mode": {
      "enum": [
        "of",
        "is",
        "change"
      ],
      "type": "string",
      "description": "of: X% of Y; is: X is what % of Y; change: from X to Y"
    }
  },
  "additionalProperties": false
}
percentage_calculator output schema
{
  "type": "object",
  "description": "value and unit; zero denominators are rejected"
}
percentage_calculator annotations
{
  "title": "Percentage Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
tip_calculator — Tip Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate a bill tip and equal per-person shares, with cent rounding or optional whole-dollar rounding up.

tip_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "bill": 100,
      "people": 3,
      "roundUp": true,
      "tipPercent": 18
    }
  ],
  "required": [
    "bill",
    "tipPercent"
  ],
  "properties": {
    "bill": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Bill base in USD, at most two decimals"
    },
    "people": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 1,
      "description": "Number of equal shares; default 1"
    },
    "roundUp": {
      "type": "boolean",
      "default": false,
      "description": "Round each share up to a whole dollar; otherwise up to a cent"
    },
    "tipPercent": {
      "type": "number",
      "maximum": 1000,
      "minimum": 0,
      "description": "Entered tip percentage, at most two decimals"
    }
  },
  "additionalProperties": false
}
tip_calculator output schema
{
  "type": "object",
  "description": "tip, total, perPerson, collectedTotal and extra in USD; extra is additional collected from rounding"
}
tip_calculator annotations
{
  "title": "Tip Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
ratio_calculator — Ratio Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Simplify decimal A:B ratios, solve A:B = C:?, or scale the ratio to a target term or total.

ratio_calculator input schema
{
  "type": "object",
  "oneOf": [
    {
      "properties": {
        "mode": {
          "enum": [
            "simplify"
          ],
          "type": "string",
          "description": ""
        }
      }
    },
    {
      "required": [
        "c"
      ],
      "properties": {
        "mode": {
          "enum": [
            "solve"
          ],
          "type": "string",
          "description": ""
        }
      }
    },
    {
      "required": [
        "target"
      ],
      "properties": {
        "mode": {
          "enum": [
            "scale"
          ],
          "type": "string",
          "description": ""
        }
      }
    }
  ],
  "examples": [
    {
      "a": 1.5,
      "b": 2.5,
      "mode": "simplify"
    }
  ],
  "required": [
    "mode",
    "a",
    "b"
  ],
  "properties": {
    "a": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Nonnegative A term"
    },
    "b": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Nonnegative B term"
    },
    "c": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Known C term in C:?"
    },
    "mode": {
      "enum": [
        "simplify",
        "solve",
        "scale"
      ],
      "type": "string",
      "description": "Operation"
    },
    "target": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Target amount in the same units as A and B"
    },
    "targetPart": {
      "enum": [
        "a",
        "b",
        "total"
      ],
      "type": "string",
      "description": "Part assigned the target; default a"
    }
  },
  "additionalProperties": false
}
ratio_calculator output schema
{
  "type": "object",
  "description": "a, b and ratio strings (simplify); value (solve); a and b numbers (scale)"
}
ratio_calculator annotations
{
  "title": "Ratio Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
compound_interest_calculator — Compound Interest Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate compound or simple interest, balance, total contributed, interest earned, modeled APY and yearly balances from principal, nominal rate, term and deposit timing.

compound_interest_calculator input schema
{
  "not": {
    "required": [
      "mode",
      "contribution"
    ],
    "properties": {
      "mode": {
        "enum": [
          "simple"
        ],
        "type": "string",
        "description": ""
      },
      "contribution": {
        "type": "number",
        "exclusiveMinimum": 0
      }
    }
  },
  "type": "object",
  "examples": [
    {
      "years": 2,
      "principal": 1000,
      "annualRate": 10,
      "contribution": 100,
      "compoundingPerYear": 1,
      "contributionTiming": "end",
      "contributionFrequency": "yearly"
    }
  ],
  "required": [
    "principal",
    "annualRate",
    "years"
  ],
  "properties": {
    "mode": {
      "enum": [
        "compound",
        "simple"
      ],
      "type": "string",
      "description": "Interest calculation; default compound"
    },
    "years": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Term in years; a fractional tail earns modeled interest"
    },
    "principal": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Initial principal (USD; at most two decimal places)"
    },
    "annualRate": {
      "type": "number",
      "maximum": 1000,
      "minimum": 0,
      "description": "Nominal annual rate / APR (%)"
    },
    "contribution": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Recurring deposit per complete monthly/yearly period; default 0; simple mode requires 0 (USD; at most two decimal places)"
    },
    "compoundingPerYear": {
      "type": "integer",
      "maximum": 365,
      "minimum": 1,
      "description": "Equal compounding periods per year, default 12"
    },
    "contributionTiming": {
      "enum": [
        "start",
        "end"
      ],
      "type": "string",
      "description": "Deposit at start or end of each complete period; default end"
    },
    "contributionFrequency": {
      "enum": [
        "monthly",
        "yearly"
      ],
      "type": "string",
      "description": "Deposit interval, default monthly; fractional intervals have no deposit"
    }
  },
  "additionalProperties": false
}
compound_interest_calculator output schema
{
  "type": "object",
  "description": "USD balance, totalContributed, interestEarned, apyPercent (null for simple), table of full years and final fractional term; complete-period deposits only"
}
compound_interest_calculator annotations
{
  "title": "Compound Interest Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
margin_calculator — Margin Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate cost, selling price, gross profit, margin percentage and markup percentage from two independent values including cost or price.

margin_calculator input schema
{
  "type": "object",
  "oneOf": [
    {
      "not": {
        "anyOf": [
          {
            "required": [
              "marginPercent"
            ]
          },
          {
            "required": [
              "markupPercent"
            ]
          }
        ]
      },
      "required": [
        "cost",
        "price"
      ]
    },
    {
      "not": {
        "anyOf": [
          {
            "required": [
              "price"
            ]
          },
          {
            "required": [
              "markupPercent"
            ]
          }
        ]
      },
      "required": [
        "cost",
        "marginPercent"
      ]
    },
    {
      "not": {
        "anyOf": [
          {
            "required": [
              "price"
            ]
          },
          {
            "required": [
              "marginPercent"
            ]
          }
        ]
      },
      "required": [
        "cost",
        "markupPercent"
      ]
    },
    {
      "not": {
        "anyOf": [
          {
            "required": [
              "cost"
            ]
          },
          {
            "required": [
              "markupPercent"
            ]
          }
        ]
      },
      "required": [
        "price",
        "marginPercent"
      ]
    },
    {
      "not": {
        "anyOf": [
          {
            "required": [
              "cost"
            ]
          },
          {
            "required": [
              "marginPercent"
            ]
          }
        ]
      },
      "required": [
        "price",
        "markupPercent"
      ]
    }
  ],
  "examples": [
    {
      "cost": 80,
      "price": 100
    }
  ],
  "properties": {
    "cost": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Cost per item (USD; at most two decimal places)"
    },
    "price": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Selling price per item (USD; at most two decimal places)",
      "exclusiveMinimum": 0
    },
    "marginPercent": {
      "type": "number",
      "maximum": 100,
      "minimum": -10000,
      "description": "Gross margin as percent of selling price"
    },
    "markupPercent": {
      "type": "number",
      "maximum": 10000,
      "minimum": -100,
      "description": "Markup as percent of cost",
      "exclusiveMinimum": -100
    }
  },
  "additionalProperties": false
}
margin_calculator output schema
{
  "type": "object",
  "description": "USD cost, price, grossProfit; marginPercent and markupPercent (null at zero cost); money outputs rounded to cents"
}
margin_calculator annotations
{
  "title": "Margin Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
discount_calculator — Discount Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate a discounted price, ordered stacked percentage discounts, savings, effective discount and total with an entered sales tax percentage after discounts.

discount_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "price": 100,
      "discounts": [
        20,
        10
      ],
      "salesTaxPercent": 5
    }
  ],
  "required": [
    "price",
    "discounts"
  ],
  "properties": {
    "price": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Original price (USD; at most two decimal places)"
    },
    "discounts": {
      "type": "array",
      "items": {
        "type": "number",
        "maximum": 100,
        "minimum": 0,
        "description": "Percent off"
      },
      "maxItems": 20,
      "minItems": 1,
      "description": "Percent-off values applied to the remaining price in order; final price rounds to cents"
    },
    "salesTaxPercent": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Entered tax percentage applied after discounts to the cent-rounded price; default 0"
    }
  },
  "additionalProperties": false
}
discount_calculator output schema
{
  "type": "object",
  "description": "USD discountedPrice, amountSaved before tax, salesTax and total; effectiveDiscountPercent and ordered steps; final discounted price rounded before tax"
}
discount_calculator annotations
{
  "title": "Discount Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
gcf_calculator — GCF Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute the greatest common factor of 2–20 integers with exact BigInt arithmetic and complete prime factorizations.

gcf_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "integers": [
        "12",
        "18",
        "24"
      ]
    }
  ],
  "required": [
    "integers"
  ],
  "properties": {
    "integers": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[+-]?(?:[0-9]{1,12}|1000000000000)$",
        "maxLength": 14,
        "minLength": 1,
        "description": "Signed decimal integer from -1000000000000 to 1000000000000 (±10^12), no separators or exponents. Parsed as exact BigInt."
      },
      "maxItems": 20,
      "minItems": 2,
      "description": "2–20 unitless signed decimal integer strings, each at most ±10^12. Each is fully prime-factored."
    }
  },
  "additionalProperties": false
}
gcf_calculator output schema
{
  "type": "object",
  "description": "Exact decimal-string result, prime/exponent factorization of each input, zero/sign notes and formula."
}
gcf_calculator annotations
{
  "title": "GCF Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
lcm_calculator — LCM Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute the least common multiple of 2–20 integers with exact BigInt arithmetic and complete prime factorizations.

lcm_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "integers": [
        "12",
        "18",
        "24"
      ]
    }
  ],
  "required": [
    "integers"
  ],
  "properties": {
    "integers": {
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[+-]?(?:[0-9]{1,12}|1000000000000)$",
        "maxLength": 14,
        "minLength": 1,
        "description": "Signed decimal integer from -1000000000000 to 1000000000000 (±10^12), no separators or exponents. Parsed as exact BigInt."
      },
      "maxItems": 20,
      "minItems": 2,
      "description": "2–20 unitless signed decimal integer strings, each at most ±10^12. Each is fully prime-factored."
    }
  },
  "additionalProperties": false
}
lcm_calculator output schema
{
  "type": "object",
  "description": "Exact decimal-string result, prime/exponent factorization of each input, zero/sign notes and formula."
}
lcm_calculator annotations
{
  "title": "LCM Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
prime_number_checker — Prime Number Checker
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute deterministic primality below 3.3 × 10^24 using the 13 prime Miller–Rabin bases through 41, plus complete factorization through 10^12 or a smallest factor through 10000.

prime_number_checker input schema
{
  "type": "object",
  "examples": [
    {
      "integer": "97"
    }
  ],
  "required": [
    "integer"
  ],
  "properties": {
    "integer": {
      "type": "string",
      "pattern": "^(?:[0-9]{1,24}|[0-2][0-9]{24}|3[0-2][0-9]{23})$",
      "maxLength": 25,
      "minLength": 1,
      "description": "Nonnegative decimal digits, 0 <= n < 3300000000000000000000000 (3.3 × 10^24), at most 25 digits. Full composite factorization through 10^12; otherwise smallest prime factor search through 10000 only."
    }
  },
  "additionalProperties": false
}
prime_number_checker output schema
{
  "type": "object",
  "description": "Primality and classification, exact integer/factor strings, smallestFactor (null if unavailable), factors (null if incomplete), completeness note, witness set and formula."
}
prime_number_checker annotations
{
  "title": "Prime Number Checker",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
slope_calculator — Slope Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute slope, y-intercept, slope-intercept and point-slope equations, distance, midpoint and line inclination from two distinct points, including vertical lines.

slope_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "x1": 0,
      "x2": 1,
      "y1": 1,
      "y2": 2
    }
  ],
  "required": [
    "x1",
    "y1",
    "x2",
    "y2"
  ],
  "properties": {
    "x1": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": -1000000000,
      "description": "x1 coordinate, in the common length unit (±10^9)."
    },
    "x2": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": -1000000000,
      "description": "x2 coordinate, in the common length unit (±10^9)."
    },
    "y1": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": -1000000000,
      "description": "y1 coordinate, in the common length unit (±10^9)."
    },
    "y2": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": -1000000000,
      "description": "y2 coordinate, in the common length unit (±10^9)."
    },
    "unit": {
      "enum": [
        "units",
        "mm",
        "cm",
        "m",
        "in",
        "ft"
      ],
      "type": "string",
      "default": "units",
      "description": "Common length unit for every coordinate or side; area uses its square."
    }
  },
  "additionalProperties": false
}
slope_calculator output schema
{
  "type": "object",
  "description": "Slope and yIntercept (null for vertical lines), equations, distance and midpoint in the supplied unit, inclination in degrees [0,180), and formula."
}
slope_calculator annotations
{
  "title": "Slope Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pythagorean_theorem_calculator — Pythagorean Theorem Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute the third right-triangle side from exactly two measured sides, both acute angles, the right angle and area using the Pythagorean theorem.

pythagorean_theorem_calculator input schema
{
  "type": "object",
  "oneOf": [
    {
      "required": [
        "a",
        "b"
      ]
    },
    {
      "required": [
        "a",
        "hypotenuse"
      ]
    },
    {
      "required": [
        "b",
        "hypotenuse"
      ]
    }
  ],
  "examples": [
    {
      "a": 3,
      "b": 4,
      "unit": "m"
    }
  ],
  "required": [],
  "properties": {
    "a": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 1e-9,
      "description": "Leg a in the common length unit (10^-9 to 10^9)."
    },
    "b": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 1e-9,
      "description": "Leg b in the common length unit (10^-9 to 10^9)."
    },
    "unit": {
      "enum": [
        "units",
        "mm",
        "cm",
        "m",
        "in",
        "ft"
      ],
      "type": "string",
      "default": "units",
      "description": "Common length unit for every coordinate or side; area uses its square."
    },
    "hypotenuse": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 1e-9,
      "description": "Hypotenuse, opposite the right angle in the common length unit (10^-9 to 10^9)."
    }
  },
  "description": "Exactly two measured sides of a right triangle; omit the unknown side. The hypotenuse must exceed the known leg.",
  "additionalProperties": false
}
pythagorean_theorem_calculator output schema
{
  "type": "object",
  "description": "All sides and solvedSide, angles opposite legs a/b in degrees, area in squared length unit, unit and formula."
}
pythagorean_theorem_calculator annotations
{
  "title": "Pythagorean Theorem Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
average_calculator — Average Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute mean, median, modes, range, sum, count, population and sample standard deviation, plus an optional separately weighted average.

average_calculator input schema
{
  "type": "object",
  "examples": [
    {
      "values": [
        2,
        4,
        4,
        6
      ],
      "weights": [
        1,
        1,
        1,
        3
      ]
    }
  ],
  "required": [
    "values"
  ],
  "properties": {
    "values": {
      "type": "array",
      "items": {
        "type": "number",
        "maximum": 1000000000000,
        "minimum": -1000000000000,
        "description": "Measured value in the common data unit, between ±10^12."
      },
      "maxItems": 1000,
      "minItems": 1,
      "description": "1–1000 finite values in a common unit."
    },
    "weights": {
      "type": "array",
      "items": {
        "type": "number",
        "maximum": 1000000000,
        "minimum": 0,
        "description": "Nonnegative relative weight, at most 10^9."
      },
      "maxItems": 1000,
      "minItems": 1,
      "description": "Optional one weight per value; at least one positive weight. Weights affect only weightedAverage."
    }
  },
  "additionalProperties": false
}
average_calculator output schema
{
  "type": "object",
  "description": "Unweighted descriptive statistics, modes array (empty when no repeats), sample SD (null for one value), weightedAverage/weightSum (null without weights), and formula."
}
average_calculator annotations
{
  "title": "Average Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
gravel_calculator — Gravel Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate gravel layer volume and US short tons from rectangle dimensions, circle diameter or total area, depth in inches and editable bulk density.

gravel_calculator input schema
{
  "type": "object",
  "oneOf": [
    {
      "required": [
        "length",
        "width"
      ],
      "properties": {
        "shape": {
          "enum": [
            "rectangle"
          ],
          "type": "string"
        }
      }
    },
    {
      "required": [
        "diameter"
      ],
      "properties": {
        "shape": {
          "enum": [
            "circle"
          ],
          "type": "string"
        }
      }
    },
    {
      "required": [
        "area"
      ],
      "properties": {
        "shape": {
          "enum": [
            "area"
          ],
          "type": "string"
        }
      }
    }
  ],
  "examples": [
    {
      "shape": "rectangle",
      "width": 8,
      "length": 10,
      "depthInches": 3,
      "densityTonsPerCubicYard": 1.4
    }
  ],
  "required": [
    "shape",
    "depthInches"
  ],
  "properties": {
    "area": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Total bed area in square feet or square metres",
      "exclusiveMinimum": 0
    },
    "unit": {
      "enum": [
        "ft",
        "m"
      ],
      "type": "string",
      "description": "Dimension unit; area uses its square; default ft"
    },
    "shape": {
      "enum": [
        "rectangle",
        "circle",
        "area"
      ],
      "type": "string",
      "description": "Bed shape or already measured total area"
    },
    "width": {
      "type": "number",
      "maximum": 1000000,
      "description": "Rectangle width in selected unit",
      "exclusiveMinimum": 0
    },
    "length": {
      "type": "number",
      "maximum": 1000000,
      "description": "Rectangle length in selected unit",
      "exclusiveMinimum": 0
    },
    "diameter": {
      "type": "number",
      "maximum": 1000000,
      "description": "Circle diameter across the bed in selected unit",
      "exclusiveMinimum": 0
    },
    "depthInches": {
      "type": "number",
      "maximum": 1200,
      "description": "Layer depth in inches",
      "exclusiveMinimum": 0
    },
    "densityTonsPerCubicYard": {
      "type": "number",
      "maximum": 10,
      "description": "Bulk density in US short tons (2000 lb) per cubic yard; default 1.4",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
gravel_calculator output schema
{
  "type": "object",
  "description": "squareFeet, squareMetres, depthInches, cubicFeet, cubicYards, cubicMetres, formula and densityTonsPerCubicYard and tons (US short tons)"
}
gravel_calculator annotations
{
  "title": "Gravel Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
mulch_calculator — Mulch Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate mulch layer volume and whole 2 cu ft and 3 cu ft bag counts from rectangle dimensions, circle diameter or total area and depth in inches.

mulch_calculator input schema
{
  "type": "object",
  "oneOf": [
    {
      "required": [
        "length",
        "width"
      ],
      "properties": {
        "shape": {
          "enum": [
            "rectangle"
          ],
          "type": "string"
        }
      }
    },
    {
      "required": [
        "diameter"
      ],
      "properties": {
        "shape": {
          "enum": [
            "circle"
          ],
          "type": "string"
        }
      }
    },
    {
      "required": [
        "area"
      ],
      "properties": {
        "shape": {
          "enum": [
            "area"
          ],
          "type": "string"
        }
      }
    }
  ],
  "examples": [
    {
      "shape": "rectangle",
      "width": 8,
      "length": 10,
      "depthInches": 3
    }
  ],
  "required": [
    "shape",
    "depthInches"
  ],
  "properties": {
    "area": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Total bed area in square feet or square metres",
      "exclusiveMinimum": 0
    },
    "unit": {
      "enum": [
        "ft",
        "m"
      ],
      "type": "string",
      "description": "Dimension unit; area uses its square; default ft"
    },
    "shape": {
      "enum": [
        "rectangle",
        "circle",
        "area"
      ],
      "type": "string",
      "description": "Bed shape or already measured total area"
    },
    "width": {
      "type": "number",
      "maximum": 1000000,
      "description": "Rectangle width in selected unit",
      "exclusiveMinimum": 0
    },
    "length": {
      "type": "number",
      "maximum": 1000000,
      "description": "Rectangle length in selected unit",
      "exclusiveMinimum": 0
    },
    "diameter": {
      "type": "number",
      "maximum": 1000000,
      "description": "Circle diameter across the bed in selected unit",
      "exclusiveMinimum": 0
    },
    "depthInches": {
      "type": "number",
      "maximum": 1200,
      "description": "Layer depth in inches",
      "exclusiveMinimum": 0
    }
  },
  "additionalProperties": false
}
mulch_calculator output schema
{
  "type": "object",
  "description": "squareFeet, squareMetres, depthInches, cubicFeet, cubicYards, cubicMetres, formula and bags (alternative whole 2 and 3 cu ft bag counts)"
}
mulch_calculator annotations
{
  "title": "Mulch Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
inflation_calculator — Inflation Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert US dollars between published BLS CPI-U months or annual averages since 1913. Reports equivalent value, cumulative inflation, average annual rate and yearly table. Omit both months for annual mode; unavailable periods are rejected. Arithmetic on CPI, not financial advice.

inflation_calculator input schema
{
  "type": "object",
  "oneOf": [
    {
      "required": [
        "startMonth",
        "endMonth"
      ]
    },
    {
      "not": {
        "anyOf": [
          {
            "required": [
              "startMonth"
            ]
          },
          {
            "required": [
              "endMonth"
            ]
          }
        ]
      }
    }
  ],
  "examples": [
    {
      "amount": 100,
      "endYear": 2020,
      "endMonth": 1,
      "startYear": 2000,
      "startMonth": 1
    }
  ],
  "required": [
    "amount",
    "startYear",
    "endYear"
  ],
  "properties": {
    "amount": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0
    },
    "endYear": {
      "type": "integer",
      "maximum": 9999,
      "minimum": 1913
    },
    "endMonth": {
      "type": "integer",
      "maximum": 12,
      "minimum": 1
    },
    "startYear": {
      "type": "integer",
      "maximum": 9999,
      "minimum": 1913
    },
    "startMonth": {
      "type": "integer",
      "maximum": 12,
      "minimum": 1
    }
  },
  "additionalProperties": false
}
inflation_calculator output schema
{
  "type": "object",
  "description": "Equivalent USD rounded to cents, CPI values, cumulative and annual percentages, signed years and year-by-year purchasing power. Annual rate is null for the same period."
}
inflation_calculator annotations
{
  "title": "Inflation Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
unit_convert — Unit Converter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert a bounded decimal or fraction quantity between explicit compatible mass, volume, international length, speed or item-count units. Reject incompatible dimensions; no density is inferred.

unit_convert input schema
{
  "type": "object",
  "examples": [
    {
      "to": "us_cup",
      "from": "us_qt",
      "value": "1 1/2"
    }
  ],
  "required": [
    "value",
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "enum": [
        "us_qt",
        "us_gal",
        "us_cup",
        "us_fl_oz",
        "us_tbsp",
        "us_tsp",
        "ml",
        "l",
        "oz_av",
        "lb_av",
        "g",
        "kg",
        "cm",
        "mm",
        "m",
        "in",
        "ft",
        "yd",
        "mi",
        "km",
        "knot",
        "mph",
        "each"
      ],
      "type": "string",
      "description": "Target unit in the same dimension. International length definitions and US liquid measures are explicit."
    },
    "from": {
      "enum": [
        "us_qt",
        "us_gal",
        "us_cup",
        "us_fl_oz",
        "us_tbsp",
        "us_tsp",
        "ml",
        "l",
        "oz_av",
        "lb_av",
        "g",
        "kg",
        "cm",
        "mm",
        "m",
        "in",
        "ft",
        "yd",
        "mi",
        "km",
        "knot",
        "mph",
        "each"
      ],
      "type": "string",
      "description": "Explicit source or target unit. mm is millimeters; oz_av is avoirdupois mass; us_fl_oz is volume. US customary volume measures only."
    },
    "value": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "Nonnegative decimal (up to 24 digits, effective exponent ±24), fraction (1/2) or mixed fraction (1 1/2). Quantity and integer fraction components ≤10^12; denominator >0; proper fractional part for mixed values."
    }
  },
  "additionalProperties": false
}
unit_convert output schema
{
  "type": "object",
  "description": "Parsed value, explicit from/to units and labels, dimension, factor, numeric result and reduced exactResult numerator/denominator strings, formula and NIST source URL. Numeric values approximate exact rationals."
}
unit_convert annotations
{
  "title": "Unit Converter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
scientific_evaluate — Scientific Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Evaluate arithmetic, powers, roots, logs and trigonometric functions with parentheses. Choose degrees or radians and get finite real results.

scientific_evaluate input schema
{
  "type": "object",
  "examples": [
    {
      "angleUnit": "degrees",
      "expression": "2^3 + sqrt(81)"
    }
  ],
  "required": [
    "expression"
  ],
  "properties": {
    "angleUnit": {
      "enum": [
        "degrees",
        "radians"
      ],
      "type": "string",
      "description": "Angle mode for trig and inverse trig; default degrees."
    },
    "expression": {
      "type": "string",
      "maxLength": 512,
      "minLength": 1,
      "description": "Explicit arithmetic expression; 256 tokens, 64 nested operations. No implicit multiplication."
    }
  },
  "additionalProperties": false
}
scientific_evaluate output schema
{
  "type": "object",
  "description": "Finite real value and selected angle unit."
}
scientific_evaluate annotations
{
  "title": "Scientific Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
quadratic_solve — Quadratic Formula Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Solve ax² + bx + c = 0 from entered coefficients. See real or complex roots, the discriminant and linear or constant cases.

quadratic_solve input schema
{
  "type": "object",
  "examples": [
    {
      "a": 1,
      "b": -3,
      "c": 2
    }
  ],
  "required": [
    "a",
    "b",
    "c"
  ],
  "properties": {
    "a": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": -1000000000000,
      "description": "Coefficient; zero or absolute magnitude 10^-12 to 10^12."
    },
    "b": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": -1000000000000,
      "description": "Coefficient; zero or absolute magnitude 10^-12 to 10^12."
    },
    "c": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": -1000000000000,
      "description": "Coefficient; zero or absolute magnitude 10^-12 to 10^12."
    }
  },
  "additionalProperties": false
}
quadratic_solve output schema
{
  "type": "object",
  "description": "Equation case, discriminant and structured real/imaginary roots."
}
quadratic_solve annotations
{
  "title": "Quadratic Formula Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
pay_convert — Pay Rate Converter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert gross annual salary to hourly pay or hourly pay to annual salary using your entered weekly hours and paid weeks. Pure arithmetic.

pay_convert input schema
{
  "type": "object",
  "examples": [
    {
      "amount": 52000,
      "direction": "annual-to-hourly",
      "paidWeeks": 52,
      "hoursPerWeek": 40
    }
  ],
  "required": [
    "amount",
    "hoursPerWeek",
    "paidWeeks"
  ],
  "properties": {
    "amount": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Gross amount in one entered currency."
    },
    "direction": {
      "enum": [
        "annual-to-hourly",
        "hourly-to-annual"
      ],
      "type": "string",
      "description": "Conversion direction; default annual-to-hourly."
    },
    "paidWeeks": {
      "type": "number",
      "maximum": 53,
      "minimum": 0.01,
      "description": "Paid weeks per year."
    },
    "hoursPerWeek": {
      "type": "number",
      "maximum": 168,
      "minimum": 0.01,
      "description": "Paid hours per week."
    }
  },
  "additionalProperties": false
}
pay_convert output schema
{
  "type": "object",
  "description": "Gross annual and hourly pay plus annual paid hours."
}
pay_convert annotations
{
  "title": "Pay Rate Converter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
long_divide — Long Division Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Divide decimal strings exactly with long division steps, an integer quotient and remainder. See terminating, repeating or truncated decimals.

long_divide input schema
{
  "type": "object",
  "examples": [
    {
      "digits": 20,
      "divisor": "2",
      "dividend": "7"
    }
  ],
  "required": [
    "dividend",
    "divisor"
  ],
  "properties": {
    "digits": {
      "type": "integer",
      "maximum": 100,
      "minimum": 0,
      "description": "Maximum fractional digits before truncation; default 20."
    },
    "divisor": {
      "type": "string",
      "maxLength": 60,
      "minLength": 1,
      "description": "Nonzero signed plain decimal, no exponent; maximum 60 characters."
    },
    "dividend": {
      "type": "string",
      "maxLength": 60,
      "minLength": 1,
      "description": "Signed plain decimal, no exponent; maximum 60 characters."
    }
  },
  "additionalProperties": false
}
long_divide output schema
{
  "type": "object",
  "description": "Exact quotient, signed integer remainder, repeat/truncation status and working steps."
}
long_divide annotations
{
  "title": "Long Division Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
scientific_notation — Scientific Notation Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Normalize decimal strings to scientific notation or expand exponent notation exactly. Keep all entered numerical digits without binary float conversion.

scientific_notation input schema
{
  "type": "object",
  "examples": [
    {
      "mode": "normalize",
      "text": "0.00012"
    }
  ],
  "required": [
    "text"
  ],
  "properties": {
    "mode": {
      "enum": [
        "normalize",
        "expand"
      ],
      "type": "string",
      "description": "Output focus; default normalize."
    },
    "text": {
      "type": "string",
      "maxLength": 220,
      "minLength": 1,
      "description": "Up to 200 decimal digits, exponent -200 through 200."
    }
  },
  "additionalProperties": false
}
scientific_notation output schema
{
  "type": "object",
  "description": "Exact coefficient, exponent, scientific string and expanded decimal."
}
scientific_notation annotations
{
  "title": "Scientific Notation Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
round_decimal — Rounding Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Round decimal strings exactly to decimal places, tens, hundreds or other powers of ten. Choose half away from zero or half even, including negative ties.

round_decimal input schema
{
  "type": "object",
  "examples": [
    {
      "text": "-2.5",
      "places": 0,
      "tieMode": "half-even"
    }
  ],
  "required": [
    "text"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 220,
      "minLength": 1,
      "description": "Up to 200 decimal digits with optional exponent -200 through 200."
    },
    "places": {
      "type": "integer",
      "maximum": 200,
      "minimum": -200,
      "description": "Decimal places; negative values round to tens, hundreds etc.; default 0."
    },
    "tieMode": {
      "enum": [
        "half-away",
        "half-even"
      ],
      "type": "string",
      "description": "Exact halfway rule; default half-away."
    }
  },
  "additionalProperties": false
}
round_decimal output schema
{
  "type": "object",
  "description": "Exact rounded decimal, decimal places and tie mode."
}
round_decimal annotations
{
  "title": "Rounding Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
calendar_age_difference — Age Difference Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate years, months, days and total days between two birth dates. Use explicit Gregorian dates and a stated month-end convention.

calendar_age_difference input schema
{
  "type": "object",
  "examples": [
    {
      "date1": "2023-01-31",
      "date2": "2023-02-28"
    }
  ],
  "required": [
    "date1",
    "date2"
  ],
  "properties": {
    "date1": {
      "type": "string",
      "maxLength": 10,
      "minLength": 1,
      "description": "Gregorian date YYYY-MM-DD, years 0001 through 9999."
    },
    "date2": {
      "type": "string",
      "maxLength": 10,
      "minLength": 1,
      "description": "Gregorian date YYYY-MM-DD, years 0001 through 9999."
    }
  },
  "additionalProperties": false
}
calendar_age_difference output schema
{
  "type": "object",
  "description": "Ordered dates, clamped calendar years/months/days and total days."
}
calendar_age_difference annotations
{
  "title": "Age Difference Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
julian_day_convert — Julian Date Converter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert explicit UTC civil timestamps to Julian day and back using the proleptic Gregorian calendar. See the noon epoch, time-scale convention and ordinal day.

julian_day_convert input schema
{
  "type": "object",
  "anyOf": [
    {
      "properties": {
        "value": {
          "type": "string",
          "maxLength": 24,
          "minLength": 1,
          "description": "Explicit UTC civil timestamp."
        },
        "direction": {
          "enum": [
            "to-julian"
          ],
          "type": "string",
          "description": "Timestamp to JD"
        }
      }
    },
    {
      "required": [
        "direction"
      ],
      "properties": {
        "value": {
          "type": "number",
          "maximum": 5373484.5,
          "minimum": 1721425.5,
          "description": "Julian day within years 0001–9999; upper boundary rejected by engine."
        },
        "direction": {
          "enum": [
            "from-julian"
          ],
          "type": "string",
          "description": "JD to timestamp"
        }
      }
    }
  ],
  "examples": [
    {
      "value": "1970-01-01T00:00:00Z",
      "direction": "to-julian",
      "convention": "proleptic-gregorian-utc"
    }
  ],
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": [
        "string",
        "number"
      ],
      "description": "UTC timestamp string, or a numeric JD for reverse conversion."
    },
    "direction": {
      "enum": [
        "to-julian",
        "from-julian"
      ],
      "type": "string",
      "description": "Conversion direction; default to-julian."
    },
    "convention": {
      "enum": [
        "proleptic-gregorian-utc"
      ],
      "type": "string",
      "description": "UTC civil approximation to UT1; no leap seconds."
    }
  },
  "additionalProperties": false
}
julian_day_convert output schema
{
  "type": "object",
  "description": "Julian day, UTC civil timestamp, ordinal day and explicit convention."
}
julian_day_convert annotations
{
  "title": "Julian Date Converter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
mass_volume_convert — Ingredient Grams and Cups Converter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert mass to volume or reverse with named units and either a USDA FoodData Central ingredient cup-weight preset or an entered positive density in g/mL.

mass_volume_convert input schema
{
  "type": "object",
  "oneOf": [
    {
      "not": {
        "required": [
          "ingredient"
        ]
      },
      "required": [
        "density"
      ]
    },
    {
      "not": {
        "required": [
          "density"
        ]
      },
      "required": [
        "ingredient"
      ]
    }
  ],
  "examples": [
    {
      "to": "us_cup",
      "from": "g",
      "value": "118.29411825",
      "density": 0.5
    },
    {
      "to": "g",
      "from": "us_cup",
      "value": "1",
      "ingredient": "granulated_sugar"
    }
  ],
  "required": [
    "value",
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "enum": [
        "g",
        "kg",
        "oz_av",
        "lb_av",
        "ml",
        "l",
        "us_cup",
        "us_fl_oz",
        "us_gal",
        "us_qt",
        "us_tbsp",
        "us_tsp"
      ],
      "type": "string",
      "description": "Opposite dimension from source."
    },
    "from": {
      "enum": [
        "g",
        "kg",
        "oz_av",
        "lb_av",
        "ml",
        "l",
        "us_cup",
        "us_fl_oz",
        "us_gal",
        "us_qt",
        "us_tbsp",
        "us_tsp"
      ],
      "type": "string",
      "description": "Explicit mass or volume source."
    },
    "value": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "Nonnegative decimal (up to 24 digits, effective exponent ±24), fraction (1/2) or mixed fraction (1 1/2). Quantity and integer fraction components ≤10^12; denominator >0; proper fractional part for mixed values."
    },
    "density": {
      "type": "number",
      "maximum": 1000000,
      "description": "Custom density in grams per milliliter; exactly one of density or ingredient is required.",
      "exclusiveMinimum": 0
    },
    "ingredient": {
      "enum": [
        "all_purpose_flour",
        "bread_flour",
        "whole_wheat_flour",
        "granulated_sugar",
        "packed_brown_sugar",
        "powdered_sugar",
        "butter",
        "water",
        "whole_milk",
        "honey",
        "vegetable_oil",
        "uncooked_white_rice",
        "rolled_oats",
        "unsweetened_cocoa_powder",
        "table_salt"
      ],
      "type": "string",
      "description": "USDA FDC ingredient cup-weight preset, interpreted using a 236.5882365 mL US customary cup. Exactly one of ingredient or density is required."
    }
  },
  "additionalProperties": false
}
mass_volume_convert output schema
{
  "type": "object",
  "description": "Entered quantity, unit labels, computed density and result, formula; ingredient presets also include the ingredient key, grams per US customary cup, FDC ID and source URL."
}
mass_volume_convert annotations
{
  "title": "Ingredient Grams and Cups Converter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
board_feet — Board Foot Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Sum board-foot lumber volumes from entered dimensions and whole piece counts, with per-row optional prices and a priced subtotal.

board_feet input schema
{
  "type": "object",
  "examples": [
    {
      "rows": [
        {
          "width": 6,
          "length": 8,
          "quantity": 3,
          "thickness": 1,
          "pricePerBoardFoot": 4
        }
      ]
    }
  ],
  "required": [
    "rows"
  ],
  "properties": {
    "rows": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "thickness",
          "width",
          "length"
        ],
        "properties": {
          "width": {
            "type": "number",
            "maximum": 1000000,
            "description": "Entered nominal or measured width.",
            "exclusiveMinimum": 0
          },
          "length": {
            "type": "number",
            "maximum": 1000000,
            "description": "Entered length.",
            "exclusiveMinimum": 0
          },
          "quantity": {
            "type": "integer",
            "maximum": 1000000,
            "description": "Whole piece count; default 1.",
            "exclusiveMinimum": 0
          },
          "thickness": {
            "type": "number",
            "maximum": 1000000,
            "description": "Entered nominal or measured thickness.",
            "exclusiveMinimum": 0
          },
          "lengthUnit": {
            "enum": [
              "ft",
              "m"
            ],
            "type": "string",
            "description": "Length unit; default ft."
          },
          "dimensionUnit": {
            "enum": [
              "in",
              "cm"
            ],
            "type": "string",
            "description": "Thickness/width unit; default in."
          },
          "pricePerBoardFoot": {
            "type": "number",
            "maximum": 1000000000000,
            "minimum": 0,
            "description": "Optional price per board foot in one common entered currency."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100,
      "minItems": 1
    }
  },
  "additionalProperties": false
}
board_feet output schema
{
  "type": "object",
  "description": "Structured entered quantities, explicit unit labels, calculated results and formula; per-row and total board feet, costs; totalCost null when any row is unpriced."
}
board_feet annotations
{
  "title": "Board Foot Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
paint_quantity — Paint Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate paint volume and whole containers from entered area or supported surface geometry, openings, whole coats and user-supplied per-coat coverage.

paint_quantity input schema
{
  "type": "object",
  "oneOf": [
    {
      "not": {
        "required": [
          "surfaces"
        ]
      },
      "required": [
        "area"
      ]
    },
    {
      "not": {
        "required": [
          "area"
        ]
      },
      "required": [
        "surfaces"
      ]
    }
  ],
  "examples": [
    {
      "area": "800",
      "coats": 2,
      "coverage": "350",
      "openings": "100",
      "containerVolume": "1"
    }
  ],
  "required": [
    "coats",
    "coverage",
    "containerVolume"
  ],
  "properties": {
    "area": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "Total gross surface area in selected squared units. Enter a bounded decimal or fraction string; positive except openings/price."
    },
    "coats": {
      "type": "integer",
      "maximum": 100,
      "description": "Whole coat count.",
      "exclusiveMinimum": 0
    },
    "areaUnit": {
      "enum": [
        "ft",
        "m"
      ],
      "type": "string",
      "description": "Dimensions unit; areas and coverage use its square. Default ft."
    },
    "coverage": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "Entered per-coat coverage in selected square area units per selected volume unit. Enter a bounded decimal or fraction string; positive except openings/price."
    },
    "openings": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "Unpainted opening area in the selected squared unit, no greater than gross area. Default 0. Enter a bounded decimal or fraction string; positive except openings/price."
    },
    "surfaces": {
      "type": "array",
      "items": {
        "type": "object",
        "oneOf": [
          {
            "required": [
              "length",
              "width"
            ],
            "properties": {
              "shape": {
                "enum": [
                  "rectangle"
                ],
                "type": "string",
                "description": "Shape."
              }
            }
          },
          {
            "required": [
              "radius"
            ],
            "properties": {
              "shape": {
                "enum": [
                  "circle"
                ],
                "type": "string",
                "description": "Shape."
              }
            }
          },
          {
            "required": [
              "base",
              "height"
            ],
            "properties": {
              "shape": {
                "enum": [
                  "triangle"
                ],
                "type": "string",
                "description": "Shape."
              }
            }
          },
          {
            "required": [
              "length",
              "width",
              "cutoutLength",
              "cutoutWidth"
            ],
            "properties": {
              "shape": {
                "enum": [
                  "l-shape"
                ],
                "type": "string",
                "description": "Shape."
              }
            }
          }
        ],
        "required": [
          "shape"
        ],
        "properties": {
          "base": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Triangle base.",
            "exclusiveMinimum": 0
          },
          "shape": {
            "enum": [
              "rectangle",
              "circle",
              "triangle",
              "l-shape"
            ],
            "type": "string",
            "description": "Room shape."
          },
          "width": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Outer width.",
            "exclusiveMinimum": 0
          },
          "height": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Triangle perpendicular height.",
            "exclusiveMinimum": 0
          },
          "length": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Outer length.",
            "exclusiveMinimum": 0
          },
          "radius": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Circle radius.",
            "exclusiveMinimum": 0
          },
          "cutoutWidth": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Missing corner width.",
            "exclusiveMinimum": 0
          },
          "cutoutLength": {
            "type": "number",
            "maximum": 1000000000000,
            "description": "Missing corner length.",
            "exclusiveMinimum": 0
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100,
      "minItems": 1
    },
    "volumeUnit": {
      "enum": [
        "us_gal",
        "l"
      ],
      "type": "string",
      "description": "Volume unit for paint, coverage denominator and container. Default us_gal."
    },
    "containerVolume": {
      "type": "string",
      "maxLength": 64,
      "minLength": 1,
      "description": "Entered volume of one container in selected volume units. Enter a bounded decimal or fraction string; positive except openings/price."
    }
  },
  "additionalProperties": false
}
paint_quantity output schema
{
  "type": "object",
  "description": "Structured entered quantities, explicit unit labels, calculated results and formula; gross/net area, required volume, whole containers and purchase volume."
}
paint_quantity annotations
{
  "title": "Paint Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
fuel_cost — Fuel Cost Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Calculate trip fuel quantity and cost from entered distance, fuel economy, fuel price and currency; supports US mpg, L/100 km and km/L.

fuel_cost input schema
{
  "type": "object",
  "examples": [
    {
      "price": 4,
      "units": "us_mpg",
      "economy": 30,
      "currency": "USD",
      "distance": 300
    }
  ],
  "required": [
    "distance",
    "economy",
    "price",
    "units",
    "currency"
  ],
  "properties": {
    "price": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Entered price per US liquid gallon for us_mpg, per liter otherwise."
    },
    "units": {
      "enum": [
        "us_mpg",
        "l_per_100km",
        "km_per_l"
      ],
      "type": "string",
      "description": "Unit system; Imperial mpg not accepted."
    },
    "economy": {
      "type": "number",
      "maximum": 1000000000000,
      "description": "Positive US mpg, L/100 km or km/L as selected.",
      "exclusiveMinimum": 0
    },
    "currency": {
      "type": "string",
      "maxLength": 3,
      "minLength": 3,
      "description": "Entered three-letter currency label (letters only), shared by all prices; no exchange rates."
    },
    "distance": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Nonnegative miles for us_mpg; kilometers otherwise."
    }
  },
  "additionalProperties": false
}
fuel_cost output schema
{
  "type": "object",
  "description": "Structured entered quantities, explicit unit labels, calculated results and formula; numeric arithmetic from entered values, with no inferred density, coverage or prices."
}
fuel_cost annotations
{
  "title": "Fuel Cost Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
unit_price — Unit Price Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compare package prices per equal mass, volume or whole item count in one entered currency, with exact tie detection and compatible units only.

unit_price input schema
{
  "type": "object",
  "examples": [
    {
      "currency": "USD",
      "packages": [
        {
          "unit": "g",
          "price": "3",
          "quantity": "500"
        },
        {
          "unit": "kg",
          "price": "5",
          "quantity": "1"
        }
      ],
      "targetUnit": "g"
    }
  ],
  "required": [
    "packages",
    "targetUnit",
    "currency"
  ],
  "properties": {
    "currency": {
      "type": "string",
      "maxLength": 3,
      "minLength": 3,
      "description": "Entered three-letter currency label (letters only), shared by all prices; no exchange rates."
    },
    "packages": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "price",
          "quantity",
          "unit"
        ],
        "properties": {
          "unit": {
            "enum": [
              "g",
              "kg",
              "oz_av",
              "lb_av",
              "ml",
              "l",
              "us_cup",
              "us_fl_oz",
              "us_gal",
              "us_qt",
              "us_tbsp",
              "us_tsp",
              "each"
            ],
            "type": "string",
            "description": "Explicit package unit; all packages must match target dimension."
          },
          "price": {
            "type": "string",
            "maxLength": 64,
            "minLength": 1,
            "description": "Nonnegative price in the one entered currency. Enter a bounded decimal or fraction string; positive except openings/price."
          },
          "quantity": {
            "type": "string",
            "maxLength": 64,
            "minLength": 1,
            "description": "Positive net package quantity; whole numbers for item count. Enter a bounded decimal or fraction string; positive except openings/price."
          }
        },
        "additionalProperties": false
      },
      "maxItems": 100,
      "minItems": 2
    },
    "targetUnit": {
      "enum": [
        "g",
        "kg",
        "oz_av",
        "lb_av",
        "ml",
        "l",
        "us_cup",
        "us_fl_oz",
        "us_gal",
        "us_qt",
        "us_tbsp",
        "us_tsp",
        "each"
      ],
      "type": "string",
      "description": "One common mass, volume or count unit for comparison."
    }
  },
  "additionalProperties": false
}
unit_price output schema
{
  "type": "object",
  "description": "Structured entered quantities, explicit unit labels, calculated results and formula; per-package price per target unit and zero-based indexes of every exact minimum."
}
unit_price annotations
{
  "title": "Unit Price Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
loan_schedule — Loan Payment Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Computes fixed-rate monthly principal and interest payments, total interest, payoff month and a complete amortization table of at most 360 rows from entered amounts and a nominal annual rate. Optional down payment reduces principal; extra monthly principal payments shorten the modeled term. Uses exact rational arithmetic and nearest-cent half-up rounding. Taxes, insurance, PMI and fees are excluded.

loan_schedule input schema
{
  "type": "object",
  "examples": [
    {
      "principal": 100,
      "termMonths": 2,
      "annualRatePercent": 12
    },
    {
      "principal": 1300,
      "termMonths": 12,
      "downPayment": 100,
      "extraMonthly": 75,
      "annualRatePercent": 0
    }
  ],
  "required": [
    "principal",
    "annualRatePercent",
    "termMonths"
  ],
  "properties": {
    "principal": {
      "type": "number",
      "maximum": 100000000,
      "minimum": 0.01,
      "description": "Starting amount in USD before the optional down payment; at most two decimal places."
    },
    "termMonths": {
      "type": "integer",
      "maximum": 360,
      "minimum": 1,
      "description": "Original or remaining whole-month term. Every period is returned, at most 360 rows."
    },
    "downPayment": {
      "type": "number",
      "maximum": 100000000,
      "minimum": 0,
      "description": "USD amount subtracted from principal; must be less than principal; at most two decimal places; defaults to zero."
    },
    "extraMonthly": {
      "type": "number",
      "maximum": 100000000,
      "minimum": 0,
      "description": "Extra principal paid each month in USD; at most two decimal places; defaults to zero."
    },
    "annualRatePercent": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Fixed nominal annual interest rate in percent, excluding fees; at most six decimal places."
    }
  },
  "additionalProperties": false
}
loan_schedule output schema
{
  "type": "object",
  "description": "USD financedPrincipal, regular payment, extraMonthly, totalInterest, totalPaid, payoffMonth, finalPayment, and complete table of month/payment/principal/interest/balance. Monthly interest and regular payment round half up to cents; final payment clears the balance; table sums reconcile exactly in cents."
}
loan_schedule annotations
{
  "title": "Loan Payment Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
power — Exponent Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute a real number raised to an entered exponent with bounded inputs and explicit domain errors.

power input schema
{
  "type": "object",
  "examples": [
    {
      "base": 2,
      "exponent": 10
    }
  ],
  "required": [
    "base",
    "exponent"
  ],
  "properties": {
    "base": {
      "type": "number",
      "maximum": 1000000,
      "minimum": -1000000,
      "description": "Base."
    },
    "exponent": {
      "type": "number",
      "maximum": 1000,
      "minimum": -1000,
      "description": "Exponent."
    }
  },
  "additionalProperties": false
}
power output schema
{
  "type": "object",
  "description": "Computed mathematical result and formula metadata."
}
power annotations
{
  "title": "Exponent Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
logarithm — Logarithm Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute a logarithm for a positive value and any positive base other than 1.

logarithm input schema
{
  "type": "object",
  "examples": [
    {
      "base": 10,
      "value": 100
    }
  ],
  "required": [
    "value",
    "base"
  ],
  "properties": {
    "base": {
      "type": "number",
      "maximum": 1e+100,
      "minimum": 1e-308,
      "description": "Positive logarithm base other than 1."
    },
    "value": {
      "type": "number",
      "maximum": 1e+100,
      "minimum": 1e-308,
      "description": "Value."
    }
  },
  "additionalProperties": false
}
logarithm output schema
{
  "type": "object",
  "description": "Computed mathematical result and formula metadata."
}
logarithm annotations
{
  "title": "Logarithm Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
simplify_sqrt — Square Root Simplifier
Advertised by the server during the last successful anonymous check.
Advertised read-only

Rewrite the square root of an integer from 0 to 10^12 as a√b using exact integer factors.

simplify_sqrt input schema
{
  "type": "object",
  "examples": [
    {
      "value": 72
    }
  ],
  "required": [
    "value"
  ],
  "properties": {
    "value": {
      "type": "integer",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Nonnegative integer."
    }
  },
  "additionalProperties": false
}
simplify_sqrt output schema
{
  "type": "object",
  "description": "Computed mathematical result and formula metadata."
}
simplify_sqrt annotations
{
  "title": "Square Root Simplifier",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
z_score — Z Score Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute the standardized z score from an entered value, mean and positive standard deviation.

z_score input schema
{
  "type": "object",
  "examples": [
    {
      "mean": 70,
      "value": 85,
      "standardDeviation": 10
    }
  ],
  "required": [
    "value",
    "mean",
    "standardDeviation"
  ],
  "properties": {
    "mean": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": -1000000000000,
      "description": "Mean."
    },
    "value": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": -1000000000000,
      "description": "Value."
    },
    "standardDeviation": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 1e-12,
      "description": "Standard deviation."
    }
  },
  "additionalProperties": false
}
z_score output schema
{
  "type": "object",
  "description": "Computed mathematical result and formula metadata."
}
z_score annotations
{
  "title": "Z Score Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
combinations — Combination Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute exact combinations nCr or permutations nPr for bounded integer inputs.

combinations input schema
{
  "type": "object",
  "examples": [
    {
      "n": 5,
      "r": 2,
      "mode": "combinations"
    }
  ],
  "required": [
    "n",
    "r",
    "mode"
  ],
  "properties": {
    "n": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Total items n."
    },
    "r": {
      "type": "integer",
      "maximum": 10000,
      "minimum": 0,
      "description": "Selected items r."
    },
    "mode": {
      "enum": [
        "combinations",
        "permutations"
      ],
      "type": "string",
      "description": "Counting operation."
    }
  },
  "additionalProperties": false
}
combinations output schema
{
  "type": "object",
  "description": "Computed mathematical result and formula metadata."
}
combinations annotations
{
  "title": "Combination Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
roi — ROI Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute net gain and return on investment percentage from entered cost and final value, with optional annualization.

roi input schema
{
  "type": "object",
  "examples": [
    {
      "cost": 100,
      "finalValue": 125
    }
  ],
  "required": [
    "cost",
    "finalValue"
  ],
  "properties": {
    "cost": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 1e-12,
      "description": "Cost (must be positive)."
    },
    "years": {
      "type": "number",
      "maximum": 1000,
      "minimum": 1e-12,
      "description": "Optional positive duration in years for annualized ROI."
    },
    "finalValue": {
      "type": "number",
      "maximum": 1000000000000,
      "minimum": 0,
      "description": "Final value."
    }
  },
  "additionalProperties": false
}
roi output schema
{
  "type": "object",
  "description": "Computed mathematical result and formula metadata."
}
roi annotations
{
  "title": "ROI Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
retirement_drawdown — Retirement Income Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Arithmetic on entered numbers only: level end-of-period withdrawal, total withdrawn and complete period table from a balance, fixed entered nominal annual return and term. Monthly, quarterly or annual periods; nearest-cent half-up rounding; final withdrawal clears residue. Rates are entered, never fetched.

retirement_drawdown input schema
{
  "type": "object",
  "examples": [
    {
      "years": 2,
      "balance": 100,
      "frequency": "annually",
      "annualReturnPercent": 10
    },
    {
      "years": 1,
      "balance": 1200,
      "frequency": "quarterly",
      "annualReturnPercent": 0
    }
  ],
  "required": [
    "balance",
    "annualReturnPercent",
    "years",
    "frequency"
  ],
  "properties": {
    "years": {
      "type": "integer",
      "maximum": 30,
      "minimum": 1,
      "description": "Whole years; at most 360 monthly, 120 quarterly or 30 annual rows."
    },
    "balance": {
      "type": "number",
      "maximum": 100000000,
      "minimum": 0.01,
      "description": "Starting balance in USD, at most two decimal places."
    },
    "frequency": {
      "enum": [
        "monthly",
        "quarterly",
        "annually"
      ],
      "type": "string",
      "maxLength": 9,
      "description": "Withdrawal timing: 12 monthly, 4 quarterly or 1 annual end-of-period withdrawal per year."
    },
    "annualReturnPercent": {
      "type": "number",
      "maximum": 100,
      "minimum": 0,
      "description": "Entered fixed nominal annual return percentage; at most six decimal places, divided by periods per year."
    }
  },
  "additionalProperties": false
}
retirement_drawdown output schema
{
  "type": "object",
  "description": "USD startingBalance, withdrawal per period, totalWithdrawn, totalReturn, finalWithdrawal; frequency, periodsPerYear, periods; complete table of period/interest/withdrawal/balance. Exact cents at zero return; all money rounds half up to cents and totals reconcile."
}
retirement_drawdown annotations
{
  "title": "Retirement Income Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
debt_to_income — Debt-to-Income Ratio Calculator
Advertised by the server during the last successful anonymous check.
Advertised read-only

Arithmetic on entered numbers only: sum up to 100 entered monthly debt payments and divide by positive gross monthly income. Shows the sum and ratio percentage, rounded half up to two decimal places, with no comparison bands or classification.

debt_to_income input schema
{
  "type": "object",
  "examples": [
    {
      "monthlyDebts": [
        1000,
        250,
        150
      ],
      "grossMonthlyIncome": 5000
    },
    {
      "monthlyDebts": [
        0.01
      ],
      "grossMonthlyIncome": 8
    }
  ],
  "required": [
    "monthlyDebts",
    "grossMonthlyIncome"
  ],
  "properties": {
    "monthlyDebts": {
      "type": "array",
      "items": {
        "type": "number",
        "maximum": 100000000,
        "minimum": 0,
        "description": "Monthly payment in USD, at most two decimal places."
      },
      "maxItems": 100,
      "minItems": 0,
      "description": "Entered monthly payments, not debt balances. Empty array means zero payments. The sum must be at most USD 100000000."
    },
    "grossMonthlyIncome": {
      "type": "number",
      "maximum": 100000000,
      "minimum": 0.01,
      "description": "Gross monthly income before deductions in USD, at most two decimal places."
    }
  },
  "additionalProperties": false
}
debt_to_income output schema
{
  "type": "object",
  "description": "monthlyDebts array, debtCount, totalMonthlyDebts and grossMonthlyIncome in USD. ratioPercent is an exact two-decimal percentage string, preserving large ratios across MCP float rounding. Formula: sum of monthly debt payments / gross monthly income * 100."
}
debt_to_income annotations
{
  "title": "Debt-to-Income Ratio Calculator",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
base_convert — Decimal to Hex Converter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Converts a bounded integer string between bases 2 through 36 using exact BigInt arithmetic. Inputs contain 1–4096 digits and must be valid in the source base. Optional bitWidth (1–4096) validates a bit pattern; signed=true requires a width and reads the source value as two’s complement. Unsigned is the default.

base_convert input schema
{
  "type": "object",
  "examples": [
    {
      "value": "255",
      "toBase": 16,
      "fromBase": 10
    },
    {
      "value": "FF",
      "signed": true,
      "toBase": 10,
      "bitWidth": 8,
      "fromBase": 16
    }
  ],
  "required": [
    "value",
    "fromBase",
    "toBase"
  ],
  "properties": {
    "value": {
      "type": "string",
      "maxLength": 4096,
      "minLength": 1,
      "description": "Digits 0–9/A–Z without prefix, sign or separators; valid in fromBase."
    },
    "signed": {
      "type": "boolean",
      "description": "Defaults to false. When true, interpret the fitting source bit pattern as two’s complement."
    },
    "toBase": {
      "type": "integer",
      "maximum": 36,
      "minimum": 2
    },
    "bitWidth": {
      "type": "integer",
      "maximum": 4096,
      "minimum": 1,
      "description": "Optional bit width; required when signed is true."
    },
    "fromBase": {
      "type": "integer",
      "maximum": 36,
      "minimum": 2
    }
  },
  "additionalProperties": false
}
base_convert output schema
{
  "type": "object",
  "description": "Original normalized input, source and target bases, converted digits, exact decimal value and unsigned source value as decimal strings, plus width and signed-mode metadata."
}
base_convert annotations
{
  "title": "Decimal to Hex Converter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
roman_numeral — Roman Numeral Converter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert whole numbers from 1 to 3999 to canonical Roman numerals, or convert canonical Roman numerals to numbers.

roman_numeral input schema
{
  "type": "object",
  "examples": [
    {
      "value": "1994",
      "direction": "to_roman"
    }
  ],
  "required": [
    "value",
    "direction"
  ],
  "properties": {
    "value": {
      "type": "string",
      "maxLength": 15,
      "minLength": 1,
      "description": "Decimal whole-number text from 1–3999 for to_roman, or Roman numeral text in either case for from_roman."
    },
    "direction": {
      "enum": [
        "to_roman",
        "from_roman"
      ],
      "type": "string",
      "description": "Conversion direction."
    }
  },
  "additionalProperties": false
}
roman_numeral output schema
{
  "type": "object",
  "description": "The converted Roman numeral or integer, direction and formula."
}
roman_numeral annotations
{
  "title": "Roman Numeral Converter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
round_sig_figs — Significant Figures Converter
Advertised by the server during the last successful anonymous check.
Advertised read-only

Round a decimal string to a chosen number of significant figures using exact decimal half-up rounding; return plain and scientific notation.

round_sig_figs input schema
{
  "type": "object",
  "examples": [
    {
      "value": "0.004560",
      "significantFigures": 2
    }
  ],
  "required": [
    "value",
    "significantFigures"
  ],
  "properties": {
    "value": {
      "type": "string",
      "maxLength": 200,
      "minLength": 1,
      "description": "Signed decimal string, optionally with exponent notation; no commas."
    },
    "significantFigures": {
      "type": "integer",
      "maximum": 200,
      "minimum": 1,
      "description": "Number of significant figures to keep."
    }
  },
  "additionalProperties": false
}
round_sig_figs output schema
{
  "type": "object",
  "description": "Original input, rounded decimal string, scientific notation, requested and input significant-figure counts, ambiguity flag when applicable, and formula."
}
round_sig_figs annotations
{
  "title": "Significant Figures Converter",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
967 ms
95th percentile latency
967 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 967 ms · metadata changed · 94 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http api-tool-calls-mcp https://apitoolcalls.com/mcp?tools=all

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add api-tool-calls-mcp --url https://apitoolcalls.com/mcp?tools=all

Cursor

Merge this server into .cursor/mcp.json in your project, then enable api-tool-calls-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "api-tool-calls-mcp": {
      "url": "https://apitoolcalls.com/mcp?tools=all"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "api-tool-calls-mcp": {
      "type": "streamableHttp",
      "url": "https://apitoolcalls.com/mcp?tools=all",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start api-tool-calls-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "api-tool-calls-mcp": {
      "type": "http",
      "url": "https://apitoolcalls.com/mcp?tools=all"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http api-tool-calls-mcp https://apitoolcalls.com/mcp?tools=all

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://apitoolcalls.com/mcp?tools=all

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "api-tool-calls-mcp": {
      "serverUrl": "https://apitoolcalls.com/mcp?tools=all"
    }
  }
}

Let your agent find its tools

Find servers like API Tool Calls MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.