Free AI agent tools API
API Tool Calls: connect once to one small MCP door at https://apitoolcalls.com/mcp. Its 3 meta tools find, describe and call any of our 94 tools, with under 1k tokens of definitions at connection time however many tools ship. Directory scanners and clients that need the full tool listing can read https://apitoolcalls.com/mcp?tools=all.
search_tools(query="qr code")
get_tool_schema(name="make_qr")
call_tool(name="make_qr", arguments={"text":"https://example.com"})
Connect through MCP
Use the endpoint https://apitoolcalls.com/mcp in a client that supports remote MCP over Streamable HTTP:
{
"mcpServers": {
"apitoolcalls": {
"url": "https://apitoolcalls.com/mcp"
}
}
}
Command line
apitc, by API Tool Calls (Cowerx), searches and calls tools from a shell through the same MCP endpoint. It needs Python 3.8 or later and no dependencies.
curl -fsSL https://apitoolcalls.com/apitc -o ~/.local/bin/apitc && chmod +x ~/.local/bin/apitc
apitc search "qr code" apitc call make_qr --arg text=https://example.com -o qr.json
The install command assumes ~/.local/bin exists and is on your PATH. Set APITC_KEY or pass --key for an existing key; omit it for the free allowance. APITC_URL sets another base URL.
list, search and schema print short lines, or JSON with --format json. Calls print structured JSON when available, otherwise text; -o writes the result and prints its path. QR results contain SVG text. Use --json (or --json - for stdin) for argument objects, --arg k=v for JSON values or plain strings, and --fields a,b to select structured result fields. --arg overrides matching keys in --json.
list uses the complete catalog bundled at download time; download the script again to refresh it. search, schema and call query the server set by APITC_URL.
Exit codes: 0 success, 1 server or network error, 2 usage error, 3 browser tool (prints its page URL), 4 free allowance reached or key refused. Errors go to stderr.
Plain /mcp lists search_tools, get_tool_schema and call_tool. search_tools also finds browser-only tools with their page links. For the full callable list, send tools/list to /mcp?tools=all. The examples below are direct JSON-RPC tool calls sent by POST to the MCP endpoint; existing tool names remain callable.
Agent tools are free: 20 calls a day per IP, no key needed.
Free calls also share a global cap of 2000 calls a day across all users. Per-tool caps across all users: get_transcript: 500 calls a day; page_to_markdown: 1000 calls a day. Resets at midnight UTC.
Read the plain-text agent catalog (llms.txt), the machine-readable catalog (tools.json), or the OpenAPI 3.1 description (openapi.json).
HTTP GET routes accept query parameters; POST routes accept a JSON body. For GET /api/data-finder, use q for the use_case argument. Other argument names match the tables below.
apa_citation_generator
Format an APA reference and in-text citations from entered source metadata.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| authors | array | No | — | — |
| bookTitle | string | No | — | |
| changing | boolean | No | — | Default: false |
| date | string | No | — | |
| doi | string | No | — | |
| edition | string | No | — | |
| editors | array | No | — | — |
| issue | string | No | — | |
| journal | string | No | — | |
| pages | string | No | — | |
| platform | string | No | — | |
| publisher | string | No | — | |
| reportNumber | string | No | — | |
| retrieved | string | No | — | |
| sentenceCase | boolean | No | — | Default: true |
| siteName | string | No | — | |
| title | string | Yes | — | |
| type | string | Yes | — | Enum: ["journal","book","chapter","webpage","report","video"] |
| url | string | No | — | |
| volume | string | No | — |
Use apa_citation_generator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"authors":[{"family":"Smith","given":"Jane"}],"date":"2020","publisher":"Example Press","title":"The Example Book","type":"book"},"name":"apa_citation_generator"}}
average_calculator
Compute mean, median, modes, range, sum, count, population and sample standard deviation, plus an optional separately weighted average.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| values | array | Yes | 1–1000 finite values in a common unit. | — |
| weights | array | No | Optional one weight per value; at least one positive weight. Weights affect only weightedAverage. | — |
Use average_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"values":[2,4,4,6],"weights":[1,1,1,3]},"name":"average_calculator"}}
base_convert
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| bitWidth | integer | No | Optional bit width; required when signed is true. | — |
| fromBase | integer | Yes | — | — |
| signed | boolean | No | Defaults to false. When true, interpret the fitting source bit pattern as two’s complement. | — |
| toBase | integer | Yes | — | — |
| value | string | Yes | Digits 0–9/A–Z without prefix, sign or separators; valid in fromBase. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"fromBase":10,"toBase":16,"value":"255"},"name":"base_convert"}}
basement_water_cause
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| grading | any | No | Select observed codes, [] for none observed, or 'unknown'. slopes_toward: Ground slopes toward the house; puddles: Puddles beside the foundation | Default: "unknown" |
| gutters | any | No | Select observed codes, [] for none observed, or 'unknown'. overflowing: Gutters overflowing; missing: Gutters missing; downspout_near: Downspout discharges near the foundation | Default: "unknown" |
| hazard | any | No | 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 | Default: "unknown" |
| moisture | any | No | 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 | Default: "unknown" |
| sump | any | No | 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 | Default: "unknown" |
| timing | any | No | 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 | Default: "unknown" |
| where | any | No | 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 | Default: "unknown" |
| window_well | any | No | 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 | Default: "unknown" |
Use basement_water_cause on the web
HTTP: GET /api/basement-water.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"gutters":["downspout_near"],"timing":["rain"],"where":["wall_floor_joint"]},"name":"basement_water_cause"}}
bmi_calculator
Calculate adult BMI and its band from weight, height and units.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| height | number | Yes | Metres (metric) or total inches (imperial) | — |
| units | string | No | — | Enum: ["metric","imperial"]; Default: "metric" |
| weight | number | Yes | Kilograms (metric) or pounds (imperial) | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"height":1.75,"weight":70},"name":"bmi_calculator"}}
board_feet
Sum board-foot lumber volumes from entered dimensions and whole piece counts, with per-row optional prices and a priced subtotal.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| rows | array | Yes | — | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"rows":[{"length":8,"pricePerBoardFoot":4,"quantity":3,"thickness":1,"width":6}]},"name":"board_feet"}}
body_fat_calculator
Calculate Navy body fat percentage from sex and tape measurements.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| abdomen | number | One of: abdomen, hip, waist | Male abdomen circumference | — |
| height | number | Yes | Height | — |
| hip | number | One of: abdomen, hip, waist | Female hip circumference | — |
| neck | number | Yes | Neck circumference | — |
| sex | string | Yes | — | Enum: ["male","female"] |
| units | string | No | — | Enum: ["metric","imperial"]; Default: "imperial" |
| waist | number | One of: abdomen, hip, waist | Female waist circumference | — |
Use body_fat_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"abdomen":34,"height":70,"neck":15,"sex":"male"},"name":"body_fat_calculator"}}
calendar_age_difference
Calculate years, months, days and total days between two birth dates. Use explicit Gregorian dates and a stated month-end convention.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| date1 | string | Yes | Gregorian date YYYY-MM-DD, years 0001 through 9999. | — |
| date2 | string | Yes | Gregorian date YYYY-MM-DD, years 0001 through 9999. | — |
Use calendar_age_difference on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"date1":"2023-01-31","date2":"2023-02-28"},"name":"calendar_age_difference"}}
calorie_calculator
Calculate resting energy and daily calories from adult measurements, formula and activity level.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| activity | number | No | — | Enum: [1.2,1.375,1.55,1.725,1.9]; Default: 1.2 |
| age | number | Yes | Adult age in years | — |
| bodyFat | number | One of: bodyFat | Body fat percentage | — |
| feet | integer | No | Imperial height in whole feet | — |
| height | number | No | Metric height in centimetres | — |
| inches | number | No | Imperial additional inches | — |
| method | string | No | — | Enum: ["mifflin","harris","katch"]; Default: "mifflin" |
| sex | string | Yes | — | Enum: ["male","female"] |
| units | string | No | — | Enum: ["metric","imperial"]; Default: "metric" |
| weight | number | Yes | kg or lb by units | — |
Use calorie_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"age":30,"height":180,"sex":"male","weight":80},"name":"calorie_calculator"}}
character_count
Count Unicode characters, words, lines and UTF-8 bytes from text.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| text | string | Yes | — |
Use character_count on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"text":"Hello world.\nHi!"},"name":"character_count"}}
combinations
Compute exact combinations nCr or permutations nPr for bounded integer inputs.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| mode | string | Yes | Counting operation. | Enum: ["combinations","permutations"] |
| n | integer | Yes | Total items n. | — |
| r | integer | Yes | Selected items r. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"mode":"combinations","n":5,"r":2},"name":"combinations"}}
company_facts
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| url | string | Yes | The business's public http or https homepage URL. | — |
HTTP: POST /api/company-facts.
Needs the caller's OpenRouter key in the X-OpenRouter-Key header.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"url":"https://example.com/"},"name":"company_facts"}}
compound_interest_calculator
Calculate compound or simple interest, balance, total contributed, interest earned, modeled APY and yearly balances from principal, nominal rate, term and deposit timing.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| annualRate | number | Yes | Nominal annual rate / APR (%) | — |
| compoundingPerYear | integer | No | Equal compounding periods per year, default 12 | — |
| contribution | number | No | Recurring deposit per complete monthly/yearly period; default 0; simple mode requires 0 (USD; at most two decimal places) | — |
| contributionFrequency | string | No | Deposit interval, default monthly; fractional intervals have no deposit | Enum: ["monthly","yearly"] |
| contributionTiming | string | No | Deposit at start or end of each complete period; default end | Enum: ["start","end"] |
| mode | string | No | Interest calculation; default compound | Enum: ["compound","simple"] |
| principal | number | Yes | Initial principal (USD; at most two decimal places) | — |
| years | number | Yes | Term in years; a fractional tail earns modeled interest | — |
Use compound_interest_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"annualRate":10,"compoundingPerYear":1,"contribution":100,"contributionFrequency":"yearly","contributionTiming":"end","principal":1000,"years":2},"name":"compound_interest_calculator"}}
concrete_calculator
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| count | integer | No | Identical project count; default 1. | — |
| diameter | number | One of: diameter, height, length, rise, run, steps, width | Column diameter in the common length unit. | — |
| height | number | One of: diameter, height, length, rise, run, steps, width | Perpendicular height. | — |
| length | number | One of: diameter, height, length, rise, run, steps, width | Base length. | — |
| rise | number | One of: diameter, height, length, rise, run, steps, width | Rise per step. | — |
| run | number | One of: diameter, height, length, rise, run, steps, width | Run per step. | — |
| shape | string | Yes | Rectangular slab or footing, cylindrical column, or solid equal-rise/run steps. | Enum: ["slab","footing","column","steps"] |
| steps | integer | One of: diameter, height, length, rise, run, steps, width | Step count. | — |
| unit | string | No | Common length unit for every entered dimension; default ft. | Enum: ["ft","in","yd","m","cm"] |
| waste | number | No | Waste percentage; default 10. | — |
| width | number | One of: diameter, height, length, rise, run, steps, width | Base width. | — |
Use concrete_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"diameter":12,"height":48,"shape":"column","unit":"in","waste":10},"name":"concrete_calculator"}}
date_calculator
Count signed calendar days or weekdays between dates, or add and subtract calendar units with month-end clamping.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| amount | integer | One of: amount, date, end, start, unit | Signed whole calendar units; negative subtracts | — |
| date | string | One of: amount, date, end, start, unit | Gregorian calendar date YYYY-MM-DD, years 0001–9999 | — |
| end | string | One of: amount, date, end, start, unit | Gregorian calendar date YYYY-MM-DD, years 0001–9999 | — |
| inclusive | boolean | No | Count both endpoints; default excludes earlier endpoint and includes later endpoint | Default: false |
| mode | string | Yes | Operation | Enum: ["between","shift"] |
| start | string | One of: amount, date, end, start, unit | Gregorian calendar date YYYY-MM-DD, years 0001–9999 | — |
| unit | string | One of: amount, date, end, start, unit | Calendar unit | Enum: ["days","weeks","months","years"] |
| weekdaysOnly | boolean | No | Count Monday–Friday only; holidays are included | Default: false |
Use date_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"amount":1,"date":"2024-01-31","mode":"shift","unit":"months"},"name":"date_calculator"}}
debt_to_income
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| grossMonthlyIncome | number | Yes | Gross monthly income before deductions in USD, at most two decimal places. | — |
| monthlyDebts | array | Yes | Entered monthly payments, not debt balances. Empty array means zero payments. The sum must be at most USD 100000000. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"grossMonthlyIncome":5000,"monthlyDebts":[1000,250,150]},"name":"debt_to_income"}}
decimal_to_fraction
Converts a terminating or explicitly repeating decimal to an exact simplified fraction, mixed number and decimal display.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| decimal | string | Yes | Decimal: 0.125, 0.(3), 0.1(6), or combining bars on repeating digits. With ... every entered fractional digit repeats. | — |
Use decimal_to_fraction on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"decimal":"0.1(6)"},"name":"decimal_to_fraction"}}
discount_calculator
Calculate a discounted price, ordered stacked percentage discounts, savings, effective discount and total with an entered sales tax percentage after discounts.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| discounts | array | Yes | Percent-off values applied to the remaining price in order; final price rounds to cents | — |
| price | number | Yes | Original price (USD; at most two decimal places) | — |
| salesTaxPercent | number | No | Entered tax percentage applied after discounts to the cent-rounded price; default 0 | — |
Use discount_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"discounts":[20,10],"price":100,"salesTaxPercent":5},"name":"discount_calculator"}}
driveway_cost
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| existing | string | No | Existing driveway surface. Removal is priced only for existing concrete. | Enum: ["none","concrete","other"]; Default: "none" |
| sections | array | Yes | 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. | — |
| surface | string | Yes | Chosen installed surface; one call compares all ten surfaces. | Enum: ["concrete_standard","concrete_decorative","concrete_stamped","concrete_custom","asphalt_standard","asphalt_recycled","asphalt_porous","pavers_standard","pavers_brick","pavers_cobblestone"] |
HTTP: GET /api/driveway-cost.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"sections":[{"length_ft":12,"width_ft":24}],"surface":"concrete_standard"},"name":"driveway_cost"}}
epoch_convert
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| tz | string | No | 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 | string | No | Optional. Force a numeric value to be read as seconds (s) or milliseconds (ms) instead of auto-detecting. | Enum: ["s","ms"] |
| value | any | Yes | 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. | — |
HTTP: GET /api/epoch-convert.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"tz":"America/New_York","value":1710000000},"name":"epoch_convert"}}
ev_charger_install_cost
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| capacity_check | string | No | Electrician load calculation result; not_done means not assessed. | Enum: ["enough","not_enough","not_done"] |
| charger_amps | number | No | Rated or installer-set maximum charging current in amps. | — |
| existing_circuit | string | No | Suitable dedicated circuit already at the parking spot. | Enum: ["yes","no"] |
| extras | array | No | — | — |
| installed_on | string | No | Placed-in-service date YYYY-MM-DD; omitted follows the after-2026-06-30 rule. | — |
| level | string | No | Charging level; omit when unknown. | Enum: ["level1","level2"] |
| panel_amps | integer | No | Panel/service rating, echoed only; a panel label alone cannot decide an upgrade or price the job. | — |
| run_feet | number | No | Estimated routed panel-to-charger length, not straight-line distance. | — |
| spare_space | string | No | Compatible breaker space for a new circuit. | Enum: ["yes","no"] |
Use ev_charger_install_cost on the web
HTTP: GET /api/ev-charger-installation-cost.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"charger_amps":48,"level":"level2"},"name":"ev_charger_install_cost"}}
extract_strings
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| contains | string | No | Only list strings containing this text (any case). | — |
| encodings | array | No | 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. | Default: ["ascii","utf-16le"] |
| file | string | Yes | Required. Any file, as base64 or a base64 data URL; at most 2,000,000 bytes once decoded. | — |
| filename | string | No | Optional file name, used only in the result text. | — |
| kinds | array | No | Only list strings of these kinds (url, email, ip, path, key, other). Counts always cover all. | — |
| limit | integer | No | Most strings to list, in file order. Default and maximum 2,000. | Default: 2000 |
| min_length | integer | No | Shortest run of characters to keep, 3 to 32. Default 4. | Default: 4 |
Use extract_strings on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"file":"AAFIZWxsbyBodHRwczovL2V4YW1wbGUuY29tL2RvY3MAAm9wc0BleGFtcGxlLm9yZwA="},"name":"extract_strings"}}
fence_cost
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| fence_type | string | Yes | Exact documented material and height row; no interpolation. | Enum: ["chain_link_4","chain_link_6","wood_6","pvc_4","pvc_6","aluminum_4"] |
| gate_type | string | No | Exact documented gate material and height for all entered widths; local_quote for unsupported gates. | Enum: ["chain_link_6","wood_6","pvc_6","aluminum_4","local_quote"] |
| gate_widths_ft | array | No | Each gate width in feet, not a gate count. GET: comma-separated widths; omitted means no gates. | — |
| net_length_ft | number | Yes | Net non-gate fence length in feet. Gate openings already excluded; do not subtract them again. | — |
HTTP: GET /api/fence-cost.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"fence_type":"wood_6","gate_type":"wood_6","gate_widths_ft":[4],"net_length_ft":100},"name":"fence_cost"}}
find_data
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| geo | string | No | — | — |
| resell | string | No | — | Enum: ["yes","no"] |
| use_case | string | Yes | Describe the data you need and what you want to build. | — |
| volume | integer | No | — | — |
HTTP: GET /api/data-finder.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"use_case":"Example use case"},"name":"find_data"}}
flooring_cost
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| layout | string | No | Only changes the hardwood order amount: standard 5%, diagonal 10%. Installed estimate always uses net area. | Enum: ["standard","diagonal"]; Default: "standard" |
| material | string | Yes | Chosen installed material; one call also compares all eight materials. | Enum: ["carpet","laminate","vinyl_sheet","vinyl_plank","hardwood_solid","hardwood_engineered","tile_ceramic","tile_porcelain"] |
| rooms | array | Yes | 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. | — |
HTTP: GET /api/flooring-cost.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"material":"carpet","rooms":[{"length_ft":12,"width_ft":15}]},"name":"flooring_cost"}}
font_generator
Convert text to a selected Unicode letter style.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| style | string | Yes | — | Enum: ["bold","italic","bold-italic","script","bold-script","fraktur","double-struck","monospace","sans-bold","circled","negative-circled","squared","small-caps","upside-down","strikethrough","underline"] |
| text | string | Yes | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"style":"bold","text":"Hello 123!"},"name":"font_generator"}}
fraction_calculator
Computes exact addition, subtraction, multiplication or division of fractions and mixed numbers, with simplified, mixed and decimal forms.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| a | string | Yes | First integer, fraction, decimal or signed mixed number. | — |
| b | string | Yes | Second integer, fraction, decimal or signed mixed number. | — |
| operation | string | No | Arithmetic operation; default +. | Enum: ["+","-","*","/"] |
Use fraction_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"a":"1 1/2","b":"2/3","operation":"+"},"name":"fraction_calculator"}}
fuel_cost
Calculate trip fuel quantity and cost from entered distance, fuel economy, fuel price and currency; supports US mpg, L/100 km and km/L.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| currency | string | Yes | Entered three-letter currency label (letters only), shared by all prices; no exchange rates. | — |
| distance | number | Yes | Nonnegative miles for us_mpg; kilometers otherwise. | — |
| economy | number | Yes | Positive US mpg, L/100 km or km/L as selected. | — |
| price | number | Yes | Entered price per US liquid gallon for us_mpg, per liter otherwise. | — |
| units | string | Yes | Unit system; Imperial mpg not accepted. | Enum: ["us_mpg","l_per_100km","km_per_l"] |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"currency":"USD","distance":300,"economy":30,"price":4,"units":"us_mpg"},"name":"fuel_cost"}}
funeral_cost
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| disposition | string | Yes | — | Enum: ["burial","cremation"] |
| prices | object | No | Your own itemized prices in dollars. Omit an unknown price; 0 means not buying or included elsewhere. | — |
| prices.alternative_container | number | No | Alternative container; requires cremation. | — |
| prices.basic_services | number | No | Funeral director and staff basic services; always applies. | — |
| prices.cash_advances | number | No | Cash advances (death certificates, obituary notices, flowers, clergy, and similar); always applies. | — |
| prices.casket | number | No | Casket (bought here or elsewhere); requires burial or cremation with service viewing_ceremony (purchase or rental). | — |
| prices.ceremony_facilities | number | No | Facilities and staff for the ceremony; requires service viewing_ceremony. | — |
| prices.crematory_fee | number | No | Crematory fee; requires cremation. | — |
| prices.embalming_preparation | number | No | Embalming or other preparation; requires service viewing_ceremony. | — |
| prices.marker | number | No | Marker or monument; always applies. | — |
| prices.opening_closing | number | No | Opening and closing the grave or niche; always applies. | — |
| prices.plot | number | No | Cemetery plot or interment space; always applies. | — |
| prices.taxes | number | No | Taxes; always applies. | — |
| prices.transfer | number | No | Transfer of remains to the funeral home; always applies. | — |
| prices.urn | number | No | Urn; requires cremation. | — |
| prices.vault | number | No | Outer burial container (vault or liner); requires burial with vault yes or unknown. | — |
| prices.vehicles | number | No | Hearse and other vehicles; requires burial or service viewing_ceremony. | — |
| prices.viewing_facilities | number | No | Facilities and staff for viewing; requires service viewing_ceremony. | — |
| service | string | Yes | Direct means immediate burial or direct cremation, without viewing. | Enum: ["viewing_ceremony","direct"] |
| vault | string | No | Burial only; omit when unknown. | Enum: ["yes","no"] |
HTTP: GET /api/funeral-cost.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"disposition":"cremation","prices":{"basic_services":1200,"crematory_fee":350},"service":"direct"},"name":"funeral_cost"}}
furnace_age
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| as_of | string | Yes | Required real YYYY-MM-DD date for the age calculation. | — |
| brand | string | No | Lennox, Rheem or Nordyne; other brands require maker/dealer confirmation. | — |
| century | integer | No | Maker/dealer-confirmed century; never inferred from age. | Enum: [1900,2000] |
| format_confirmed | boolean | No | True only after confirming this model/era uses the documented serial format. | — |
| manufacture_date | string | No | Optional maker-confirmed YYYY-MM-DD manufacture date; overrides serial decoding, not installation date. | — |
| model | string | No | Model from the rating plate; retained for identification. | — |
| repair_quote | number | No | Your own comparable repair quote in dollars; pair with replacement_quote. | — |
| replacement_quote | number | No | Your own comparable replacement quote in dollars; pair with repair_quote. | — |
| serial | string | No | Rating-plate serial, supported nomenclature only. | — |
HTTP: GET /api/furnace_age.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"as_of":"2026-10-04","brand":"Lennox","century":1900,"format_confirmed":true,"serial":"5178M 99989"},"name":"furnace_age"}}
gcf_calculator
Compute the greatest common factor of 2–20 integers with exact BigInt arithmetic and complete prime factorizations.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| integers | array | Yes | 2–20 unitless signed decimal integer strings, each at most ±10^12. Each is fully prime-factored. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"integers":["12","18","24"]},"name":"gcf_calculator"}}
get_transcript
Read public YouTube captions as timestamped plain text. Captions only, no video or audio.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| lang | string | No | Preferred caption language; falls back to English, then any available track. | Default: "en" |
| url | string | Yes | YouTube video URL or an 11-character video id. | — |
HTTP: GET /api/transcript.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"url":"https://www.youtube.com/watch?v=jNQXAC9IVRw"},"name":"get_transcript"}}
gpa_calculator
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| courses | array | Yes | — | — |
| weighted | boolean | No | Apply the stated weighting convention; default false. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"courses":[{"credits":3,"grade":"A","level":"ap"},{"credits":4,"grade":"B"}],"weighted":true},"name":"gpa_calculator"}}
grade_calculator
Computes a weighted category average and optionally the final-exam percentage needed to reach a target course grade.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| categories | array | Yes | — | — |
| finalWeight | number | One of: finalWeight, target | Final exam percentage of the full course. | — |
| target | number | One of: finalWeight, target | Target course percentage. | — |
Use grade_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"categories":[{"score":80,"weight":40},{"score":90,"weight":60}],"finalWeight":20,"target":90},"name":"grade_calculator"}}
gravel_calculator
Calculate gravel layer volume and US short tons from rectangle dimensions, circle diameter or total area, depth in inches and editable bulk density.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| area | number | One of: area, diameter, length, width | Total bed area in square feet or square metres | — |
| densityTonsPerCubicYard | number | No | Bulk density in US short tons (2000 lb) per cubic yard; default 1.4 | — |
| depthInches | number | Yes | Layer depth in inches | — |
| diameter | number | One of: area, diameter, length, width | Circle diameter across the bed in selected unit | — |
| length | number | One of: area, diameter, length, width | Rectangle length in selected unit | — |
| shape | string | Yes | Bed shape or already measured total area | Enum: ["rectangle","circle","area"] |
| unit | string | No | Dimension unit; area uses its square; default ft | Enum: ["ft","m"] |
| width | number | One of: area, diameter, length, width | Rectangle width in selected unit | — |
Use gravel_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"densityTonsPerCubicYard":1.4,"depthInches":3,"length":10,"shape":"rectangle","width":8},"name":"gravel_calculator"}}
har_to_openapi
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| examples | boolean | No | Add example values from the cleaned file to parameters and bodies. Default false. | Default: false |
| har | string | Yes | Required. The HAR file's JSON text (a browser network export), at most 2,000,000 characters. | — |
| host | string | No | Only describe calls to this host, such as api.example.com. | — |
| include_static | boolean | No | Also describe page loads, images, scripts, styles, fonts, media and CORS preflights. Default false. | Default: false |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"har":"{\"log\":{\"entries\":[{\"request\":{\"method\":\"GET\",\"url\":\"https://api.example.com/v1/items/42\"},\"response\":{\"status\":200}}]}}"},"name":"har_to_openapi"}}
heart_rate_zones
Calculate adult maximum heart rate and moderate and vigorous target zones from age and optional measured rates.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| age | number | Yes | Adult age in years | — |
| measuredMax | number | No | Measured maximum bpm | — |
| method | string | No | — | Enum: ["220","tanaka"]; Default: "220" |
| resting | number | No | Resting bpm; must be below maximum | — |
Use heart_rate_zones on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"age":30,"resting":60},"name":"heart_rate_zones"}}
hours_calculator
Calculate worked minutes, decimal hours and H:MM from clock times, an overnight flag and an unpaid break.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| breakMinutes | integer | No | Unpaid break in whole minutes | — |
| end | string | Yes | End clock time HH:MM (24-hour) | — |
| overnight | boolean | No | End is on the next day; shift at most 24 hours | Default: false |
| start | string | Yes | Start clock time HH:MM (24-hour) | — |
Use hours_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"breakMinutes":30,"end":"06:00","overnight":true,"start":"22:00"},"name":"hours_calculator"}}
inflation_calculator
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| amount | number | Yes | — | — |
| endMonth | integer | One of: endMonth, startMonth | — | — |
| endYear | integer | Yes | — | — |
| startMonth | integer | One of: endMonth, startMonth | — | — |
| startYear | integer | Yes | — | — |
Use inflation_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"amount":100,"endMonth":1,"endYear":2020,"startMonth":1,"startYear":2000},"name":"inflation_calculator"}}
inspect_apk
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| file | string | Yes | Required. The Android app file (.apk), as base64 or a base64 data URL; at most 2,000,000 bytes once decoded. | — |
| filename | string | No | Optional file name, used only in the result text. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"file":"UEsDBBQAAAAIAAAAIVzqCJ9EVwEAAAwDAAATAAAAQW5kcm9pZE1hbmlmZXN0LnhtbG2STU4CQRCFXzPADD9GFixM5AQmzujOuJaFCWGhxj3RUQkKE0Dj0hN5AheexbV3wK+bHsCB7rzp6ldVr6q7J1CkZiAZdfRlpKbWo7dhW/4IXIBb8Am+wQ/4tQHktkEflDXWQC9KofdYh+yvda8RmammmsFM4KSG3v4x/VVeiDUmZwo/ZLXVnzRnZjpXwpzpDiYlfoAdF+JjvBN8CXxG5QRPSlyypRviHxA94vvoau/73Jjdu+so0zN27LQyIgKdsjvBilz9MVoPTn/uuFcsuzsG9tzS4VZ/mTu5vZ3Z6vyxLrmDG3V1xdrFst2s1XblSB8mUtt1ZUyzZEwHyLR0AFcCCwZPzLuwh++52CVvR4TdZpb8W1uuwlp1Z1FQzXPdbS250GudeV+uVfNaxmuVl7+GfJ2W7SnwvVUKebledYNv7NCzo+77qG/ohYW8nI8KZzWerxXu5g9QSwECFAAUAAAACAAAACFc6gifRFcBAAAMAwAAEwAAAAAAAAAAAAAAAAAAAAAAQW5kcm9pZE1hbmlmZXN0LnhtbFBLBQYAAAAAAQABAEEAAACIAQAAAAA="},"name":"inspect_apk"}}
inspect_binary
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| arch | string | No | For a Mac universal binary: the architecture to describe, such as ARM64 or x86-64. Default: the first one. | — |
| file | string | Yes | 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 | string | No | Optional file name, used only in the result text. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"file":"f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAOAAAAEAAAAAAAA=="},"name":"inspect_binary"}}
json_formatter
Format, minify or validate JSON text while preserving number tokens.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| action | string | No | — | Enum: ["format","minify","validate"]; Default: "format" |
| indent | string | No | — | Enum: ["2","4","tab"]; Default: "2" |
| sort | boolean | No | — | Default: false |
| text | string | Yes | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"sort":true,"text":"{\"b\":2,\"a\":1}"},"name":"json_formatter"}}
julian_day_convert
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| convention | string | No | UTC civil approximation to UT1; no leap seconds. | Enum: ["proleptic-gregorian-utc"] |
| direction | string | One of: direction | Conversion direction; default to-julian. | Enum: ["to-julian","from-julian"] |
| value | ['string', 'number'] | Yes | UTC timestamp string, or a numeric JD for reverse conversion. | — |
Use julian_day_convert on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"convention":"proleptic-gregorian-utc","direction":"to-julian","value":"1970-01-01T00:00:00Z"},"name":"julian_day_convert"}}
kitchen_remodel_cost
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| area_sqft | number | No | Kitchen floor area in square feet, 20–1,000. Use area OR length and width. | — |
| length_ft | number | No | Kitchen length in feet; requires width_ft instead of area_sqft. Product must be 20–1,000 sq ft. | — |
| scope | string | Yes | 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. | Enum: ["partial","full","layout_change"] |
| width_ft | number | No | Kitchen width in feet; requires length_ft instead of area_sqft. Product must be 20–1,000 sq ft. | — |
Use kitchen_remodel_cost on the web
HTTP: GET /api/kitchen-remodel-cost.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"area_sqft":150,"scope":"full"},"name":"kitchen_remodel_cost"}}
lcm_calculator
Compute the least common multiple of 2–20 integers with exact BigInt arithmetic and complete prime factorizations.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| integers | array | Yes | 2–20 unitless signed decimal integer strings, each at most ±10^12. Each is fully prime-factored. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"integers":["12","18","24"]},"name":"lcm_calculator"}}
loan_schedule
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| annualRatePercent | number | Yes | Fixed nominal annual interest rate in percent, excluding fees; at most six decimal places. | — |
| downPayment | number | No | USD amount subtracted from principal; must be less than principal; at most two decimal places; defaults to zero. | — |
| extraMonthly | number | No | Extra principal paid each month in USD; at most two decimal places; defaults to zero. | — |
| principal | number | Yes | Starting amount in USD before the optional down payment; at most two decimal places. | — |
| termMonths | integer | Yes | Original or remaining whole-month term. Every period is returned, at most 360 rows. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"annualRatePercent":12,"principal":100,"termMonths":2},"name":"loan_schedule"}}
logarithm
Compute a logarithm for a positive value and any positive base other than 1.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| base | number | Yes | Positive logarithm base other than 1. | — |
| value | number | Yes | Value. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"base":10,"value":100},"name":"logarithm"}}
long_divide
Divide decimal strings exactly with long division steps, an integer quotient and remainder. See terminating, repeating or truncated decimals.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| digits | integer | No | Maximum fractional digits before truncation; default 20. | — |
| dividend | string | Yes | Signed plain decimal, no exponent; maximum 60 characters. | — |
| divisor | string | Yes | Nonzero signed plain decimal, no exponent; maximum 60 characters. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"digits":20,"dividend":"7","divisor":"2"},"name":"long_divide"}}
make_barcode
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| format | string | No | — | Enum: ["code128","ean13","ean8","upca","upce","code39","itf","gs1-128","datamatrix"]; Default: "code128" |
| text | string | Yes | Text to encode; at most 1024 UTF-8 bytes. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"text":"Example text"},"name":"make_barcode"}}
make_qr
Make an SVG QR code for text, a URL, or Wi-Fi network details.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| format | string | No | — | Enum: ["svg"]; Default: "svg" |
| text | string | One of: text, wifi | Text or URL to encode. Required unless wifi is provided. | — |
| wifi | object | One of: text, wifi | Wi-Fi details; takes precedence over text when present. | — |
| wifi.password | string | No | — | — |
| wifi.security | string | Yes, when wifi is supplied | — | Enum: ["WPA","WEP","nopass"] |
| wifi.ssid | string | Yes, when wifi is supplied | — | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"text":"Example text"},"name":"make_qr"}}
make_run_loop
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| avoid_crime | boolean | No | 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. | Default: false |
| count | integer | No | — | Default: 3 |
| direction | string | No | — | Enum: ["any","n","e","s","w"]; Default: "any" |
| distance_km | number | Yes | — | — |
| prefer | array | No | — | Default: [] |
| start | any | Yes | — | — |
| stops | array | No | — | — |
| via | any | No | — | — |
HTTP: POST /api/run-loop.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"distance_km":1,"start":"Example start"},"name":"make_run_loop"}}
margin_calculator
Calculate cost, selling price, gross profit, margin percentage and markup percentage from two independent values including cost or price.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| cost | number | One of: cost, marginPercent, markupPercent, price | Cost per item (USD; at most two decimal places) | — |
| marginPercent | number | One of: cost, marginPercent, markupPercent, price | Gross margin as percent of selling price | — |
| markupPercent | number | One of: cost, marginPercent, markupPercent, price | Markup as percent of cost | — |
| price | number | One of: cost, marginPercent, markupPercent, price | Selling price per item (USD; at most two decimal places) | — |
Use margin_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"cost":80,"price":100},"name":"margin_calculator"}}
mass_volume_convert
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| density | number | One of: density, ingredient | Custom density in grams per milliliter; exactly one of density or ingredient is required. | — |
| from | string | Yes | Explicit mass or volume source. | Enum: ["g","kg","oz_av","lb_av","ml","l","us_cup","us_fl_oz","us_gal","us_qt","us_tbsp","us_tsp"] |
| ingredient | string | One of: density, ingredient | USDA FDC ingredient cup-weight preset, interpreted using a 236.5882365 mL US customary cup. Exactly one of ingredient or density is required. | 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"] |
| to | string | Yes | Opposite dimension from source. | Enum: ["g","kg","oz_av","lb_av","ml","l","us_cup","us_fl_oz","us_gal","us_qt","us_tbsp","us_tsp"] |
| value | string | Yes | 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. | — |
Use mass_volume_convert on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"density":0.5,"from":"g","to":"us_cup","value":"118.29411825"},"name":"mass_volume_convert"}}
mulch_calculator
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| area | number | One of: area, diameter, length, width | Total bed area in square feet or square metres | — |
| depthInches | number | Yes | Layer depth in inches | — |
| diameter | number | One of: area, diameter, length, width | Circle diameter across the bed in selected unit | — |
| length | number | One of: area, diameter, length, width | Rectangle length in selected unit | — |
| shape | string | Yes | Bed shape or already measured total area | Enum: ["rectangle","circle","area"] |
| unit | string | No | Dimension unit; area uses its square; default ft | Enum: ["ft","m"] |
| width | number | One of: area, diameter, length, width | Rectangle width in selected unit | — |
Use mulch_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"depthInches":3,"length":10,"shape":"rectangle","width":8},"name":"mulch_calculator"}}
one_rep_max_calculator
Calculate Epley and Brzycki one-rep maximum estimates from lifted weight and repetitions.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| reps | integer | Yes | — | — |
| units | string | No | Weight unit; returned estimates have the same unit | Enum: ["kg","lb"]; Default: "kg" |
| weight | number | Yes | Lifted weight; results use the same unit | — |
Use one_rep_max_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"reps":5,"weight":100},"name":"one_rep_max_calculator"}}
pace_calculator
Calculate running distance, elapsed time or pace from exactly two values and distance units.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| distance | number | One of: distance, pace, time | Distance in selected units | — |
| pace | string | One of: distance, pace, time | Pace in minutes, M:SS or H:MM:SS per selected distance unit | — |
| time | string | One of: distance, pace, time | Elapsed time in minutes, M:SS or H:MM:SS | — |
| units | string | No | — | Enum: ["km","mi"]; Default: "km" |
Use pace_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"distance":5,"time":"25:00"},"name":"pace_calculator"}}
page_check
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| url | string | Yes | Public http or https page URL. | — |
HTTP: GET /api/page-check.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"url":"https://example.com/"},"name":"page_check"}}
page_to_markdown
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| url | string | Yes | Public http or https page URL. | — |
Use page_to_markdown on the web
HTTP: GET /api/markdown.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"url":"https://example.com/"},"name":"page_to_markdown"}}
paint_quantity
Calculate paint volume and whole containers from entered area or supported surface geometry, openings, whole coats and user-supplied per-coat coverage.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| area | string | One of: area, surfaces | Total gross surface area in selected squared units. Enter a bounded decimal or fraction string; positive except openings/price. | — |
| areaUnit | string | No | Dimensions unit; areas and coverage use its square. Default ft. | Enum: ["ft","m"] |
| coats | integer | Yes | Whole coat count. | — |
| containerVolume | string | Yes | Entered volume of one container in selected volume units. Enter a bounded decimal or fraction string; positive except openings/price. | — |
| coverage | string | Yes | 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 | string | No | 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 | array | One of: area, surfaces | — | — |
| volumeUnit | string | No | Volume unit for paint, coverage denominator and container. Default us_gal. | Enum: ["us_gal","l"] |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"area":"800","coats":2,"containerVolume":"1","coverage":"350","openings":"100"},"name":"paint_quantity"}}
pay_convert
Convert gross annual salary to hourly pay or hourly pay to annual salary using your entered weekly hours and paid weeks. Pure arithmetic.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| amount | number | Yes | Gross amount in one entered currency. | — |
| direction | string | No | Conversion direction; default annual-to-hourly. | Enum: ["annual-to-hourly","hourly-to-annual"] |
| hoursPerWeek | number | Yes | Paid hours per week. | — |
| paidWeeks | number | Yes | Paid weeks per year. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"amount":52000,"direction":"annual-to-hourly","hoursPerWeek":40,"paidWeeks":52},"name":"pay_convert"}}
percentage_calculator
Calculate X percent of Y, X as a percentage of Y, or signed percentage change from X to Y.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| mode | string | Yes | of: X% of Y; is: X is what % of Y; change: from X to Y | Enum: ["of","is","change"] |
| x | number | Yes | Percentage, part, or original value by mode | — |
| y | number | Yes | Whole or new value by mode | — |
Use percentage_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"mode":"change","x":80,"y":100},"name":"percentage_calculator"}}
pickleball_court_cost
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| base | string | No | Omit when unknown. | Enum: ["new_concrete","new_asphalt","existing_slab"] |
| courts | integer | No | Court count; omitted uses 1 for math, marked assumed. | — |
| fence | string | No | Omit when unknown. | Enum: ["yes","no"] |
| finish | string | No | Omit when unknown. | Enum: ["acrylic","tiles"] |
| lights | string | No | Omit when unknown. | Enum: ["yes","no"] |
| size | string | No | Omit when unknown. | Enum: ["minimum","recommended"] |
| space_length_ft | number | No | Open, level space in feet; provide both length and width or neither. | — |
| space_width_ft | number | No | Open, level space in feet; provide both length and width or neither. | — |
Use pickleball_court_cost on the web
HTTP: GET /api/pickleball-court-cost.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"courts":2,"size":"recommended","space_length_ft":70,"space_width_ft":40},"name":"pickleball_court_cost"}}
pole_barn_cost
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| length_ft | number | Yes | Required length in feet; footprint must be 100–10,000 sq ft. | — |
| use | string | No | shell: building only. residential: add the separate living-space build-out band. | Enum: ["shell","residential"]; Default: "shell" |
| width_ft | number | Yes | Required width in feet; footprint must be 100–10,000 sq ft. | — |
HTTP: GET /api/pole-barn-cost.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"length_ft":40,"use":"shell","width_ft":30},"name":"pole_barn_cost"}}
power
Compute a real number raised to an entered exponent with bounded inputs and explicit domain errors.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| base | number | Yes | Base. | — |
| exponent | number | Yes | Exponent. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"base":2,"exponent":10},"name":"power"}}
prime_number_checker
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| integer | string | Yes | 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. | — |
Use prime_number_checker on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"integer":"97"},"name":"prime_number_checker"}}
proofread
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| text | string | Yes | Text to proofread, at most 2,000 words. | — |
HTTP: POST /api/proofread.
Needs the caller's OpenRouter key in the X-OpenRouter-Key header.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"text":"Example text"},"name":"proofread"}}
pythagorean_theorem_calculator
Compute the third right-triangle side from exactly two measured sides, both acute angles, the right angle and area using the Pythagorean theorem.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| a | number | One of: a, b, hypotenuse | Leg a in the common length unit (10^-9 to 10^9). | — |
| b | number | One of: a, b, hypotenuse | Leg b in the common length unit (10^-9 to 10^9). | — |
| hypotenuse | number | One of: a, b, hypotenuse | Hypotenuse, opposite the right angle in the common length unit (10^-9 to 10^9). | — |
| unit | string | No | Common length unit for every coordinate or side; area uses its square. | Enum: ["units","mm","cm","m","in","ft"]; Default: "units" |
Use pythagorean_theorem_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"a":3,"b":4,"unit":"m"},"name":"pythagorean_theorem_calculator"}}
quadratic_solve
Solve ax² + bx + c = 0 from entered coefficients. See real or complex roots, the discriminant and linear or constant cases.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| a | number | Yes | Coefficient; zero or absolute magnitude 10^-12 to 10^12. | — |
| b | number | Yes | Coefficient; zero or absolute magnitude 10^-12 to 10^12. | — |
| c | number | Yes | Coefficient; zero or absolute magnitude 10^-12 to 10^12. | — |
Use quadratic_solve on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"a":1,"b":-3,"c":2},"name":"quadratic_solve"}}
ratio_calculator
Simplify decimal A:B ratios, solve A:B = C:?, or scale the ratio to a target term or total.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| a | number | Yes | Nonnegative A term | — |
| b | number | Yes | Nonnegative B term | — |
| c | number | One of: c, target | Known C term in C:? | — |
| mode | string | Yes | Operation | Enum: ["simplify","solve","scale"] |
| target | number | One of: c, target | Target amount in the same units as A and B | — |
| targetPart | string | No | Part assigned the target; default a | Enum: ["a","b","total"] |
Use ratio_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"a":1.5,"b":2.5,"mode":"simplify"},"name":"ratio_calculator"}}
read_barcode
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| file | object | No | An image file the user attached (OpenAI Apps SDK file parameter). | — |
| file.download_url | string | Yes, when file is supplied | — | — |
| file.file_id | string | Yes, when file is supplied | — | — |
| file.file_name | string | No | — | — |
| file.mime_type | string | No | — | — |
| image | string | No | Base64 PNG/JPEG/WebP or image data URL; 2 MB decoded maximum. Give one of image, url or file. | — |
| url | string | No | Public https URL of a PNG, JPEG or WebP image; 2 MB maximum. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"url":"https://apitoolcalls.com/barcode-scanner/samples/ean13.png"},"name":"read_barcode"}}
recall_check
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| query | string | Yes | Product name, brand, model number or UPC. | — |
HTTP: GET /api/recall-check.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"query":"Example query"},"name":"recall_check"}}
resume_gap
Compare résumé skills with Columbus, Ohio job postings, or with one pasted job description. Résumé is not stored.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| family | string | No | Job family for the Columbus postings check; required unless job_ad is given. | Enum: ["data analyst","software engineer","project manager"] |
| job_ad | string | No | Plain text of one job description; lists the skills it names that the résumé shows and does not show. | — |
| resume_text | string | Yes | Plain text of the résumé. | — |
HTTP: POST /api/resume.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"job_ad":"Data analyst. Required: SQL, Python and Tableau.","resume_text":"Data analyst with SQL and Excel experience building weekly reports."},"name":"resume_gap"}}
retirement_drawdown
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| annualReturnPercent | number | Yes | Entered fixed nominal annual return percentage; at most six decimal places, divided by periods per year. | — |
| balance | number | Yes | Starting balance in USD, at most two decimal places. | — |
| frequency | string | Yes | Withdrawal timing: 12 monthly, 4 quarterly or 1 annual end-of-period withdrawal per year. | Enum: ["monthly","quarterly","annually"] |
| years | integer | Yes | Whole years; at most 360 monthly, 120 quarterly or 30 annual rows. | — |
Use retirement_drawdown on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"annualReturnPercent":10,"balance":100,"frequency":"annually","years":2},"name":"retirement_drawdown"}}
roi
Compute net gain and return on investment percentage from entered cost and final value, with optional annualization.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| cost | number | Yes | Cost (must be positive). | — |
| finalValue | number | Yes | Final value. | — |
| years | number | No | Optional positive duration in years for annualized ROI. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"cost":100,"finalValue":125},"name":"roi"}}
roman_numeral
Convert whole numbers from 1 to 3999 to canonical Roman numerals, or convert canonical Roman numerals to numbers.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| direction | string | Yes | Conversion direction. | Enum: ["to_roman","from_roman"] |
| value | string | Yes | Decimal whole-number text from 1–3999 for to_roman, or Roman numeral text in either case for from_roman. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"direction":"to_roman","value":"1994"},"name":"roman_numeral"}}
roof_replacement_cost
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| footprint_sqft | number | No | Horizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions. | — |
| layers | integer | No | Asphalt removal layers; 0 means no removal. Metal rates do not vary with layers; only 0 or 1 supported. | Enum: [0,1,2,3] |
| length_ft | number | No | Horizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions. | — |
| material | string | Yes | — | Enum: ["asphalt","standing_seam","tile"] |
| pitch | number | Yes | Rise p in inches per 12 inches horizontal run; geometry only. | — |
| quoted_extras | number | No | Your own total dollars quote for separate items excluded from the installation/removal scope; no assumed surcharge. | — |
| waste_percent | number | No | Optional asphalt purchase allowance only. Not applied to installed bid rates. No sourced midpoint/default. | — |
| width_ft | number | No | Horizontal roof projection including overhangs, in square feet for footprint_sqft, feet for length_ft/width_ft. Provide footprint OR both dimensions. | — |
Use roof_replacement_cost on the web
HTTP: GET /api/roof_replacement_cost.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"footprint_sqft":1000,"layers":2,"material":"asphalt","pitch":6,"waste_percent":10},"name":"roof_replacement_cost"}}
round_decimal
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| places | integer | No | Decimal places; negative values round to tens, hundreds etc.; default 0. | — |
| text | string | Yes | Up to 200 decimal digits with optional exponent -200 through 200. | — |
| tieMode | string | No | Exact halfway rule; default half-away. | Enum: ["half-away","half-even"] |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"places":0,"text":"-2.5","tieMode":"half-even"},"name":"round_decimal"}}
round_sig_figs
Round a decimal string to a chosen number of significant figures using exact decimal half-up rounding; return plain and scientific notation.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| significantFigures | integer | Yes | Number of significant figures to keep. | — |
| value | string | Yes | Signed decimal string, optionally with exponent notation; no commas. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"significantFigures":2,"value":"0.004560"},"name":"round_sig_figs"}}
scientific_evaluate
Evaluate arithmetic, powers, roots, logs and trigonometric functions with parentheses. Choose degrees or radians and get finite real results.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| angleUnit | string | No | Angle mode for trig and inverse trig; default degrees. | Enum: ["degrees","radians"] |
| expression | string | Yes | Explicit arithmetic expression; 256 tokens, 64 nested operations. No implicit multiplication. | — |
Use scientific_evaluate on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"angleUnit":"degrees","expression":"2^3 + sqrt(81)"},"name":"scientific_evaluate"}}
scientific_notation
Normalize decimal strings to scientific notation or expand exponent notation exactly. Keep all entered numerical digits without binary float conversion.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| mode | string | No | Output focus; default normalize. | Enum: ["normalize","expand"] |
| text | string | Yes | Up to 200 decimal digits, exponent -200 through 200. | — |
Use scientific_notation on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"mode":"normalize","text":"0.00012"},"name":"scientific_notation"}}
seo_check
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| url | string | Yes | Public http or https page URL. | — |
HTTP: GET /api/seo-check.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"url":"https://example.com/"},"name":"seo_check"}}
simplify_sqrt
Rewrite the square root of an integer from 0 to 10^12 as a√b using exact integer factors.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| value | integer | Yes | Nonnegative integer. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"value":72},"name":"simplify_sqrt"}}
slope_calculator
Compute slope, y-intercept, slope-intercept and point-slope equations, distance, midpoint and line inclination from two distinct points, including vertical lines.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| unit | string | No | Common length unit for every coordinate or side; area uses its square. | Enum: ["units","mm","cm","m","in","ft"]; Default: "units" |
| x1 | number | Yes | x1 coordinate, in the common length unit (±10^9). | — |
| x2 | number | Yes | x2 coordinate, in the common length unit (±10^9). | — |
| y1 | number | Yes | y1 coordinate, in the common length unit (±10^9). | — |
| y2 | number | Yes | y2 coordinate, in the common length unit (±10^9). | — |
Use slope_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"x1":0,"x2":1,"y1":1,"y2":2},"name":"slope_calculator"}}
square_footage_calculator
Computes and sums rectangle, circle, triangle and L-shaped room areas in square feet and square metres.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| rooms | array | Yes | — | — |
| unit | string | No | Common length unit for every entered dimension; default ft. | Enum: ["ft","in","yd","m","cm"] |
Use square_footage_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"rooms":[{"length":12,"shape":"rectangle","width":10},{"cutoutLength":4,"cutoutWidth":3,"length":12,"shape":"l-shape","width":10}],"unit":"ft"},"name":"square_footage_calculator"}}
time_card_calculator
Sum up to seven clock-time shifts and optionally split the total into regular minutes and minutes past 40 hours.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| overtime | boolean | No | Split minutes past 40 hours; arithmetic only, without eligibility or pay | Default: false |
| rows | array | Yes | Completed shifts for one workweek; omit blank days | — |
Use time_card_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"overtime":true,"rows":[{"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,"end":"18:30","start":"09:00"}]},"name":"time_card_calculator"}}
tip_calculator
Calculate a bill tip and equal per-person shares, with cent rounding or optional whole-dollar rounding up.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| bill | number | Yes | Bill base in USD, at most two decimals | — |
| people | integer | No | Number of equal shares; default 1 | — |
| roundUp | boolean | No | Round each share up to a whole dollar; otherwise up to a cent | Default: false |
| tipPercent | number | Yes | Entered tip percentage, at most two decimals | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"bill":100,"people":3,"roundUp":true,"tipPercent":18},"name":"tip_calculator"}}
unit_convert
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| from | string | Yes | Explicit source or target unit. mm is millimeters; oz_av is avoirdupois mass; us_fl_oz is volume. US customary volume measures only. | 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"] |
| to | string | Yes | Target unit in the same dimension. International length definitions and US liquid measures are explicit. | 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"] |
| value | string | Yes | 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. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"from":"us_qt","to":"us_cup","value":"1 1/2"},"name":"unit_convert"}}
unit_price
Compare package prices per equal mass, volume or whole item count in one entered currency, with exact tie detection and compatible units only.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| currency | string | Yes | Entered three-letter currency label (letters only), shared by all prices; no exchange rates. | — |
| packages | array | Yes | — | — |
| targetUnit | string | Yes | One common mass, volume or count unit for comparison. | Enum: ["g","kg","oz_av","lb_av","ml","l","us_cup","us_fl_oz","us_gal","us_qt","us_tbsp","us_tsp","each"] |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"currency":"USD","packages":[{"price":"3","quantity":"500","unit":"g"},{"price":"5","quantity":"1","unit":"kg"}],"targetUnit":"g"},"name":"unit_price"}}
volume_calculator
Computes cube, box, cylinder, cone, sphere or rectangular-pyramid volume with its formula and cubic-unit conversions.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| height | number | One of: height, length, radius, side, width | Perpendicular height. | — |
| length | number | One of: height, length, radius, side, width | Base length. | — |
| radius | number | One of: height, length, radius, side, width | Radius, not diameter. | — |
| shape | string | Yes | Solid shape; pyramid has a rectangular base. | Enum: ["cube","box","cylinder","cone","sphere","pyramid"] |
| side | number | One of: height, length, radius, side, width | Cube side. | — |
| unit | string | No | Common length unit for every entered dimension; default ft. | Enum: ["ft","in","yd","m","cm"] |
| width | number | One of: height, length, radius, side, width | Base width. | — |
Use volume_calculator on the web
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"height":5,"length":3,"shape":"box","unit":"m","width":4},"name":"volume_calculator"}}
water_softener_size
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| bag_lb | number | No | Bag weight in lb. | Default: 40 |
| bag_price | number | No | Price per bag; one store's price (Fleet Farm, observed 2 Oct 2026); enter yours. | Default: 8.97 |
| capacity_grains | number | No | Your manual's grains per regeneration; requires salt_lb. | — |
| gallons_per_person_day | number | Yes | Required softened gallons per person per day; no national default used. Exclude bypassing outdoor taps. | — |
| hardness | number | Yes | Required measured hardness; after conversion 0 < gpg <= 100. | — |
| hardness_unit | string | No | gpg or mg/L; divide mg/L by 17.1 (W1). | Enum: ["gpg","mg_l"]; Default: "gpg" |
| interval_days | number | No | Optional target days between regenerations. | — |
| iron_ppm | number | No | Optional dissolved clear-water ferrous iron in ppm; absent means unknown. EcoPure adds 5 gpg per ppm (W4); other makers differ. | — |
| people | integer | Yes | Required whole household size. | — |
| salt_lb | number | No | Your manual's lb salt at capacity_grains; requires capacity_grains. | — |
Use water_softener_size on the web
HTTP: GET /api/water-softener-size.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"gallons_per_person_day":75,"hardness":10,"people":4},"name":"water_softener_size"}}
wheelchair_ramp
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| rise_inches | number | Yes | Entrance rise in inches; minimum horizontal run excludes landings and door maneuvering space. | — |
Use wheelchair_ramp on the web
HTTP: GET /api/wheelchair-ramp.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"rise_inches":20},"name":"wheelchair_ramp"}}
word_count
Count words, characters, sentences and paragraphs and estimate reading and speaking times from text.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| text | string | Yes | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"text":"Hello world."},"name":"word_count"}}
yard_drainage_cause
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.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| boundary | array | No | Omit for unknown; [] means none observed. flow_from_higher_ground: Flow from higher ground; new_nearby_hard_surface: A new nearby hard surface | — |
| downspouts | integer | No | Whole number of elbow-plus-extension sets, hardware only. | — |
| drop_inches_15min | number | No | 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 | number | No | Designed storage from a designer; never sized from this questionnaire. | — |
| grading | array | No | 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 | — |
| groundwater | array | No | Omit for unknown; [] means none observed. seepage: Seepage; saturated_below_surface: Saturated below the surface; seasonal_high_water: Seasonal high water | — |
| gutters | array | No | Omit for unknown; [] means none observed. overflowing: Overflowing gutters; leaking: Leaking gutters; discharge_near_foundation: Downspouts discharge near the foundation | — |
| rain_garden_sq_ft | number | No | Agreed garden area; never computed from roof area. | — |
| site | array | No | 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 | — |
| soil | array | No | Omit for unknown; [] means none observed. clay: Clay soil; compacted: Compacted soil | — |
| timing | array | No | Omit for unknown; [] means none observed. after_rain: After rain; seasonal: Seasonally; dry_weather: In dry weather | — |
| where | array | No | 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 | — |
Use yard_drainage_cause on the web
HTTP: GET /api/yard-drainage.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"downspouts":3,"gutters":["discharge_near_foundation"]},"name":"yard_drainage_cause"}}
z_score
Compute the standardized z score from an entered value, mean and positive standard deviation.
| Name | Type | Required | Description | Enum / default |
|---|---|---|---|---|
| mean | number | Yes | Mean. | — |
| standardDeviation | number | Yes | Standard deviation. | — |
| value | number | Yes | Value. | — |
Call this tool through MCP.
{"id":1,"jsonrpc":"2.0","method":"tools/call","params":{"arguments":{"mean":70,"standardDeviation":10,"value":85},"name":"z_score"}}
