Server definition
- Hash
- sha256:89706fe816531e406967634caa9ae280451d2c5de7b49a343d306cdfbe4d1575
- What it is
- What a remote MCP server returned when asked what it offers: 74 tools
The blob, as servednamed by its sha256
{
"instructions": "Free calculators and unit converters that run on smart-tools.xyz. Each tool returns a structured result plus a source_url to the matching page. Pass an optional locale (en, de, es, fr, it, nl, uk) to localise that link.",
"tools": [
{
"description": "Exact age in years, months and days between a birth date and a reference date (default: today). Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"at_date": {
"description": "Reference date, YYYY-MM-DD (default: today)",
"type": "string"
},
"birth_date": {
"description": "Date of birth, YYYY-MM-DD",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
}
},
"required": [
"birth_date"
],
"type": "object"
},
"name": "age_calculator",
"outputSchema": null
},
{
"description": "Convert a value between angle units. Units: ° (Degree), rad (Radian), grad (Gradian), mrad (Milliradian), rev (Turn), ′ (Arcminute), ″ (Arcsecond). Calculation runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from": {
"description": "Source unit id",
"enum": [
"°",
"rad",
"grad",
"mrad",
"rev",
"′",
"″"
],
"type": "string"
},
"locale": {
"description": "Language for source_url (en, de, es, fr, it, nl, uk)",
"type": "string"
},
"to": {
"description": "Target unit id",
"enum": [
"°",
"rad",
"grad",
"mrad",
"rev",
"′",
"″"
],
"type": "string"
},
"value": {
"description": "Amount to convert",
"type": [
"number",
"string"
]
}
},
"required": [
"value",
"from",
"to"
],
"type": "object"
},
"name": "angle_converter",
"outputSchema": null
},
{
"description": "Convert a value between area units. Units: km² (Square kilometer), m² (Square meter), cm² (Square centimeter), mm² (Square millimeter), ha (Hectare), ac (Acre), mi² (Square mile), ft² (Square foot), yd² (Square yard), in² (Square inch). Calculation runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from": {
"description": "Source unit id",
"enum": [
"km²",
"m²",
"cm²",
"mm²",
"ha",
"ac",
"mi²",
"ft²",
"yd²",
"in²"
],
"type": "string"
},
"locale": {
"description": "Language for source_url (en, de, es, fr, it, nl, uk)",
"type": "string"
},
"to": {
"description": "Target unit id",
"enum": [
"km²",
"m²",
"cm²",
"mm²",
"ha",
"ac",
"mi²",
"ft²",
"yd²",
"in²"
],
"type": "string"
},
"value": {
"description": "Amount to convert",
"type": [
"number",
"string"
]
}
},
"required": [
"value",
"from",
"to"
],
"type": "object"
},
"name": "area_converter",
"outputSchema": null
},
{
"description": "Simplify a width×height ratio and scale to a new width or height. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"height": {
"description": "Original height",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"new_height": {
"description": "Optional: target height → returns matching width",
"type": [
"number",
"string"
]
},
"new_width": {
"description": "Optional: target width → returns matching height",
"type": [
"number",
"string"
]
},
"width": {
"description": "Original width",
"type": [
"number",
"string"
]
}
},
"required": [
"width",
"height"
],
"type": "object"
},
"name": "aspect_ratio_calculator",
"outputSchema": null
},
{
"description": "Encode text to Base64 or decode Base64 back to text, UTF-8 safe, with an optional URL-safe alphabet. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"direction": {
"description": "encode (default) or decode",
"enum": [
"encode",
"decode"
],
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"text": {
"description": "Text to encode, or Base64 to decode",
"type": "string"
},
"url_safe": {
"description": "Use URL-safe alphabet (-_ instead of +/, no padding). Default false",
"type": "boolean"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "base64",
"outputSchema": null
},
{
"description": "Body Mass Index and category. system=metric: weight_kg, height_cm. system=imperial: weight_lb, height_ft (+height_in). Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"height_cm": {
"description": "Height in cm (metric)",
"type": [
"number",
"string"
]
},
"height_ft": {
"description": "Height feet part (imperial)",
"type": [
"number",
"string"
]
},
"height_in": {
"description": "Height inches part (imperial, default 0)",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"system": {
"description": "Unit system (default metric)",
"enum": [
"metric",
"imperial"
],
"type": "string"
},
"weight_kg": {
"description": "Weight in kg (metric)",
"type": [
"number",
"string"
]
},
"weight_lb": {
"description": "Weight in lb (imperial)",
"type": [
"number",
"string"
]
}
},
"required": [],
"type": "object"
},
"name": "bmi_calculator",
"outputSchema": null
},
{
"description": "Basal metabolic rate (Mifflin–St Jeor) and daily calories (TDEE = BMR × activity). Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"activity": {
"description": "Activity multiplier: 1.2 sedentary, 1.375 light, 1.55 moderate, 1.725 active, 1.9 very active (default 1.2)",
"type": [
"number",
"string"
]
},
"age": {
"description": "Age in years",
"type": [
"number",
"string"
]
},
"height_cm": {
"description": "Height in cm",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"sex": {
"description": "Biological sex",
"enum": [
"m",
"f"
],
"type": "string"
},
"weight_kg": {
"description": "Weight in kg",
"type": [
"number",
"string"
]
}
},
"required": [
"sex",
"age",
"height_cm",
"weight_kg"
],
"type": "object"
},
"name": "bmr_calculator",
"outputSchema": null
},
{
"description": "Body fat percentage by the US Navy (Hodgdon–Beckett) method, metric measurements in cm. Females require hip_cm. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"height_cm": {
"description": "Height in cm",
"type": [
"number",
"string"
]
},
"hip_cm": {
"description": "Hip circumference in cm (required for female)",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"neck_cm": {
"description": "Neck circumference in cm",
"type": [
"number",
"string"
]
},
"sex": {
"description": "Biological sex",
"enum": [
"m",
"f"
],
"type": "string"
},
"waist_cm": {
"description": "Waist circumference in cm",
"type": [
"number",
"string"
]
}
},
"required": [
"sex",
"height_cm",
"neck_cm",
"waist_cm"
],
"type": "object"
},
"name": "body_fat_calculator",
"outputSchema": null
},
{
"description": "Convert text to UPPER, lower, Title, Sentence, camelCase, PascalCase, snake_case, kebab-case or CONSTANT_CASE. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"case": {
"description": "Target case",
"enum": [
"upper",
"lower",
"title",
"sentence",
"camel",
"pascal",
"snake",
"kebab",
"constant"
],
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"text": {
"description": "Text to convert",
"type": "string"
}
},
"required": [
"text",
"case"
],
"type": "object"
},
"name": "case_converter",
"outputSchema": null
},
{
"description": "Convert a color between HEX, RGB and HSL. Accepts #hex, rgb()/rgba(), hsl()/hsla(). Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"color": {
"description": "Color in any of: #1a7f5a, rgb(26,127,90), hsl(154,66%,30%)",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
}
},
"required": [
"color"
],
"type": "object"
},
"name": "color_converter",
"outputSchema": null
},
{
"description": "Future balance and interest earned: A = P(1 + r/n)^(nt). Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"annual_rate": {
"description": "Annual rate, percent",
"type": [
"number",
"string"
]
},
"compounds_per_year": {
"description": "Compounding periods per year (default 12)",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"principal": {
"description": "Starting amount",
"type": [
"number",
"string"
]
},
"years": {
"description": "Number of years",
"type": [
"number",
"string"
]
}
},
"required": [
"principal",
"annual_rate",
"years"
],
"type": "object"
},
"name": "compound_interest_calculator",
"outputSchema": null
},
{
"description": "Parse a 5-field cron expression (minute hour day-of-month month day-of-week) into a plain-English description. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"expression": {
"description": "Cron expression, e.g. \"*/15 9-17 * * 1-5\" (aliases like @daily accepted)",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
}
},
"required": [
"expression"
],
"type": "object"
},
"name": "cron_parser",
"outputSchema": null
},
{
"description": "Parse CSV/TSV text (auto-detecting tab, semicolon or comma delimiter) with a header row into an array of JSON objects. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"has_header": {
"description": "Treat the first row as column names (default true); if false, columns are named col1, col2, …",
"type": [
"boolean",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"text": {
"description": "CSV/TSV text to convert",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "csv_to_json",
"outputSchema": null
},
{
"description": "Turn CSV/TSV rows into SQL INSERT statements with standard double-quoted identifiers and escaped values. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"batch_size": {
"description": "Rows per INSERT statement (default 50)",
"type": [
"number",
"string"
]
},
"has_header": {
"description": "Use the first row as column names (default true); if false, columns are named col1, col2, …",
"type": [
"boolean",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"nulls": {
"description": "Emit NULL for empty cells (default true)",
"type": [
"boolean",
"string"
]
},
"quote_all": {
"description": "Quote every value, even numeric ones (default false)",
"type": [
"boolean",
"string"
]
},
"table_name": {
"description": "Target table name (default my_table)",
"type": "string"
},
"text": {
"description": "CSV/TSV text to convert",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "csv_to_sql",
"outputSchema": null
},
{
"description": "Convert a value between data units. Units: bit (Bit), B (Byte), kB (Kilobyte), MB (Megabyte), GB (Gigabyte), TB (Terabyte), KiB (Kibibyte), MiB (Mebibyte), GiB (Gibibyte), TiB (Tebibyte). Calculation runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from": {
"description": "Source unit id",
"enum": [
"bit",
"B",
"kB",
"MB",
"GB",
"TB",
"KiB",
"MiB",
"GiB",
"TiB"
],
"type": "string"
},
"locale": {
"description": "Language for source_url (en, de, es, fr, it, nl, uk)",
"type": "string"
},
"to": {
"description": "Target unit id",
"enum": [
"bit",
"B",
"kB",
"MB",
"GB",
"TB",
"KiB",
"MiB",
"GiB",
"TiB"
],
"type": "string"
},
"value": {
"description": "Amount to convert",
"type": [
"number",
"string"
]
}
},
"required": [
"value",
"from",
"to"
],
"type": "object"
},
"name": "data_converter",
"outputSchema": null
},
{
"description": "Difference between two dates: calendar years/months/days, total days, weeks and weekday count. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"end_date": {
"description": "End date, YYYY-MM-DD",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"start_date": {
"description": "Start date, YYYY-MM-DD",
"type": "string"
}
},
"required": [
"start_date",
"end_date"
],
"type": "object"
},
"name": "date_difference_calculator",
"outputSchema": null
},
{
"description": "Final price after one or two successive discounts, plus amount saved. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"discount": {
"description": "Discount, percent",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"price": {
"description": "Original price",
"type": [
"number",
"string"
]
},
"second_discount": {
"description": "Optional second discount applied to the already-reduced price, percent",
"type": [
"number",
"string"
]
}
},
"required": [
"price",
"discount"
],
"type": "object"
},
"name": "discount_calculator",
"outputSchema": null
},
{
"description": "Estimated due date by Naegele's rule (+280 days from last period, adjusted for cycle length). Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cycle_length": {
"description": "Average cycle length in days (default 28)",
"type": [
"number",
"string"
]
},
"last_period": {
"description": "First day of last menstrual period, YYYY-MM-DD",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
}
},
"required": [
"last_period"
],
"type": "object"
},
"name": "due_date_calculator",
"outputSchema": null
},
{
"description": "Running cost of an appliance per day, month and year from its wattage. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"hours_per_day": {
"description": "Hours used per day",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"power_watts": {
"description": "Power draw in watts",
"type": [
"number",
"string"
]
},
"price_per_kwh": {
"description": "Electricity price per kWh",
"type": [
"number",
"string"
]
}
},
"required": [
"power_watts",
"hours_per_day",
"price_per_kwh"
],
"type": "object"
},
"name": "electricity_cost_calculator",
"outputSchema": null
},
{
"description": "Convert a value between energy units. Units: J (Joule), kJ (Kilojoule), cal (Calorie), kcal (Kilocalorie), Wh (Watt-hour), kWh (Kilowatt-hour), BTU (British thermal unit), ft·lb (Foot-pound), eV (Electronvolt). Calculation runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from": {
"description": "Source unit id",
"enum": [
"J",
"kJ",
"cal",
"kcal",
"Wh",
"kWh",
"BTU",
"ft·lb",
"eV"
],
"type": "string"
},
"locale": {
"description": "Language for source_url (en, de, es, fr, it, nl, uk)",
"type": "string"
},
"to": {
"description": "Target unit id",
"enum": [
"J",
"kJ",
"cal",
"kcal",
"Wh",
"kWh",
"BTU",
"ft·lb",
"eV"
],
"type": "string"
},
"value": {
"description": "Amount to convert",
"type": [
"number",
"string"
]
}
},
"required": [
"value",
"from",
"to"
],
"type": "object"
},
"name": "energy_converter",
"outputSchema": null
},
{
"description": "Compute a SHA-1/256/384/512 hex checksum of provided text or base64 bytes. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"algorithm": {
"description": "Hash algorithm (default SHA-256)",
"enum": [
"SHA-1",
"SHA-256",
"SHA-384",
"SHA-512"
],
"type": "string"
},
"data": {
"description": "Base64-encoded bytes to hash (provide text or data)",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"text": {
"description": "UTF-8 text to hash (provide text or data)",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "file_hash",
"outputSchema": null
},
{
"description": "Exact arithmetic on two fractions (a/b op c/d), reduced to lowest terms. op is one of + - * /. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"a": {
"description": "Numerator of first fraction (integer)",
"type": [
"number",
"string"
]
},
"b": {
"description": "Denominator of first fraction (integer)",
"type": [
"number",
"string"
]
},
"c": {
"description": "Numerator of second fraction (integer)",
"type": [
"number",
"string"
]
},
"d": {
"description": "Denominator of second fraction (integer)",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"operator": {
"description": "Operation",
"enum": [
"+",
"-",
"*",
"/"
],
"type": "string"
}
},
"required": [
"a",
"b",
"operator",
"c",
"d"
],
"type": "object"
},
"name": "fraction_calculator",
"outputSchema": null
},
{
"description": "Fuel needed and trip cost. system=metric: distance km, consumption L/100km. system=imperial: distance miles, consumption mpg. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"consumption": {
"description": "L/100km (metric) or mpg (imperial)",
"type": [
"number",
"string"
]
},
"distance": {
"description": "Trip distance",
"type": [
"number",
"string"
]
},
"fuel_price": {
"description": "Price per litre or per gallon",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"system": {
"description": "Unit system (default metric)",
"enum": [
"metric",
"imperial"
],
"type": "string"
}
},
"required": [
"distance",
"consumption",
"fuel_price"
],
"type": "object"
},
"name": "fuel_cost_calculator",
"outputSchema": null
},
{
"description": "Build a .gitignore from curated templates for Node, Python, Go, Rust, macOS, VS Code and more. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"technologies": {
"description": "Stacks to include. Any of: \"Node\", \"Python\", \"Java\", \"Go\", \"Rust\", \"PHP\", \"React / Vite\", \"macOS\", \"Windows\", \"Linux\", \"VS Code\", \"JetBrains\"",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"technologies"
],
"type": "object"
},
"name": "gitignore_generator",
"outputSchema": null
},
{
"description": "Weighted grade point average from letter grades (US 4.0 scale, +/-) or numeric grade points and credit hours. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"courses": {
"description": "Each course as { grade, credits }. grade is a letter (A, A-, B+ …) or numeric grade points (0–4.5); credits defaults to 1.",
"items": {
"properties": {
"credits": {
"description": "Credit hours (default 1)",
"type": [
"number",
"string"
]
},
"grade": {
"description": "Letter grade or grade points",
"type": [
"string",
"number"
]
}
},
"required": [
"grade"
],
"type": "object"
},
"type": "array"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
}
},
"required": [
"courses"
],
"type": "object"
},
"name": "gpa_calculator",
"outputSchema": null
},
{
"description": "Build a CSS linear or radial gradient background declaration from two or more colors. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"angle": {
"description": "Angle in degrees for linear gradients, 0–360 (default 90)",
"type": [
"number",
"string"
]
},
"colors": {
"description": "Color stops, e.g. [\"#1a7f5a\", \"#0d3b66\"] (at least 2)",
"items": {
"type": "string"
},
"type": "array"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"type": {
"description": "Gradient type (default linear)",
"enum": [
"linear",
"radial"
],
"type": "string"
}
},
"required": [
"colors"
],
"type": "object"
},
"name": "gradient_generator",
"outputSchema": null
},
{
"description": "Hash text with SHA-1, SHA-256, SHA-384 or SHA-512 (hex, over UTF-8 bytes). MD5 is not supported. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"algorithm": {
"description": "Hash algorithm (default SHA-256)",
"enum": [
"SHA-1",
"SHA-256",
"SHA-384",
"SHA-512"
],
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"text": {
"description": "The text to hash",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "hash_generator",
"outputSchema": null
},
{
"description": "Convert a height between centimetres and feet/inches. Give cm, or feet (with optional inches). One inch = 2.54 cm exactly. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cm": {
"description": "Height in centimetres (give this OR feet/inches)",
"type": [
"number",
"string"
]
},
"feet": {
"description": "Feet part (give this side instead of cm)",
"type": [
"number",
"string"
]
},
"inches": {
"description": "Inches part, used with feet (default 0)",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "height_converter",
"outputSchema": null
},
{
"description": "Time worked between two clock times (handles overnight), minus a break, with optional pay. Times as HH:MM. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"break_minutes": {
"description": "Unpaid break in minutes (default 0)",
"type": [
"number",
"string"
]
},
"end": {
"description": "End time HH:MM (24h)",
"type": "string"
},
"hourly_rate": {
"description": "Optional pay rate per hour",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"start": {
"description": "Start time HH:MM (24h)",
"type": "string"
}
},
"required": [
"start",
"end"
],
"type": "object"
},
"name": "hours_calculator",
"outputSchema": null
},
{
"description": "Generate Apache .htaccess rules: force HTTPS, www redirect, caching, gzip, hotlink protection and more. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"block_hotlink": {
"description": "Block image hotlinking (default false)",
"type": "boolean"
},
"cache": {
"description": "Add browser caching headers (default false)",
"type": "boolean"
},
"disable_listing": {
"description": "Disable directory listing (Options -Indexes) (default false)",
"type": "boolean"
},
"error_404": {
"description": "Custom 404 page path, e.g. /404.html",
"type": "string"
},
"force_https": {
"description": "Redirect all HTTP to HTTPS (default false)",
"type": "boolean"
},
"gzip": {
"description": "Compress text responses with mod_deflate (default false)",
"type": "boolean"
},
"hotlink_domain": {
"description": "Your domain for hotlink protection, e.g. example.com",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"www": {
"description": "www redirect: none / add / remove (default none)",
"enum": [
"none",
"add",
"remove"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "htaccess_generator",
"outputSchema": null
},
{
"description": "Escape the five special HTML characters (optionally all non-ASCII) or decode named and numeric HTML entities back to text. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"direction": {
"description": "encode (default) or decode",
"enum": [
"encode",
"decode"
],
"type": "string"
},
"encode_all": {
"description": "When encoding, also convert every non-ASCII character to a numeric entity. Default false",
"type": "boolean"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"text": {
"description": "Text to encode, or HTML with entities to decode",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "html_entities",
"outputSchema": null
},
{
"description": "Healthy weight range (BMI 18.5–24.9) plus Devine, Robinson, Miller and Hamwi formula estimates, from height in cm. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"height_cm": {
"description": "Height in cm",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"sex": {
"description": "Biological sex",
"enum": [
"m",
"f"
],
"type": "string"
}
},
"required": [
"sex",
"height_cm"
],
"type": "object"
},
"name": "ideal_weight_calculator",
"outputSchema": null
},
{
"description": "Validate and pretty-print or minify JSON, reporting the line and column on a parse error. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"action": {
"description": "pretty = indented (default); minify = single line",
"enum": [
"pretty",
"minify"
],
"type": "string"
},
"indent": {
"description": "Spaces per level for pretty (default 2), or \"tab\" for tabs",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"text": {
"description": "JSON text to format",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "json_formatter",
"outputSchema": null
},
{
"description": "Decode a JSON Web Token's header and payload (base64url). Does NOT verify the signature — that needs the secret/key. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"token": {
"description": "The JWT (header.payload.signature)",
"type": "string"
}
},
"required": [
"token"
],
"type": "object"
},
"name": "jwt_decoder",
"outputSchema": null
},
{
"description": "Fix text typed in the wrong keyboard layout between English QWERTY and Ukrainian ЙЦУКЕН. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"direction": {
"description": "en_to_uk: text typed on EN layout meant for UK; uk_to_en: the reverse (default en_to_uk)",
"enum": [
"en_to_uk",
"uk_to_en"
],
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"text": {
"description": "The garbled text",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "layout_fixer",
"outputSchema": null
},
{
"description": "Convert a value between length units. Units: km (Kilometer), m (Meter), cm (Centimeter), mm (Millimeter), µm (Micrometer), mi (Mile), yd (Yard), ft (Foot), in (Inch), nmi (Nautical mile). Calculation runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from": {
"description": "Source unit id",
"enum": [
"km",
"m",
"cm",
"mm",
"µm",
"mi",
"yd",
"ft",
"in",
"nmi"
],
"type": "string"
},
"locale": {
"description": "Language for source_url (en, de, es, fr, it, nl, uk)",
"type": "string"
},
"to": {
"description": "Target unit id",
"enum": [
"km",
"m",
"cm",
"mm",
"µm",
"mi",
"yd",
"ft",
"in",
"nmi"
],
"type": "string"
},
"value": {
"description": "Amount to convert",
"type": [
"number",
"string"
]
}
},
"required": [
"value",
"from",
"to"
],
"type": "object"
},
"name": "length_converter",
"outputSchema": null
},
{
"description": "Monthly payment, total repayment and interest for an amortising loan (annuity formula). Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"annual_rate": {
"description": "Annual interest rate, percent",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"principal": {
"description": "Loan amount",
"type": [
"number",
"string"
]
},
"years": {
"description": "Term in years",
"type": [
"number",
"string"
]
}
},
"required": [
"principal",
"annual_rate",
"years"
],
"type": "object"
},
"name": "loan_calculator",
"outputSchema": null
},
{
"description": "Generate placeholder lorem ipsum text by paragraphs, sentences or words. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"count": {
"description": "How many units to generate (default 3)",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"start_lorem": {
"description": "Begin with the classic 'Lorem ipsum dolor sit amet…' (default true)",
"type": "boolean"
},
"unit": {
"description": "paragraphs (default), sentences or words",
"enum": [
"paragraphs",
"sentences",
"words"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "lorem_ipsum",
"outputSchema": null
},
{
"description": "Profit, margin (share of price) and markup (share of cost) from cost and selling price. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"cost": {
"description": "Cost price",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"price": {
"description": "Selling price",
"type": [
"number",
"string"
]
}
},
"required": [
"cost",
"price"
],
"type": "object"
},
"name": "margin_calculator",
"outputSchema": null
},
{
"description": "Build a padded GitHub-flavored Markdown table from CSV/TSV text (first row is the header). Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"text": {
"description": "CSV/TSV rows; the first row is the header",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "markdown_table",
"outputSchema": null
},
{
"description": "Generate SEO, Open Graph and Twitter Card HTML meta tags for a page. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"description": {
"description": "Meta description",
"type": "string"
},
"image": {
"description": "og:image / twitter:image URL",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"site_name": {
"description": "og:site_name",
"type": "string"
},
"title": {
"description": "Page title",
"type": "string"
},
"twitter_card": {
"description": "Twitter card type (default summary_large_image)",
"enum": [
"summary_large_image",
"summary"
],
"type": "string"
},
"url": {
"description": "Canonical / og:url",
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"name": "meta_tag_generator",
"outputSchema": null
},
{
"description": "Monthly mortgage payment including optional down payment, property tax and insurance (PITI). Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"annual_insurance": {
"description": "Annual insurance (default 0)",
"type": [
"number",
"string"
]
},
"annual_rate": {
"description": "Annual interest rate, percent",
"type": [
"number",
"string"
]
},
"annual_tax": {
"description": "Annual property tax (default 0)",
"type": [
"number",
"string"
]
},
"down_payment_pct": {
"description": "Down payment, percent (default 0)",
"type": [
"number",
"string"
]
},
"home_price": {
"description": "Property price",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"years": {
"description": "Term in years",
"type": [
"number",
"string"
]
}
},
"required": [
"home_price",
"annual_rate",
"years"
],
"type": "object"
},
"name": "mortgage_calculator",
"outputSchema": null
},
{
"description": "Convert an integer between bases 2–36 (binary, octal, decimal, hex and more), exact for 64-bit values via BigInt. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from_base": {
"description": "Base of the input, 2–36",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"to_base": {
"description": "Base to convert to, 2–36",
"type": [
"number",
"string"
]
},
"value": {
"description": "The integer to convert (may use 0x/0b/0o prefix, spaces or _ as separators)",
"type": [
"string",
"number"
]
}
},
"required": [
"value",
"from_base"
],
"type": "object"
},
"name": "number_base",
"outputSchema": null
},
{
"description": "Running pace per km and per mile, plus speed, from distance and time. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"distance": {
"description": "Distance covered",
"type": [
"number",
"string"
]
},
"hours": {
"description": "Hours part of the time (default 0)",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"minutes": {
"description": "Minutes part of the time (default 0)",
"type": [
"number",
"string"
]
},
"seconds": {
"description": "Seconds part of the time (default 0)",
"type": [
"number",
"string"
]
},
"unit": {
"description": "Distance unit (default km)",
"enum": [
"km",
"mi"
],
"type": "string"
}
},
"required": [
"distance"
],
"type": "object"
},
"name": "pace_calculator",
"outputSchema": null
},
{
"description": "Generate a cryptographically strong random password with configurable length and character sets. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"digits": {
"description": "Include 0–9 (default true)",
"type": "boolean"
},
"length": {
"description": "Password length, 1–256 (default 20)",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"lowercase": {
"description": "Include a–z (default true)",
"type": "boolean"
},
"symbols": {
"description": "Include !@#… (default true)",
"type": "boolean"
},
"uppercase": {
"description": "Include A–Z (default true)",
"type": "boolean"
}
},
"required": [],
"type": "object"
},
"name": "password_generator",
"outputSchema": null
},
{
"description": "Percentage operations. operation=percent_of: a% of b. operation=is_what_percent: a is what % of b. operation=change: percent change from a to b. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"a": {
"description": "First number",
"type": [
"number",
"string"
]
},
"b": {
"description": "Second number",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"operation": {
"description": "Which calculation",
"enum": [
"percent_of",
"is_what_percent",
"change"
],
"type": "string"
}
},
"required": [
"operation",
"a",
"b"
],
"type": "object"
},
"name": "percentage_calculator",
"outputSchema": null
},
{
"description": "Convert a value between pressure units. Units: Pa (Pascal), kPa (Kilopascal), hPa (Hectopascal), bar (Bar), atm (Atmosphere), psi (Pound per sq inch), mmHg (Millimeter of mercury), inHg (Inch of mercury). Calculation runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from": {
"description": "Source unit id",
"enum": [
"Pa",
"kPa",
"hPa",
"bar",
"atm",
"psi",
"mmHg",
"inHg"
],
"type": "string"
},
"locale": {
"description": "Language for source_url (en, de, es, fr, it, nl, uk)",
"type": "string"
},
"to": {
"description": "Target unit id",
"enum": [
"Pa",
"kPa",
"hPa",
"bar",
"atm",
"psi",
"mmHg",
"inHg"
],
"type": "string"
},
"value": {
"description": "Amount to convert",
"type": [
"number",
"string"
]
}
},
"required": [
"value",
"from",
"to"
],
"type": "object"
},
"name": "pressure_converter",
"outputSchema": null
},
{
"description": "Generate cryptographically random integers in a range, optionally unique and sorted. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"count": {
"description": "How many numbers to generate (default 1, max 10000)",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"max": {
"description": "Highest value (inclusive)",
"type": [
"number",
"string"
]
},
"min": {
"description": "Lowest value (inclusive)",
"type": [
"number",
"string"
]
},
"sorted": {
"description": "Sort ascending (default false)",
"type": "boolean"
},
"unique": {
"description": "No repeats (default false)",
"type": "boolean"
}
},
"required": [
"min",
"max"
],
"type": "object"
},
"name": "random_number_generator",
"outputSchema": null
},
{
"description": "Test a JavaScript regular expression against text and return every match with its captured groups. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"flags": {
"description": "Regex flags, any of gimsuy (default g)",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"pattern": {
"description": "The regular expression source (no delimiters)",
"type": "string"
},
"text": {
"description": "The text to test against",
"type": "string"
}
},
"required": [
"pattern",
"text"
],
"type": "object"
},
"name": "regex_tester",
"outputSchema": null
},
{
"description": "Remove duplicate lines, with optional trim, case-insensitive matching, sorting or keeping only the duplicated lines. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"ignore_case": {
"description": "Match case-insensitively (default false)",
"type": "boolean"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"only_duplicates": {
"description": "Keep only lines that appeared more than once (default false)",
"type": "boolean"
},
"sort": {
"description": "Sort the result (default false)",
"type": "boolean"
},
"text": {
"description": "Input lines",
"type": "string"
},
"trim": {
"description": "Trim whitespace on each line (default true)",
"type": "boolean"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "remove_duplicates",
"outputSchema": null
},
{
"description": "Build a robots.txt: allow or block all, custom disallow paths, AI-crawler blocking, crawl-delay and sitemap. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"access": {
"description": "allow all, block all, or custom (default allow)",
"enum": [
"allow",
"block",
"custom"
],
"type": "string"
},
"block_ai": {
"description": "Also block common AI crawlers (default false)",
"type": "boolean"
},
"crawl_delay": {
"description": "Crawl-delay in seconds (optional)",
"type": [
"number",
"string"
]
},
"disallow": {
"description": "Paths to disallow (used when access=custom)",
"items": {
"type": "string"
},
"type": "array"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"sitemap": {
"description": "Sitemap URL (optional)",
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "robots_txt_generator",
"outputSchema": null
},
{
"description": "Convert pay between hourly, daily, weekly, biweekly, monthly and annual. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"amount": {
"description": "Pay amount",
"type": [
"number",
"string"
]
},
"hours_per_week": {
"description": "Working hours per week (default 40)",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"period": {
"description": "Period the amount refers to",
"enum": [
"hourly",
"daily",
"weekly",
"biweekly",
"monthly",
"annual"
],
"type": "string"
},
"weeks_per_year": {
"description": "Paid weeks per year (default 52)",
"type": [
"number",
"string"
]
}
},
"required": [
"amount",
"period"
],
"type": "object"
},
"name": "salary_calculator",
"outputSchema": null
},
{
"description": "Evaluate a math expression with correct order of operations: + - * / % ^, parentheses, and functions (sqrt, sin, cos, tan, ln, log, exp, min, max, factorial via !). Constants pi, e. Angles in radians. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"expression": {
"description": "Math expression, e.g. \"2+3*sqrt(16)\" or \"sin(pi/6)\". Operators + - * / % ^ (% is remainder, ^ is power), functions sqrt/cbrt/abs/ln/log/log2/exp/sin/cos/tan/asin/acos/atan/sinh/cosh/tanh/round/floor/ceil/sign/deg/rad/min/max/mod/pow/hypot, factorial via trailing !, constants pi/e/tau. Angles in radians.",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
}
},
"required": [
"expression"
],
"type": "object"
},
"name": "scientific_calculator",
"outputSchema": null
},
{
"description": "Turn text (incl. Ukrainian and accented Latin) into a clean URL slug; each non-empty line becomes its own slug. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"separator": {
"description": "Word separator, - (default) or _",
"enum": [
"-",
"_"
],
"type": "string"
},
"text": {
"description": "Text to slugify (one slug per line)",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "slug_generator",
"outputSchema": null
},
{
"description": "Convert a value between speed units. Units: m/s (Meter per second), km/h (Kilometer per hour), mph (Mile per hour), ft/s (Foot per second), kn (Knot). Calculation runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from": {
"description": "Source unit id",
"enum": [
"m/s",
"km/h",
"mph",
"ft/s",
"kn"
],
"type": "string"
},
"locale": {
"description": "Language for source_url (en, de, es, fr, it, nl, uk)",
"type": "string"
},
"to": {
"description": "Target unit id",
"enum": [
"m/s",
"km/h",
"mph",
"ft/s",
"kn"
],
"type": "string"
},
"value": {
"description": "Amount to convert",
"type": [
"number",
"string"
]
}
},
"required": [
"value",
"from",
"to"
],
"type": "object"
},
"name": "speed_converter",
"outputSchema": null
},
{
"description": "Mean, variance and standard deviation (both sample and population) of a list of numbers. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"values": {
"description": "The data set (at least 2 numbers)",
"items": {
"type": [
"number",
"string"
]
},
"type": "array"
}
},
"required": [
"values"
],
"type": "object"
},
"name": "standard_deviation_calculator",
"outputSchema": null
},
{
"description": "IPv4 subnet details: network, broadcast, mask, wildcard, host range and count for an IP and prefix. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"ip": {
"description": "IPv4 address, optionally with /prefix (e.g. 10.0.0.1 or 10.0.0.1/8)",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"prefix": {
"description": "CIDR prefix 0–32 (ignored if given in ip)",
"type": [
"number",
"string"
]
}
},
"required": [
"ip"
],
"type": "object"
},
"name": "subnet_calculator",
"outputSchema": null
},
{
"description": "Convert a pasted HTML <table> or delimited (tab/semicolon/comma) table into clean CSV. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"text": {
"description": "An HTML <table> or delimited table text",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "table_to_csv",
"outputSchema": null
},
{
"description": "Convert a value between temperature units. Units: °C (Celsius), °F (Fahrenheit), K (Kelvin), °R (Rankine). Calculation runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from": {
"description": "Source unit id",
"enum": [
"°C",
"°F",
"K",
"°R"
],
"type": "string"
},
"locale": {
"description": "Language for source_url (en, de, es, fr, it, nl, uk)",
"type": "string"
},
"to": {
"description": "Target unit id",
"enum": [
"°C",
"°F",
"K",
"°R"
],
"type": "string"
},
"value": {
"description": "Amount to convert",
"type": [
"number",
"string"
]
}
},
"required": [
"value",
"from",
"to"
],
"type": "object"
},
"name": "temperature_converter",
"outputSchema": null
},
{
"description": "Count characters (with and without spaces), words, lines, paragraphs and estimated reading time. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"text": {
"description": "Text to measure",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "text_counter",
"outputSchema": null
},
{
"description": "Line-level diff of two texts (LCS): counts of added/removed lines plus a marked-up line list. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"a": {
"description": "First (original) text",
"type": "string"
},
"b": {
"description": "Second (changed) text",
"type": "string"
},
"ignore_case": {
"description": "Compare case-insensitively (default false)",
"type": "boolean"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"trim": {
"description": "Trim each line before comparing (default true)",
"type": "boolean"
}
},
"required": [
"a",
"b"
],
"type": "object"
},
"name": "text_diff",
"outputSchema": null
},
{
"description": "Convert a value between time units. Units: µs (Microsecond), ms (Millisecond), s (Second), min (Minute), h (Hour), d (Day), wk (Week), mo (Month), yr (Year). Calculation runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from": {
"description": "Source unit id",
"enum": [
"µs",
"ms",
"s",
"min",
"h",
"d",
"wk",
"mo",
"yr"
],
"type": "string"
},
"locale": {
"description": "Language for source_url (en, de, es, fr, it, nl, uk)",
"type": "string"
},
"to": {
"description": "Target unit id",
"enum": [
"µs",
"ms",
"s",
"min",
"h",
"d",
"wk",
"mo",
"yr"
],
"type": "string"
},
"value": {
"description": "Amount to convert",
"type": [
"number",
"string"
]
}
},
"required": [
"value",
"from",
"to"
],
"type": "object"
},
"name": "time_converter",
"outputSchema": null
},
{
"description": "Convert between a Unix timestamp and an ISO 8601 date (UTC). direction=to_date: epoch → date; to_timestamp: date → epoch. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"direction": {
"description": "to_date: epoch → ISO; to_timestamp: date string → epoch. Auto-detected if omitted.",
"enum": [
"to_date",
"to_timestamp"
],
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"value": {
"description": "Epoch (seconds or ms) for to_date, or an ISO/date string for to_timestamp",
"type": [
"string",
"number"
]
}
},
"required": [
"value"
],
"type": "object"
},
"name": "timestamp_converter",
"outputSchema": null
},
{
"description": "Tip amount, total and per-person split for a bill. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"bill": {
"description": "Bill amount",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"people": {
"description": "Number of people to split between (default 1)",
"type": [
"number",
"string"
]
},
"tip_rate": {
"description": "Tip, percent",
"type": [
"number",
"string"
]
}
},
"required": [
"bill",
"tip_rate"
],
"type": "object"
},
"name": "tip_calculator",
"outputSchema": null
},
{
"description": "Transliterate Ukrainian Cyrillic to Latin by the official KMU #55 passport standard. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"text": {
"description": "Ukrainian text to transliterate",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "transliteration",
"outputSchema": null
},
{
"description": "Solve a triangle. mode=sss: three sides a,b,c. mode=sas: two sides a,b and the included angle angle_c (degrees). Returns sides, angles (degrees), area and perimeter. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"a": {
"description": "Side a",
"type": [
"number",
"string"
]
},
"angle_c": {
"description": "Included angle C in degrees (mode sas)",
"type": [
"number",
"string"
]
},
"b": {
"description": "Side b",
"type": [
"number",
"string"
]
},
"c": {
"description": "Side c (mode sss)",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"mode": {
"description": "sss = three sides; sas = two sides + included angle",
"enum": [
"sss",
"sas"
],
"type": "string"
}
},
"required": [
"mode",
"a",
"b"
],
"type": "object"
},
"name": "triangle_calculator",
"outputSchema": null
},
{
"description": "Compare price per unit of two packs and report which is cheaper. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"price_a": {
"description": "Price of pack A",
"type": [
"number",
"string"
]
},
"price_b": {
"description": "Price of pack B",
"type": [
"number",
"string"
]
},
"quantity_a": {
"description": "Quantity in pack A",
"type": [
"number",
"string"
]
},
"quantity_b": {
"description": "Quantity in pack B",
"type": [
"number",
"string"
]
}
},
"required": [
"price_a",
"quantity_a",
"price_b",
"quantity_b"
],
"type": "object"
},
"name": "unit_price_calculator",
"outputSchema": null
},
{
"description": "Percent-encode or decode a URL. mode=component escapes /?&= (for a value); mode=full keeps them (for a whole address). Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"direction": {
"description": "encode (default) or decode",
"enum": [
"encode",
"decode"
],
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"mode": {
"description": "component (default) uses encodeURIComponent; full uses encodeURI",
"enum": [
"component",
"full"
],
"type": "string"
},
"text": {
"description": "Text or URL to encode/decode",
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"name": "url_encoder",
"outputSchema": null
},
{
"description": "Append encoded UTM campaign parameters to a URL, preserving any existing query and fragment. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"campaign": {
"description": "utm_campaign, e.g. spring_sale",
"type": "string"
},
"content": {
"description": "utm_content (optional)",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"medium": {
"description": "utm_medium, e.g. cpc",
"type": "string"
},
"source": {
"description": "utm_source, e.g. google",
"type": "string"
},
"term": {
"description": "utm_term (optional)",
"type": "string"
},
"url": {
"description": "Base URL, e.g. https://example.com/landing",
"type": "string"
}
},
"required": [
"url",
"source",
"medium",
"campaign"
],
"type": "object"
},
"name": "utm_builder",
"outputSchema": null
},
{
"description": "Generate one or more random version 4 (RFC 4122) UUIDs. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"count": {
"description": "How many UUIDs to generate, 1–1000 (default 1)",
"type": [
"number",
"string"
]
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
}
},
"required": [],
"type": "object"
},
"name": "uuid_generator",
"outputSchema": null
},
{
"description": "Add VAT to a net amount or remove it from a gross amount. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"amount": {
"description": "The amount",
"type": [
"number",
"string"
]
},
"direction": {
"description": "add: amount is net → gross; remove: amount is gross → net (default add)",
"enum": [
"add",
"remove"
],
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
},
"rate": {
"description": "VAT rate, percent",
"type": [
"number",
"string"
]
}
},
"required": [
"amount",
"rate"
],
"type": "object"
},
"name": "vat_calculator",
"outputSchema": null
},
{
"description": "Convert a value between volume units. Units: m³ (Cubic meter), L (Liter), mL (Milliliter), gal_us (US gallon), gal_uk (UK gallon), qt (US quart), pt_us (US pint), pt_uk (UK pint), cup (US cup), fl oz (US fluid ounce). Calculation runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from": {
"description": "Source unit id",
"enum": [
"m³",
"L",
"mL",
"gal_us",
"gal_uk",
"qt",
"pt_us",
"pt_uk",
"cup",
"fl oz"
],
"type": "string"
},
"locale": {
"description": "Language for source_url (en, de, es, fr, it, nl, uk)",
"type": "string"
},
"to": {
"description": "Target unit id",
"enum": [
"m³",
"L",
"mL",
"gal_us",
"gal_uk",
"qt",
"pt_us",
"pt_uk",
"cup",
"fl oz"
],
"type": "string"
},
"value": {
"description": "Amount to convert",
"type": [
"number",
"string"
]
}
},
"required": [
"value",
"from",
"to"
],
"type": "object"
},
"name": "volume_converter",
"outputSchema": null
},
{
"description": "Compute the WCAG 2.x contrast ratio between two hex colors and whether it passes AA/AAA for normal and large text. Runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"background": {
"description": "Background colour as hex, e.g. #ffffff",
"type": "string"
},
"foreground": {
"description": "Text colour as hex, e.g. #767676",
"type": "string"
},
"locale": {
"description": "Language for the source_url link (default en)",
"enum": [
"en",
"de",
"es",
"fr",
"it",
"nl",
"uk"
],
"type": "string"
}
},
"required": [
"foreground",
"background"
],
"type": "object"
},
"name": "wcag_contrast_checker",
"outputSchema": null
},
{
"description": "Convert a value between weight units. Units: t (Tonne), kg (Kilogram), g (Gram), mg (Milligram), lb (Pound), oz (Ounce), st (Stone). Calculation runs on smart-tools.xyz.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"from": {
"description": "Source unit id",
"enum": [
"t",
"kg",
"g",
"mg",
"lb",
"oz",
"st"
],
"type": "string"
},
"locale": {
"description": "Language for source_url (en, de, es, fr, it, nl, uk)",
"type": "string"
},
"to": {
"description": "Target unit id",
"enum": [
"t",
"kg",
"g",
"mg",
"lb",
"oz",
"st"
],
"type": "string"
},
"value": {
"description": "Amount to convert",
"type": [
"number",
"string"
]
}
},
"required": [
"value",
"from",
"to"
],
"type": "object"
},
"name": "weight_converter",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:89706fe816531e406967634caa9ae280451d2c5de7b49a343d306cdfbe4d1575 | sha256sum