{"serverId":"mcp-registry/io.github.9thshini/smart-tools","tools":[{"name":"angle_converter","fixed":{"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.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"enum":["°","rad","grad","mrad","rev","′","″"],"type":"string","description":"Target unit id"},"from":{"enum":["°","rad","grad","mrad","rev","′","″"],"type":"string","description":"Source unit id"},"value":{"type":["number","string"],"description":"Amount to convert"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Angle converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":197,"tokensAfter":197},{"name":"area_converter","fixed":{"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.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"enum":["km²","m²","cm²","mm²","ha","ac","mi²","ft²","yd²","in²"],"type":"string","description":"Target unit id"},"from":{"enum":["km²","m²","cm²","mm²","ha","ac","mi²","ft²","yd²","in²"],"type":"string","description":"Source unit id"},"value":{"type":["number","string"],"description":"Amount to convert"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Area converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":232,"tokensAfter":232},{"name":"case_converter","fixed":{"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.","inputSchema":{"type":"object","required":["text","case"],"properties":{"case":{"enum":["upper","lower","title","sentence","camel","pascal","snake","kebab","constant"],"type":"string","description":"Target case"},"text":{"type":"string","description":"Text to convert"},"locale":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Case converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":170,"tokensAfter":170},{"name":"color_converter","fixed":{"name":"color_converter","description":"Convert a color between HEX, RGB and HSL. Accepts #hex, rgb()/rgba(), hsl()/hsla(). Runs on smart-tools.xyz.","inputSchema":{"type":"object","required":["color"],"properties":{"color":{"type":"string","description":"Color in any of: #1a7f5a, rgb(26,127,90), hsl(154,66%,30%)"},"locale":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Color converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":134,"tokensAfter":134},{"name":"csv_to_json","fixed":{"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.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"CSV/TSV text to convert"},"locale":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"},"has_header":{"type":["boolean","string"],"description":"Treat the first row as column names (default true); if false, columns are named col1, col2, …"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"CSV to JSON converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":175,"tokensAfter":175},{"name":"csv_to_sql","fixed":{"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.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"CSV/TSV text to convert"},"nulls":{"type":["boolean","string"],"description":"Emit NULL for empty cells (default true)"},"locale":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"},"quote_all":{"type":["boolean","string"],"description":"Quote every value, even numeric ones (default false)"},"batch_size":{"type":["number","string"],"description":"Rows per INSERT statement (default 50)"},"has_header":{"type":["boolean","string"],"description":"Use the first row as column names (default true); if false, columns are named col1, col2, …"},"table_name":{"type":"string","description":"Target table name (default my_table)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"CSV to SQL converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":278,"tokensAfter":278},{"name":"data_converter","fixed":{"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.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"enum":["bit","B","kB","MB","GB","TB","KiB","MiB","GiB","TiB"],"type":"string","description":"Target unit id"},"from":{"enum":["bit","B","kB","MB","GB","TB","KiB","MiB","GiB","TiB"],"type":"string","description":"Source unit id"},"value":{"type":["number","string"],"description":"Amount to convert"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Data converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":217,"tokensAfter":217},{"name":"energy_converter","fixed":{"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.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"enum":["J","kJ","cal","kcal","Wh","kWh","BTU","ft·lb","eV"],"type":"string","description":"Target unit id"},"from":{"enum":["J","kJ","cal","kcal","Wh","kWh","BTU","ft·lb","eV"],"type":"string","description":"Source unit id"},"value":{"type":["number","string"],"description":"Amount to convert"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Energy converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":222,"tokensAfter":222},{"name":"file_hash","fixed":{"name":"file_hash","description":"Compute a SHA-1/256/384/512 hex checksum of provided text or base64 bytes. Runs on smart-tools.xyz.","inputSchema":{"type":"object","required":[],"properties":{"data":{"type":"string","description":"Base64-encoded bytes to hash (provide text or data)"},"text":{"type":"string","description":"UTF-8 text to hash (provide text or data)"},"locale":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"},"algorithm":{"enum":["SHA-1","SHA-256","SHA-384","SHA-512"],"type":"string","description":"Hash algorithm (default SHA-256)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"File hash / checksum"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":184,"tokensAfter":184},{"name":"height_converter","fixed":{"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.","inputSchema":{"type":"object","required":[],"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":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Height converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":195,"tokensAfter":195},{"name":"length_converter","fixed":{"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.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"enum":["km","m","cm","mm","µm","mi","yd","ft","in","nmi"],"type":"string","description":"Target unit id"},"from":{"enum":["km","m","cm","mm","µm","mi","yd","ft","in","nmi"],"type":"string","description":"Source unit id"},"value":{"type":["number","string"],"description":"Amount to convert"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Length converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":215,"tokensAfter":215},{"name":"number_base","fixed":{"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.","inputSchema":{"type":"object","required":["value","from_base"],"properties":{"value":{"type":["string","number"],"description":"The integer to convert (may use 0x/0b/0o prefix, spaces or _ as separators)"},"locale":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"},"to_base":{"type":["number","string"],"description":"Base to convert to, 2–36"},"from_base":{"type":["number","string"],"description":"Base of the input, 2–36"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Number base converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":197,"tokensAfter":197},{"name":"pressure_converter","fixed":{"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.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"enum":["Pa","kPa","hPa","bar","atm","psi","mmHg","inHg"],"type":"string","description":"Target unit id"},"from":{"enum":["Pa","kPa","hPa","bar","atm","psi","mmHg","inHg"],"type":"string","description":"Source unit id"},"value":{"type":["number","string"],"description":"Amount to convert"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Pressure converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":220,"tokensAfter":220},{"name":"remove_duplicates","fixed":{"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.","inputSchema":{"type":"object","required":["text"],"properties":{"sort":{"type":"boolean","description":"Sort the result (default false)"},"text":{"type":"string","description":"Input lines"},"trim":{"type":"boolean","description":"Trim whitespace on each line (default true)"},"locale":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"},"ignore_case":{"type":"boolean","description":"Match case-insensitively (default false)"},"only_duplicates":{"type":"boolean","description":"Keep only lines that appeared more than once (default false)"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true},"title":"Remove duplicate lines"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":232,"tokensAfter":232},{"name":"salary_calculator","fixed":{"name":"salary_calculator","description":"Convert pay between hourly, daily, weekly, biweekly, monthly and annual. Runs on smart-tools.xyz.","inputSchema":{"type":"object","required":["amount","period"],"properties":{"amount":{"type":["number","string"],"description":"Pay amount"},"locale":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"},"period":{"enum":["hourly","daily","weekly","biweekly","monthly","annual"],"type":"string","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)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Salary converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":216,"tokensAfter":216},{"name":"speed_converter","fixed":{"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.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"enum":["m/s","km/h","mph","ft/s","kn"],"type":"string","description":"Target unit id"},"from":{"enum":["m/s","km/h","mph","ft/s","kn"],"type":"string","description":"Source unit id"},"value":{"type":["number","string"],"description":"Amount to convert"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Speed converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":194,"tokensAfter":194},{"name":"table_to_csv","fixed":{"name":"table_to_csv","description":"Convert a pasted HTML <table> or delimited (tab/semicolon/comma) table into clean CSV. Runs on smart-tools.xyz.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"An HTML <table> or delimited table text"},"locale":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Table to CSV converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":129,"tokensAfter":129},{"name":"temperature_converter","fixed":{"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.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"enum":["°C","°F","K","°R"],"type":"string","description":"Target unit id"},"from":{"enum":["°C","°F","K","°R"],"type":"string","description":"Source unit id"},"value":{"type":["number","string"],"description":"Amount to convert"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Temperature converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":177,"tokensAfter":177},{"name":"text_counter","fixed":{"name":"text_counter","description":"Count characters (with and without spaces), words, lines, paragraphs and estimated reading time. Runs on smart-tools.xyz.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","description":"Text to measure"},"locale":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Text counter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":125,"tokensAfter":125},{"name":"time_converter","fixed":{"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.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"enum":["µs","ms","s","min","h","d","wk","mo","yr"],"type":"string","description":"Target unit id"},"from":{"enum":["µs","ms","s","min","h","d","wk","mo","yr"],"type":"string","description":"Source unit id"},"value":{"type":["number","string"],"description":"Amount to convert"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Time converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":202,"tokensAfter":202},{"name":"timestamp_converter","fixed":{"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.","inputSchema":{"type":"object","required":["value"],"properties":{"value":{"type":["string","number"],"description":"Epoch (seconds or ms) for to_date, or an ISO/date string for to_timestamp"},"locale":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"},"direction":{"enum":["to_date","to_timestamp"],"type":"string","description":"to_date: epoch → ISO; to_timestamp: date string → epoch. Auto-detected if omitted."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Unix timestamp converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":199,"tokensAfter":199},{"name":"volume_converter","fixed":{"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.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"enum":["m³","L","mL","gal_us","gal_uk","qt","pt_us","pt_uk","cup","fl oz"],"type":"string","description":"Target unit id"},"from":{"enum":["m³","L","mL","gal_us","gal_uk","qt","pt_us","pt_uk","cup","fl oz"],"type":"string","description":"Source unit id"},"value":{"type":["number","string"],"description":"Amount to convert"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Volume converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":233,"tokensAfter":233},{"name":"wcag_contrast_checker","fixed":{"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.","inputSchema":{"type":"object","required":["foreground","background"],"properties":{"locale":{"enum":["en","de","es","fr","it","nl","uk"],"type":"string","description":"Language for the source_url link (default en)"},"background":{"type":"string","description":"Background colour as hex, e.g. #ffffff"},"foreground":{"type":"string","description":"Text colour as hex, e.g. #767676"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"WCAG contrast checker"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":168,"tokensAfter":168},{"name":"weight_converter","fixed":{"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.","inputSchema":{"type":"object","required":["value","from","to"],"properties":{"to":{"enum":["t","kg","g","mg","lb","oz","st"],"type":"string","description":"Target unit id"},"from":{"enum":["t","kg","g","mg","lb","oz","st"],"type":"string","description":"Source unit id"},"value":{"type":["number","string"],"description":"Amount to convert"},"locale":{"type":"string","description":"Language for source_url (en, de, es, fr, it, nl, uk)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Weight converter"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":190,"tokensAfter":190}],"toolsChanged":24,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}