{"version":"0.5.0","count":17,"contract":{"success":"{ok: true, result, assumptions[], warnings[], meta}","failure":"{ok: false, error, message, retryable, needs?, details?, hint?}","errors":["ambiguous","busy","forbidden","internal","invalid_input","resource_exhausted","timeout","too_large","unsupported"],"retryable":["busy"]},"endpoints":{"core":"/mcp"},"tools":[{"name":"math","description":"Exact arithmetic & symbolic algebra (SymPy)","modes":["eval","exact","simplify","expand","factor","solve","diff","integrate","limit","series","ode","matrix","stats","convert_form","plot_points"],"network":false,"docs_url":"/docs/tools/math"},{"name":"datetime","description":"Dates, durations, time zones, business days","modes":["now","convert_tz","parse","add","diff","weekday","nth_weekday","business_days","overlap","free_slots","duration_sum","recurrence","cron_next","age","fiscal"],"network":false,"docs_url":"/docs/tools/datetime"},{"name":"scale","description":"Scale numbers and recipes proportionally","modes":["linear","inverse"],"network":false,"docs_url":"/docs/tools/scale"},{"name":"convert","description":"Units, currencies, fuel economy, cooking measures, sizes","modes":["units","temperature","currency","fuel_economy","cooking","sizes","auto"],"network":false,"docs_url":"/docs/tools/convert"},{"name":"numbers","description":"Compare, round, format, allocate exactly","modes":["compare","round","format","allocate","sequence","parse","to_words","semver"],"network":false,"docs_url":"/docs/tools/numbers"},{"name":"finance","description":"EMI, compound growth, CAGR, NPV/IRR, GST","modes":["emi","compound","cagr","npv_irr","gst","percent"],"network":false,"docs_url":"/docs/tools/finance"},{"name":"text","description":"Count, slice, case, diff — by codepoint","modes":["count","regex_match","regex_replace","diff","sort","dedupe","extract","find","similarity"],"network":false,"docs_url":"/docs/tools/text"},{"name":"collections","description":"Sort, group, filter, pivot — records or CSV","modes":["set_ops","group_by","aggregate","pick_fields","flatten","unflatten","paginate","find_duplicates","sort_by","chunk","filter","pivot","running","outliers","summarize","to_csv"],"network":false,"docs_url":"/docs/tools/collections"},{"name":"validate","description":"Assert rules over JSON, emails, IBANs, schemas","modes":["json_schema","assert","id","email","url","phone","ip","cidr","sql_parse","regex"],"network":false,"docs_url":"/docs/tools/validate"},{"name":"random","description":"Seeded, reproducible randomness","modes":["uuid","int","float","pick","shuffle","token","bool","sample"],"network":false,"docs_url":"/docs/tools/random"},{"name":"geo_offline","description":"Distance, bearing, bounding boxes","modes":["tz_for_place","tz_for_coords","distance","country","zone_info"],"network":false,"docs_url":"/docs/tools/geo_offline"},{"name":"encode","description":"Hashes, base64, URL, hex","modes":["hash","hmac","checksum","base64","hex","url","html","jwt_decode","json"],"network":false,"docs_url":"/docs/tools/encode"},{"name":"color","description":"Convert, name, contrast, mix, harmonise, swatch","modes":["convert","describe","swatch","contrast","mix","harmony","nearest","simulate","grayscale"],"network":false,"docs_url":"/docs/tools/color"},{"name":"weather","description":"Live weather from [Open-Meteo](https://open-meteo","modes":["current","forecast","historical","summary"],"network":true,"docs_url":"/docs/tools/weather"},{"name":"fx_rate","description":"European Central Bank reference rates, served by [Frankfurter](https://frankfurter","modes":[],"network":true,"docs_url":"/docs/tools/fx_rate"},{"name":"geo","description":"Geocoding, reverse geocoding and road routing, from Open-Meteo's geocoder, OpenStreetMap Nominatim and the OSRM demo router","modes":["geocode","reverse","route"],"network":true,"docs_url":"/docs/tools/geo"},{"name":"url_check","description":"Actually fetch a URL and report what happened: final status, the redirect chain, the URL you ended up at, content type, size and latency","modes":[],"network":true,"docs_url":"/docs/tools/url_check"}]}