{"name":"io.github.9thShini/smart-tools","slug":"9thshini-smart-tools","title":"SmartTools","description":"70+ free calculators & converters as MCP tools; each result links to its source page.","url":"https://mcp.market/server/9thshini-smart-tools","rating":null,"grade":"C","score":57,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":20,"ok":20,"last_checked_at":"2026-09-24T07:16:16.230Z","last_ok_at":"2026-09-24T07:16:16.230Z","latency_ms":61},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://smart-tools.xyz/en/mcp","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://smart-tools.xyz/mcp"}],"packages":[],"tools":[{"name":"age_calculator","description":"Exact age in years, months and days between a birth date and a reference date (default: today). Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"birth_date":{"type":"string","description":"Date of birth, YYYY-MM-DD"},"at_date":{"type":"string","description":"Reference date, YYYY-MM-DD (default: today)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["birth_date"],"additionalProperties":false}},{"name":"angle_converter","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["number","string"],"description":"Amount to convert"},"from":{"type":"string","enum":["°","rad","grad","mrad","rev","′","″"],"description":"Source unit id"},"to":{"type":"string","enum":["°","rad","grad","mrad","rev","′","″"],"description":"Target unit id"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"required":["value","from","to"],"additionalProperties":false}},{"name":"area_converter","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["number","string"],"description":"Amount to convert"},"from":{"type":"string","enum":["km²","m²","cm²","mm²","ha","ac","mi²","ft²","yd²","in²"],"description":"Source unit id"},"to":{"type":"string","enum":["km²","m²","cm²","mm²","ha","ac","mi²","ft²","yd²","in²"],"description":"Target unit id"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"required":["value","from","to"],"additionalProperties":false}},{"name":"aspect_ratio_calculator","description":"Simplify a width×height ratio and scale to a new width or height. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"width":{"type":["number","string"],"description":"Original width"},"height":{"type":["number","string"],"description":"Original height"},"new_width":{"type":["number","string"],"description":"Optional: target width → returns matching height"},"new_height":{"type":["number","string"],"description":"Optional: target height → returns matching width"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["width","height"],"additionalProperties":false}},{"name":"base64","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to encode, or Base64 to decode"},"direction":{"type":"string","enum":["encode","decode"],"description":"encode (default) or decode"},"url_safe":{"type":"boolean","description":"Use URL-safe alphabet (-_ instead of +/, no padding). Default false"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"bmi_calculator","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"system":{"type":"string","enum":["metric","imperial"],"description":"Unit system (default metric)"},"weight_kg":{"type":["number","string"],"description":"Weight in kg (metric)"},"height_cm":{"type":["number","string"],"description":"Height in cm (metric)"},"weight_lb":{"type":["number","string"],"description":"Weight in lb (imperial)"},"height_ft":{"type":["number","string"],"description":"Height feet part (imperial)"},"height_in":{"type":["number","string"],"description":"Height inches part (imperial, default 0)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":[],"additionalProperties":false}},{"name":"bmr_calculator","description":"Basal metabolic rate (Mifflin–St Jeor) and daily calories (TDEE = BMR × activity). Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sex":{"type":"string","enum":["m","f"],"description":"Biological sex"},"age":{"type":["number","string"],"description":"Age in years"},"height_cm":{"type":["number","string"],"description":"Height in cm"},"weight_kg":{"type":["number","string"],"description":"Weight in kg"},"activity":{"type":["number","string"],"description":"Activity multiplier: 1.2 sedentary, 1.375 light, 1.55 moderate, 1.725 active, 1.9 very active (default 1.2)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["sex","age","height_cm","weight_kg"],"additionalProperties":false}},{"name":"body_fat_calculator","description":"Body fat percentage by the US Navy (Hodgdon–Beckett) method, metric measurements in cm. Females require hip_cm. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sex":{"type":"string","enum":["m","f"],"description":"Biological sex"},"height_cm":{"type":["number","string"],"description":"Height in cm"},"neck_cm":{"type":["number","string"],"description":"Neck circumference in cm"},"waist_cm":{"type":["number","string"],"description":"Waist circumference in cm"},"hip_cm":{"type":["number","string"],"description":"Hip circumference in cm (required for female)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["sex","height_cm","neck_cm","waist_cm"],"additionalProperties":false}},{"name":"case_converter","description":"Convert text to UPPER, lower, Title, Sentence, camelCase, PascalCase, snake_case, kebab-case or CONSTANT_CASE. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to convert"},"case":{"type":"string","enum":["upper","lower","title","sentence","camel","pascal","snake","kebab","constant"],"description":"Target case"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text","case"],"additionalProperties":false}},{"name":"color_converter","description":"Convert a color between HEX, RGB and HSL. Accepts #hex, rgb()/rgba(), hsl()/hsla(). Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"color":{"type":"string","description":"Color in any of: #1a7f5a, rgb(26,127,90), hsl(154,66%,30%)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["color"],"additionalProperties":false}},{"name":"compound_interest_calculator","description":"Future balance and interest earned: A = P(1 + r/n)^(nt). Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"principal":{"type":["number","string"],"description":"Starting amount"},"annual_rate":{"type":["number","string"],"description":"Annual rate, percent"},"years":{"type":["number","string"],"description":"Number of years"},"compounds_per_year":{"type":["number","string"],"description":"Compounding periods per year (default 12)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["principal","annual_rate","years"],"additionalProperties":false}},{"name":"cron_parser","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"expression":{"type":"string","description":"Cron expression, e.g. \"*/15 9-17 * * 1-5\" (aliases like @daily accepted)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["expression"],"additionalProperties":false}},{"name":"csv_to_json","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"CSV/TSV text to convert"},"has_header":{"type":["boolean","string"],"description":"Treat the first row as column names (default true); if false, columns are named col1, col2, …"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"csv_to_sql","description":"Turn CSV/TSV rows into SQL INSERT statements with standard double-quoted identifiers and escaped values. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"CSV/TSV text to convert"},"table_name":{"type":"string","description":"Target table name (default my_table)"},"has_header":{"type":["boolean","string"],"description":"Use the first row as column names (default true); if false, columns are named col1, col2, …"},"batch_size":{"type":["number","string"],"description":"Rows per INSERT statement (default 50)"},"nulls":{"type":["boolean","string"],"description":"Emit NULL for empty cells (default true)"},"quote_all":{"type":["boolean","string"],"description":"Quote every value, even numeric ones (default false)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"data_converter","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["number","string"],"description":"Amount to convert"},"from":{"type":"string","enum":["bit","B","kB","MB","GB","TB","KiB","MiB","GiB","TiB"],"description":"Source unit id"},"to":{"type":"string","enum":["bit","B","kB","MB","GB","TB","KiB","MiB","GiB","TiB"],"description":"Target unit id"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"required":["value","from","to"],"additionalProperties":false}},{"name":"date_difference_calculator","description":"Difference between two dates: calendar years/months/days, total days, weeks and weekday count. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"start_date":{"type":"string","description":"Start date, YYYY-MM-DD"},"end_date":{"type":"string","description":"End date, YYYY-MM-DD"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["start_date","end_date"],"additionalProperties":false}},{"name":"discount_calculator","description":"Final price after one or two successive discounts, plus amount saved. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"price":{"type":["number","string"],"description":"Original price"},"discount":{"type":["number","string"],"description":"Discount, percent"},"second_discount":{"type":["number","string"],"description":"Optional second discount applied to the already-reduced price, percent"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["price","discount"],"additionalProperties":false}},{"name":"due_date_calculator","description":"Estimated due date by Naegele's rule (+280 days from last period, adjusted for cycle length). Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"last_period":{"type":"string","description":"First day of last menstrual period, YYYY-MM-DD"},"cycle_length":{"type":["number","string"],"description":"Average cycle length in days (default 28)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["last_period"],"additionalProperties":false}},{"name":"electricity_cost_calculator","description":"Running cost of an appliance per day, month and year from its wattage. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"power_watts":{"type":["number","string"],"description":"Power draw in watts"},"hours_per_day":{"type":["number","string"],"description":"Hours used per day"},"price_per_kwh":{"type":["number","string"],"description":"Electricity price per kWh"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["power_watts","hours_per_day","price_per_kwh"],"additionalProperties":false}},{"name":"energy_converter","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["number","string"],"description":"Amount to convert"},"from":{"type":"string","enum":["J","kJ","cal","kcal","Wh","kWh","BTU","ft·lb","eV"],"description":"Source unit id"},"to":{"type":"string","enum":["J","kJ","cal","kcal","Wh","kWh","BTU","ft·lb","eV"],"description":"Target unit id"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"required":["value","from","to"],"additionalProperties":false}},{"name":"file_hash","description":"Compute a SHA-1/256/384/512 hex checksum of provided text or base64 bytes. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"UTF-8 text to hash (provide text or data)"},"data":{"type":"string","description":"Base64-encoded bytes to hash (provide text or data)"},"algorithm":{"type":"string","enum":["SHA-1","SHA-256","SHA-384","SHA-512"],"description":"Hash algorithm (default SHA-256)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":[],"additionalProperties":false}},{"name":"fraction_calculator","description":"Exact arithmetic on two fractions (a/b op c/d), reduced to lowest terms. op is one of + - * /. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"a":{"type":["number","string"],"description":"Numerator of first fraction (integer)"},"b":{"type":["number","string"],"description":"Denominator of first fraction (integer)"},"operator":{"type":"string","enum":["+","-","*","/"],"description":"Operation"},"c":{"type":["number","string"],"description":"Numerator of second fraction (integer)"},"d":{"type":["number","string"],"description":"Denominator of second fraction (integer)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["a","b","operator","c","d"],"additionalProperties":false}},{"name":"fuel_cost_calculator","description":"Fuel needed and trip cost. system=metric: distance km, consumption L/100km. system=imperial: distance miles, consumption mpg. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"distance":{"type":["number","string"],"description":"Trip distance"},"consumption":{"type":["number","string"],"description":"L/100km (metric) or mpg (imperial)"},"fuel_price":{"type":["number","string"],"description":"Price per litre or per gallon"},"system":{"type":"string","enum":["metric","imperial"],"description":"Unit system (default metric)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["distance","consumption","fuel_price"],"additionalProperties":false}},{"name":"gitignore_generator","description":"Build a .gitignore from curated templates for Node, Python, Go, Rust, macOS, VS Code and more. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"technologies":{"type":"array","items":{"type":"string"},"description":"Stacks to include. Any of: \"Node\", \"Python\", \"Java\", \"Go\", \"Rust\", \"PHP\", \"React / Vite\", \"macOS\", \"Windows\", \"Linux\", \"VS Code\", \"JetBrains\""},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["technologies"],"additionalProperties":false}},{"name":"gpa_calculator","description":"Weighted grade point average from letter grades (US 4.0 scale, +/-) or numeric grade points and credit hours. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"courses":{"type":"array","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":{"type":"object","properties":{"grade":{"type":["string","number"],"description":"Letter grade or grade points"},"credits":{"type":["number","string"],"description":"Credit hours (default 1)"}},"required":["grade"]}},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["courses"],"additionalProperties":false}},{"name":"gradient_generator","description":"Build a CSS linear or radial gradient background declaration from two or more colors. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"type":{"type":"string","enum":["linear","radial"],"description":"Gradient type (default linear)"},"angle":{"type":["number","string"],"description":"Angle in degrees for linear gradients, 0–360 (default 90)"},"colors":{"type":"array","items":{"type":"string"},"description":"Color stops, e.g. [\"#1a7f5a\", \"#0d3b66\"] (at least 2)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["colors"],"additionalProperties":false}},{"name":"hash_generator","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"The text to hash"},"algorithm":{"type":"string","enum":["SHA-1","SHA-256","SHA-384","SHA-512"],"description":"Hash algorithm (default SHA-256)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"height_converter","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cm":{"type":["number","string"],"description":"Height in centimetres (give this OR feet/inches)"},"feet":{"type":["number","string"],"description":"Feet part (give this side instead of cm)"},"inches":{"type":["number","string"],"description":"Inches part, used with feet (default 0)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":[],"additionalProperties":false}},{"name":"hours_calculator","description":"Time worked between two clock times (handles overnight), minus a break, with optional pay. Times as HH:MM. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"start":{"type":"string","description":"Start time HH:MM (24h)"},"end":{"type":"string","description":"End time HH:MM (24h)"},"break_minutes":{"type":["number","string"],"description":"Unpaid break in minutes (default 0)"},"hourly_rate":{"type":["number","string"],"description":"Optional pay rate per hour"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["start","end"],"additionalProperties":false}},{"name":"htaccess_generator","description":"Generate Apache .htaccess rules: force HTTPS, www redirect, caching, gzip, hotlink protection and more. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"force_https":{"type":"boolean","description":"Redirect all HTTP to HTTPS (default false)"},"www":{"type":"string","enum":["none","add","remove"],"description":"www redirect: none / add / remove (default none)"},"disable_listing":{"type":"boolean","description":"Disable directory listing (Options -Indexes) (default false)"},"cache":{"type":"boolean","description":"Add browser caching headers (default false)"},"gzip":{"type":"boolean","description":"Compress text responses with mod_deflate (default false)"},"block_hotlink":{"type":"boolean","description":"Block image hotlinking (default false)"},"hotlink_domain":{"type":"string","description":"Your domain for hotlink protection, e.g. example.com"},"error_404":{"type":"string","description":"Custom 404 page path, e.g. /404.html"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":[],"additionalProperties":false}},{"name":"html_entities","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to encode, or HTML with entities to decode"},"direction":{"type":"string","enum":["encode","decode"],"description":"encode (default) or decode"},"encode_all":{"type":"boolean","description":"When encoding, also convert every non-ASCII character to a numeric entity. Default false"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"ideal_weight_calculator","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"sex":{"type":"string","enum":["m","f"],"description":"Biological sex"},"height_cm":{"type":["number","string"],"description":"Height in cm"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["sex","height_cm"],"additionalProperties":false}},{"name":"json_formatter","description":"Validate and pretty-print or minify JSON, reporting the line and column on a parse error. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"JSON text to format"},"action":{"type":"string","enum":["pretty","minify"],"description":"pretty = indented (default); minify = single line"},"indent":{"type":["number","string"],"description":"Spaces per level for pretty (default 2), or \"tab\" for tabs"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"jwt_decoder","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"token":{"type":"string","description":"The JWT (header.payload.signature)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["token"],"additionalProperties":false}},{"name":"layout_fixer","description":"Fix text typed in the wrong keyboard layout between English QWERTY and Ukrainian ЙЦУКЕН. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"The garbled text"},"direction":{"type":"string","enum":["en_to_uk","uk_to_en"],"description":"en_to_uk: text typed on EN layout meant for UK; uk_to_en: the reverse (default en_to_uk)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"length_converter","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["number","string"],"description":"Amount to convert"},"from":{"type":"string","enum":["km","m","cm","mm","µm","mi","yd","ft","in","nmi"],"description":"Source unit id"},"to":{"type":"string","enum":["km","m","cm","mm","µm","mi","yd","ft","in","nmi"],"description":"Target unit id"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"required":["value","from","to"],"additionalProperties":false}},{"name":"loan_calculator","description":"Monthly payment, total repayment and interest for an amortising loan (annuity formula). Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"principal":{"type":["number","string"],"description":"Loan amount"},"annual_rate":{"type":["number","string"],"description":"Annual interest rate, percent"},"years":{"type":["number","string"],"description":"Term in years"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["principal","annual_rate","years"],"additionalProperties":false}},{"name":"lorem_ipsum","description":"Generate placeholder lorem ipsum text by paragraphs, sentences or words. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"count":{"type":["number","string"],"description":"How many units to generate (default 3)"},"unit":{"type":"string","enum":["paragraphs","sentences","words"],"description":"paragraphs (default), sentences or words"},"start_lorem":{"type":"boolean","description":"Begin with the classic 'Lorem ipsum dolor sit amet…' (default true)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":[],"additionalProperties":false}},{"name":"margin_calculator","description":"Profit, margin (share of price) and markup (share of cost) from cost and selling price. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"cost":{"type":["number","string"],"description":"Cost price"},"price":{"type":["number","string"],"description":"Selling price"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["cost","price"],"additionalProperties":false}},{"name":"markdown_table","description":"Build a padded GitHub-flavored Markdown table from CSV/TSV text (first row is the header). Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"CSV/TSV rows; the first row is the header"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"meta_tag_generator","description":"Generate SEO, Open Graph and Twitter Card HTML meta tags for a page. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","description":"Page title"},"description":{"type":"string","description":"Meta description"},"url":{"type":"string","description":"Canonical / og:url"},"site_name":{"type":"string","description":"og:site_name"},"image":{"type":"string","description":"og:image / twitter:image URL"},"twitter_card":{"type":"string","enum":["summary_large_image","summary"],"description":"Twitter card type (default summary_large_image)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["title"],"additionalProperties":false}},{"name":"mortgage_calculator","description":"Monthly mortgage payment including optional down payment, property tax and insurance (PITI). Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"home_price":{"type":["number","string"],"description":"Property price"},"annual_rate":{"type":["number","string"],"description":"Annual interest rate, percent"},"years":{"type":["number","string"],"description":"Term in years"},"down_payment_pct":{"type":["number","string"],"description":"Down payment, percent (default 0)"},"annual_tax":{"type":["number","string"],"description":"Annual property tax (default 0)"},"annual_insurance":{"type":["number","string"],"description":"Annual insurance (default 0)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["home_price","annual_rate","years"],"additionalProperties":false}},{"name":"number_base","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["string","number"],"description":"The integer to convert (may use 0x/0b/0o prefix, spaces or _ as separators)"},"from_base":{"type":["number","string"],"description":"Base of the input, 2–36"},"to_base":{"type":["number","string"],"description":"Base to convert to, 2–36"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["value","from_base"],"additionalProperties":false}},{"name":"pace_calculator","description":"Running pace per km and per mile, plus speed, from distance and time. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"distance":{"type":["number","string"],"description":"Distance covered"},"unit":{"type":"string","enum":["km","mi"],"description":"Distance unit (default km)"},"hours":{"type":["number","string"],"description":"Hours part of the time (default 0)"},"minutes":{"type":["number","string"],"description":"Minutes part of the time (default 0)"},"seconds":{"type":["number","string"],"description":"Seconds part of the time (default 0)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["distance"],"additionalProperties":false}},{"name":"password_generator","description":"Generate a cryptographically strong random password with configurable length and character sets. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"length":{"type":["number","string"],"description":"Password length, 1–256 (default 20)"},"uppercase":{"type":"boolean","description":"Include A–Z (default true)"},"lowercase":{"type":"boolean","description":"Include a–z (default true)"},"digits":{"type":"boolean","description":"Include 0–9 (default true)"},"symbols":{"type":"boolean","description":"Include !@#… (default true)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":[],"additionalProperties":false}},{"name":"percentage_calculator","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"operation":{"type":"string","enum":["percent_of","is_what_percent","change"],"description":"Which calculation"},"a":{"type":["number","string"],"description":"First number"},"b":{"type":["number","string"],"description":"Second number"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["operation","a","b"],"additionalProperties":false}},{"name":"pressure_converter","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["number","string"],"description":"Amount to convert"},"from":{"type":"string","enum":["Pa","kPa","hPa","bar","atm","psi","mmHg","inHg"],"description":"Source unit id"},"to":{"type":"string","enum":["Pa","kPa","hPa","bar","atm","psi","mmHg","inHg"],"description":"Target unit id"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"required":["value","from","to"],"additionalProperties":false}},{"name":"random_number_generator","description":"Generate cryptographically random integers in a range, optionally unique and sorted. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"min":{"type":["number","string"],"description":"Lowest value (inclusive)"},"max":{"type":["number","string"],"description":"Highest value (inclusive)"},"count":{"type":["number","string"],"description":"How many numbers to generate (default 1, max 10000)"},"unique":{"type":"boolean","description":"No repeats (default false)"},"sorted":{"type":"boolean","description":"Sort ascending (default false)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["min","max"],"additionalProperties":false}},{"name":"regex_tester","description":"Test a JavaScript regular expression against text and return every match with its captured groups. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"pattern":{"type":"string","description":"The regular expression source (no delimiters)"},"flags":{"type":"string","description":"Regex flags, any of gimsuy (default g)"},"text":{"type":"string","description":"The text to test against"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["pattern","text"],"additionalProperties":false}},{"name":"remove_duplicates","description":"Remove duplicate lines, with optional trim, case-insensitive matching, sorting or keeping only the duplicated lines. Runs on smart-tools.xyz.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Input lines"},"trim":{"type":"boolean","description":"Trim whitespace on each line (default true)"},"ignore_case":{"type":"boolean","description":"Match case-insensitively (default false)"},"sort":{"type":"boolean","description":"Sort the result (default false)"},"only_duplicates":{"type":"boolean","description":"Keep only lines that appeared more than once (default false)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"robots_txt_generator","description":"Build a robots.txt: allow or block all, custom disallow paths, AI-crawler blocking, crawl-delay and sitemap. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"access":{"type":"string","enum":["allow","block","custom"],"description":"allow all, block all, or custom (default allow)"},"disallow":{"type":"array","items":{"type":"string"},"description":"Paths to disallow (used when access=custom)"},"block_ai":{"type":"boolean","description":"Also block common AI crawlers (default false)"},"crawl_delay":{"type":["number","string"],"description":"Crawl-delay in seconds (optional)"},"sitemap":{"type":"string","description":"Sitemap URL (optional)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":[],"additionalProperties":false}},{"name":"salary_calculator","description":"Convert pay between hourly, daily, weekly, biweekly, monthly and annual. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"amount":{"type":["number","string"],"description":"Pay amount"},"period":{"type":"string","enum":["hourly","daily","weekly","biweekly","monthly","annual"],"description":"Period the amount refers to"},"hours_per_week":{"type":["number","string"],"description":"Working hours per week (default 40)"},"weeks_per_year":{"type":["number","string"],"description":"Paid weeks per year (default 52)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["amount","period"],"additionalProperties":false}},{"name":"scientific_calculator","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"expression":{"type":"string","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."},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["expression"],"additionalProperties":false}},{"name":"slug_generator","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to slugify (one slug per line)"},"separator":{"type":"string","enum":["-","_"],"description":"Word separator, - (default) or _"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"speed_converter","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["number","string"],"description":"Amount to convert"},"from":{"type":"string","enum":["m/s","km/h","mph","ft/s","kn"],"description":"Source unit id"},"to":{"type":"string","enum":["m/s","km/h","mph","ft/s","kn"],"description":"Target unit id"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"required":["value","from","to"],"additionalProperties":false}},{"name":"standard_deviation_calculator","description":"Mean, variance and standard deviation (both sample and population) of a list of numbers. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"values":{"type":"array","items":{"type":["number","string"]},"description":"The data set (at least 2 numbers)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["values"],"additionalProperties":false}},{"name":"subnet_calculator","description":"IPv4 subnet details: network, broadcast, mask, wildcard, host range and count for an IP and prefix. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ip":{"type":"string","description":"IPv4 address, optionally with /prefix (e.g. 10.0.0.1 or 10.0.0.1/8)"},"prefix":{"type":["number","string"],"description":"CIDR prefix 0–32 (ignored if given in ip)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["ip"],"additionalProperties":false}},{"name":"table_to_csv","description":"Convert a pasted HTML <table> or delimited (tab/semicolon/comma) table into clean CSV. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"An HTML <table> or delimited table text"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"temperature_converter","description":"Convert a value between temperature units. Units: °C (Celsius), °F (Fahrenheit), K (Kelvin), °R (Rankine). Calculation runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["number","string"],"description":"Amount to convert"},"from":{"type":"string","enum":["°C","°F","K","°R"],"description":"Source unit id"},"to":{"type":"string","enum":["°C","°F","K","°R"],"description":"Target unit id"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"required":["value","from","to"],"additionalProperties":false}},{"name":"text_counter","description":"Count characters (with and without spaces), words, lines, paragraphs and estimated reading time. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Text to measure"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"text_diff","description":"Line-level diff of two texts (LCS): counts of added/removed lines plus a marked-up line list. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"a":{"type":"string","description":"First (original) text"},"b":{"type":"string","description":"Second (changed) text"},"trim":{"type":"boolean","description":"Trim each line before comparing (default true)"},"ignore_case":{"type":"boolean","description":"Compare case-insensitively (default false)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["a","b"],"additionalProperties":false}},{"name":"time_converter","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["number","string"],"description":"Amount to convert"},"from":{"type":"string","enum":["µs","ms","s","min","h","d","wk","mo","yr"],"description":"Source unit id"},"to":{"type":"string","enum":["µs","ms","s","min","h","d","wk","mo","yr"],"description":"Target unit id"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"required":["value","from","to"],"additionalProperties":false}},{"name":"timestamp_converter","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["string","number"],"description":"Epoch (seconds or ms) for to_date, or an ISO/date string for to_timestamp"},"direction":{"type":"string","enum":["to_date","to_timestamp"],"description":"to_date: epoch → ISO; to_timestamp: date string → epoch. Auto-detected if omitted."},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["value"],"additionalProperties":false}},{"name":"tip_calculator","description":"Tip amount, total and per-person split for a bill. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"bill":{"type":["number","string"],"description":"Bill amount"},"tip_rate":{"type":["number","string"],"description":"Tip, percent"},"people":{"type":["number","string"],"description":"Number of people to split between (default 1)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["bill","tip_rate"],"additionalProperties":false}},{"name":"transliteration","description":"Transliterate Ukrainian Cyrillic to Latin by the official KMU #55 passport standard. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Ukrainian text to transliterate"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"triangle_calculator","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"mode":{"type":"string","enum":["sss","sas"],"description":"sss = three sides; sas = two sides + included angle"},"a":{"type":["number","string"],"description":"Side a"},"b":{"type":["number","string"],"description":"Side b"},"c":{"type":["number","string"],"description":"Side c (mode sss)"},"angle_c":{"type":["number","string"],"description":"Included angle C in degrees (mode sas)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["mode","a","b"],"additionalProperties":false}},{"name":"unit_price_calculator","description":"Compare price per unit of two packs and report which is cheaper. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"price_a":{"type":["number","string"],"description":"Price of pack A"},"quantity_a":{"type":["number","string"],"description":"Quantity in pack A"},"price_b":{"type":["number","string"],"description":"Price of pack B"},"quantity_b":{"type":["number","string"],"description":"Quantity in pack B"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["price_a","quantity_a","price_b","quantity_b"],"additionalProperties":false}},{"name":"url_encoder","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"text":{"type":"string","description":"Text or URL to encode/decode"},"direction":{"type":"string","enum":["encode","decode"],"description":"encode (default) or decode"},"mode":{"type":"string","enum":["component","full"],"description":"component (default) uses encodeURIComponent; full uses encodeURI"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["text"],"additionalProperties":false}},{"name":"utm_builder","description":"Append encoded UTM campaign parameters to a URL, preserving any existing query and fragment. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"url":{"type":"string","description":"Base URL, e.g. https://example.com/landing"},"source":{"type":"string","description":"utm_source, e.g. google"},"medium":{"type":"string","description":"utm_medium, e.g. cpc"},"campaign":{"type":"string","description":"utm_campaign, e.g. spring_sale"},"term":{"type":"string","description":"utm_term (optional)"},"content":{"type":"string","description":"utm_content (optional)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["url","source","medium","campaign"],"additionalProperties":false}},{"name":"uuid_generator","description":"Generate one or more random version 4 (RFC 4122) UUIDs. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"count":{"type":["number","string"],"description":"How many UUIDs to generate, 1–1000 (default 1)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":[],"additionalProperties":false}},{"name":"vat_calculator","description":"Add VAT to a net amount or remove it from a gross amount. Runs on smart-tools.xyz.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"amount":{"type":["number","string"],"description":"The amount"},"rate":{"type":["number","string"],"description":"VAT rate, percent"},"direction":{"type":"string","enum":["add","remove"],"description":"add: amount is net → gross; remove: amount is gross → net (default add)"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["amount","rate"],"additionalProperties":false}},{"name":"volume_converter","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["number","string"],"description":"Amount to convert"},"from":{"type":"string","enum":["m³","L","mL","gal_us","gal_uk","qt","pt_us","pt_uk","cup","fl oz"],"description":"Source unit id"},"to":{"type":"string","enum":["m³","L","mL","gal_us","gal_uk","qt","pt_us","pt_uk","cup","fl oz"],"description":"Target unit id"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"required":["value","from","to"],"additionalProperties":false}},{"name":"wcag_contrast_checker","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"foreground":{"type":"string","description":"Text colour as hex, e.g. #767676"},"background":{"type":"string","description":"Background colour as hex, e.g. #ffffff"},"locale":{"type":"string","enum":["en","de","es","fr","it","nl","uk"],"description":"Language for the source_url link (default en)"}},"required":["foreground","background"],"additionalProperties":false}},{"name":"weight_converter","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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"value":{"type":["number","string"],"description":"Amount to convert"},"from":{"type":"string","enum":["t","kg","g","mg","lb","oz","st"],"description":"Source unit id"},"to":{"type":"string","enum":["t","kg","g","mg","lb","oz","st"],"description":"Target unit id"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"required":["value","from","to"],"additionalProperties":false}}],"scan":{"score":57,"grade":"C","scanned_at":"2026-09-23T11:53:22.421Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-23T11:53:22.296Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 432ms"]},"poisoning":{"score":15,"max":15,"notes":["74 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 1 write-action tools with no auth"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":2,"max":10,"notes":["no repository or website to verify"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://smart-tools.xyz/mcp","reachable":true,"authRequired":false,"latencyMs":432,"serverInfo":{"name":"SmartTools","version":"1.0.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://smart-tools.xyz/assets/favicon.svg","source":"site"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}