{"server":"com.toolsthatdontupload/tools","count":50,"changes":[{"tool":"run_tool","kind":"changed","observed_at":"2026-10-15T02:58:32.659Z","fields":["description"],"description_before":"Run a catalog tool by name with an arguments object. Returns the tool result and the external hosts contacted (usually none).","description_after":"Run a catalog tool by name with an arguments object. Returns the tool result and the external hosts contacted (usually none). Errors keep the HTTP status: 400 invalid input, 405 wrong method, 413 input over the size limit (files over 10 MB through MCP, JSON over 2 MiB), 422 a file that cannot be processed (for example an encrypted PDF), 429 quota used up.","description_similarity":0.345,"before_hash":"e59148d839635b9fbec586be29c045f0","after_hash":"12eb0180a32d5a9d1ede58df81c09de0"},{"tool":"list_categories","kind":"changed","observed_at":"2026-10-12T01:20:33.421Z","fields":["title","description","annotations"],"description_before":"List all tool categories with counts. Use to browse available tools.","description_after":"List tool categories with counts and example tool names.","description_similarity":0.357,"before_hash":"9e16373759d2d1b8d7a22791d432b62d","after_hash":"62a081cd206d77a539e215055a0664d0"},{"tool":"run_tool","kind":"changed","observed_at":"2026-10-12T01:20:33.421Z","fields":["title","description","inputSchema","annotations"],"description_before":"Execute any tool by name with arguments. Use search_tools first to find the tool name and required parameters.","description_after":"Run a catalog tool by name with an arguments object. Returns the tool result and the external hosts contacted (usually none).","description_similarity":0.241,"before_hash":"0c552097a7e6f71bcb468340c565e86a","after_hash":"e59148d839635b9fbec586be29c045f0"},{"tool":"search_tools","kind":"changed","observed_at":"2026-10-12T01:20:33.421Z","fields":["title","description","inputSchema","annotations"],"description_before":"Search 499+ API tools by keyword. Returns matching tool names, descriptions, and parameters. Use this first to find the right tool.","description_after":"Search the tool catalog by keyword. Returns matching tool names, descriptions, parameters and a tested example argument object for each.","description_similarity":0.393,"before_hash":"cf17525be7bb9f52ae559f5f5d922762","after_hash":"4fadf73496c21b509d0f7e52b47130d4"},{"tool":"avatar_generate","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate SVG avatar from text","description_after":null,"description_similarity":null,"before_hash":"d38b93dd74268497d342eb4ae1e56b77","after_hash":null},{"tool":"lorem_ipsum","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate lorem ipsum text","description_after":null,"description_similarity":null,"before_hash":"03c27ac616861ae93417c39fb3120689","after_hash":null},{"tool":"uuid_batch","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate multiple UUIDs","description_after":null,"description_similarity":null,"before_hash":"8f6546d88818f06ef68b9b27e7148ca9","after_hash":null},{"tool":"fake_data","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate fake data","description_after":null,"description_similarity":null,"before_hash":"1545bba59095f6faace7136f4bd33b72","after_hash":null},{"tool":"json_to_java","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate Java class from JSON","description_after":null,"description_similarity":null,"before_hash":"a32f2bf95de0d12f04773829f1b87d11","after_hash":null},{"tool":"json_to_kotlin","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate Kotlin data class from JSON","description_after":null,"description_similarity":null,"before_hash":"e3e40d0e7755a89ab79f0044f1d9ec36","after_hash":null},{"tool":"json_to_rust","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate Rust struct from JSON","description_after":null,"description_similarity":null,"before_hash":"8b66725969363bd2708f6df98862926a","after_hash":null},{"tool":"color_palette","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate color palette","description_after":null,"description_similarity":null,"before_hash":"1ced99bfa4793062fc3590bee5000ffa","after_hash":null},{"tool":"color_contrast","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Check WCAG contrast ratio","description_after":null,"description_similarity":null,"before_hash":"d486c41ad605dba0d3ea696ee00b9c10","after_hash":null},{"tool":"color_blend","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Blend two colors","description_after":null,"description_similarity":null,"before_hash":"577366a566132a7545fb3d0cc2cc9fa8","after_hash":null},{"tool":"relative_time","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Get relative time string","description_after":null,"description_similarity":null,"before_hash":"11ffe4293aab291ea83b795104d5e89e","after_hash":null},{"tool":"timezone_convert","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Convert time between timezones","description_after":null,"description_similarity":null,"before_hash":"28cd58549c3401e04c0c52030ba6fd67","after_hash":null},{"tool":"age_calc","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Calculate age from birthdate","description_after":null,"description_similarity":null,"before_hash":"8b3093b5e084ddc1bd18b60237bd2f80","after_hash":null},{"tool":"business_days","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Calculate business days between dates","description_after":null,"description_similarity":null,"before_hash":"06582a7ea973bbd96d0c7ecbe1d8a353","after_hash":null},{"tool":"date_format","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Format date in various styles","description_after":null,"description_similarity":null,"before_hash":"6ccbd464cd9b4604addf5bfd511abc75","after_hash":null},{"tool":"robots_generate","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate robots.txt content","description_after":null,"description_similarity":null,"before_hash":"53f4841ebaa21d1afe80a48f1557c27a","after_hash":null},{"tool":"meta_generate","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate HTML meta tags","description_after":null,"description_similarity":null,"before_hash":"25d46a50ff71830d49eb4e5ae976eb4a","after_hash":null},{"tool":"robots_check","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Check robots.txt for a domain","description_after":null,"description_similarity":null,"before_hash":"1de9d9ca3b496e30636e9cbd2c013199","after_hash":null},{"tool":"phone_validate","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Validate phone number format","description_after":null,"description_similarity":null,"before_hash":"97aee7287ac67e24cbfbebcec66033f3","after_hash":null},{"tool":"url_validate","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Validate URL format","description_after":null,"description_similarity":null,"before_hash":"0ba40fa02450f31571bacac6458859a0","after_hash":null},{"tool":"ip_validate","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Validate IPv4/IPv6 address","description_after":null,"description_similarity":null,"before_hash":"ddded90ca0ec097fcef8d3d3f19382c6","after_hash":null},{"tool":"credit_card_validate","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Validate credit card number (Luhn)","description_after":null,"description_similarity":null,"before_hash":"4808608cf552ad5b44a1b79d588024a3","after_hash":null},{"tool":"math_is_prime","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Check if number is prime","description_after":null,"description_similarity":null,"before_hash":"76000e3cc7dfe3b0f2adab69d327622e","after_hash":null},{"tool":"math_fibonacci","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate Fibonacci sequence","description_after":null,"description_similarity":null,"before_hash":"388bf08fc11bbda743808c41e85a1804","after_hash":null},{"tool":"iban_validate","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Validate IBAN number","description_after":null,"description_similarity":null,"before_hash":"4de3d800fd4ea231bfac5a8e545bbd86","after_hash":null},{"tool":"math_percentage","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Calculate percentage","description_after":null,"description_similarity":null,"before_hash":"1e95b8f34caeb3ae7b37940bf83d2ae9","after_hash":null},{"tool":"math_gcd","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Calculate GCD of two numbers","description_after":null,"description_similarity":null,"before_hash":"0a60f83338ece724a1b24c492ab6a1c4","after_hash":null},{"tool":"math_factorial","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Calculate factorial","description_after":null,"description_similarity":null,"before_hash":"5de5472d8d6e5708fbdaa1d41311b8ed","after_hash":null},{"tool":"json_to_go","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate Go struct from JSON","description_after":null,"description_similarity":null,"before_hash":"75af767cc295eb674e3bbaf768acacff","after_hash":null},{"tool":"json_sort_keys","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Sort JSON keys alphabetically","description_after":null,"description_similarity":null,"before_hash":"c25d183ffef3e4234a83d7f59637b981","after_hash":null},{"tool":"json_to_yaml","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Convert JSON to YAML","description_after":null,"description_similarity":null,"before_hash":"7c65a7f81d80cd934ba21a0ed4d6b76c","after_hash":null},{"tool":"json_diff","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Compare two JSON objects","description_after":null,"description_similarity":null,"before_hash":"f83164ffc392ef504831c44605867574","after_hash":null},{"tool":"text_dedupe","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Remove duplicate lines","description_after":null,"description_similarity":null,"before_hash":"3863e3cf29f3b066cd0e6d15bf171c2f","after_hash":null},{"tool":"text_truncate","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Truncate text to length","description_after":null,"description_similarity":null,"before_hash":"bac2cd33ea9f6f7316a414b1c9f84c0f","after_hash":null},{"tool":"text_slug","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Slugify text","description_after":null,"description_similarity":null,"before_hash":"ce8914d7de0d1b84f8aa23d7cd9da11f","after_hash":null},{"tool":"text_reverse","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Reverse text","description_after":null,"description_similarity":null,"before_hash":"16c34737b67e8f07b2eda3e899043ca8","after_hash":null},{"tool":"yaml_to_json","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Convert YAML to JSON","description_after":null,"description_similarity":null,"before_hash":"8b2b149fd547a90b9024978e1d4f9285","after_hash":null},{"tool":"xml_to_json","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Convert XML to JSON","description_after":null,"description_similarity":null,"before_hash":"b74ba87ce08276998dac16cb78b1a535","after_hash":null},{"tool":"text_case","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Convert text case","description_after":null,"description_similarity":null,"before_hash":"534ebac7d81db0947e8cc7b9d1d2e2e3","after_hash":null},{"tool":"email_validate","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Validate email address format","description_after":null,"description_similarity":null,"before_hash":"e80bf7bfedb820d52d58b847751f70cb","after_hash":null},{"tool":"sitemap_generate","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Generate XML sitemap","description_after":null,"description_similarity":null,"before_hash":"59eb99153165ce90f5fa9170f07c309b","after_hash":null},{"tool":"link_check","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Check if URL is alive","description_after":null,"description_similarity":null,"before_hash":"c33727931efecc2d72e2dcda398d7ce1","after_hash":null},{"tool":"hmac_sign","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Create HMAC signature","description_after":null,"description_similarity":null,"before_hash":"b52f185dd89c1413f8d8209b21bff168","after_hash":null},{"tool":"aes_decrypt","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"AES-GCM decrypt text","description_after":null,"description_similarity":null,"before_hash":"63b2cd610ed405071388d6c5a4adf891","after_hash":null},{"tool":"aes_encrypt","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"AES-GCM encrypt text","description_after":null,"description_similarity":null,"before_hash":"befe82f339ce1e74d5d1beeb4975999c","after_hash":null},{"tool":"password_strength","kind":"removed","observed_at":"2026-10-11T18:56:40.394Z","fields":[],"description_before":"Check password strength","description_after":null,"description_similarity":null,"before_hash":"48534be8ee329815aef81e9b0562805e","after_hash":null}],"next_before":"620049","next_actions":[{"action":"list_changes","description":"Older changes","href":"/v1/servers/com.toolsthatdontupload%2Ftools/changes?before=620049&limit=50"}]}