{"serverId":"mcp-registry/io.tinyfn/tinyfn","tools":[{"name":"add","fixed":{"name":"add","description":"Add two or more numbers together.","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"string","title":"Numbers","description":"Comma-separated numbers to add"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"add_business_days","fixed":{"name":"add_business_days","description":"Add business days to a date.","inputSchema":{"type":"object","required":["start_date","days"],"properties":{"days":{"type":"integer","title":"Days","description":"Business days to add"},"start_date":{"type":"string","title":"Start Date","description":"Start date (YYYY-MM-DD)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"add_query_param","fixed":{"name":"add_query_param","description":"Add a query parameter to a URL.","inputSchema":{"type":"object","required":["url","key","value"],"properties":{"key":{"type":"string","title":"Key","description":"Parameter key"},"url":{"type":"string","title":"Url","description":"URL to modify"},"value":{"type":"string","title":"Value","description":"Parameter value"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"add_time","fixed":{"name":"add_time","description":"Add time to a date.","inputSchema":{"type":"object","required":["date"],"properties":{"date":{"type":"string","title":"Date","description":"Start date (ISO format)"},"days":{"type":"integer","title":"Days","default":0,"description":"Days to add"},"hours":{"type":"integer","title":"Hours","default":0,"description":"Hours to add"},"weeks":{"type":"integer","title":"Weeks","default":0,"description":"Weeks to add"},"minutes":{"type":"integer","title":"Minutes","default":0,"description":"Minutes to add"},"seconds":{"type":"integer","title":"Seconds","default":0,"description":"Seconds to add"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":176,"tokensAfter":176},{"name":"add_time_2","fixed":{"name":"add_time_2","description":"Add time to a datetime.","inputSchema":{"type":"object","required":["datetime_str"],"properties":{"days":{"type":"integer","title":"Days","default":0,"description":"Days to add"},"hours":{"type":"integer","title":"Hours","default":0,"description":"Hours to add"},"minutes":{"type":"integer","title":"Minutes","default":0,"description":"Minutes to add"},"seconds":{"type":"integer","title":"Seconds","default":0,"description":"Seconds to add"},"datetime_str":{"type":"string","title":"Datetime Str","description":"Datetime in ISO format"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":160,"tokensAfter":160},{"name":"adler32_checksum","fixed":{"name":"adler32_checksum","description":"Calculate Adler-32 checksum.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"Text to checksum"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":59,"tokensAfter":59},{"name":"analyze_password","fixed":{"name":"analyze_password","description":"Analyze password strength and characteristics.","inputSchema":{"type":"object","required":["password"],"properties":{"password":{"type":"string","title":"Password","description":"Password to analyze"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"base_convert","fixed":{"name":"base_convert","description":"Convert a number between different bases.","inputSchema":{"type":"object","required":["number","from_base","to_base"],"properties":{"number":{"type":"string","title":"Number","description":"Number to convert"},"to_base":{"type":"integer","title":"To Base","maximum":36,"minimum":2,"description":"Target base"},"from_base":{"type":"integer","title":"From Base","maximum":36,"minimum":2,"description":"Source base"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":127,"tokensAfter":127},{"name":"calculate_age","fixed":{"name":"calculate_age","description":"Calculate age from birthdate.","inputSchema":{"type":"object","required":["birthdate"],"properties":{"birthdate":{"type":"string","title":"Birthdate","description":"Birth date (YYYY-MM-DD)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"calculate_age_2","fixed":{"name":"calculate_age_2","description":"Calculate age from birthdate.","inputSchema":{"type":"object","required":["birthdate"],"properties":{"as_of":{"type":"string","title":"As Of","description":"Calculate age as of date (YYYY-MM-DD)"},"birthdate":{"type":"string","title":"Birthdate","description":"Birthdate (YYYY-MM-DD)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":92,"tokensAfter":92},{"name":"calculate_bearing","fixed":{"name":"calculate_bearing","description":"Calculate bearing (direction) between two coordinates.","inputSchema":{"type":"object","required":["lat1","lon1","lat2","lon2"],"properties":{"lat1":{"type":"number","title":"Lat1","maximum":90,"minimum":-90,"description":"Latitude of start point"},"lat2":{"type":"number","title":"Lat2","maximum":90,"minimum":-90,"description":"Latitude of end point"},"lon1":{"type":"number","title":"Lon1","maximum":180,"minimum":-180,"description":"Longitude of start point"},"lon2":{"type":"number","title":"Lon2","maximum":180,"minimum":-180,"description":"Longitude of end point"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":172,"tokensAfter":172},{"name":"calculate_bmi","fixed":{"name":"calculate_bmi","description":"Calculate Body Mass Index (BMI).","inputSchema":{"type":"object","required":["weight_kg","height_cm"],"properties":{"height_cm":{"type":"number","title":"Height Cm","description":"Height in centimeters","exclusiveMinimum":0},"weight_kg":{"type":"number","title":"Weight Kg","description":"Weight in kilograms","exclusiveMinimum":0}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"calculate_bmr","fixed":{"name":"calculate_bmr","description":"Calculate Basal Metabolic Rate (BMR) using Mifflin-St Jeor equation.","inputSchema":{"type":"object","required":["weight_kg","height_cm","age","sex"],"properties":{"age":{"type":"integer","title":"Age","description":"Age in years","exclusiveMinimum":0},"sex":{"type":"string","title":"Sex","description":"Sex: male or female"},"height_cm":{"type":"number","title":"Height Cm","description":"Height in centimeters","exclusiveMinimum":0},"weight_kg":{"type":"number","title":"Weight Kg","description":"Weight in kilograms","exclusiveMinimum":0}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":163,"tokensAfter":163},{"name":"calculate_correlation","fixed":{"name":"calculate_correlation","description":"Calculate Pearson correlation coefficient.","inputSchema":{"type":"object","required":["x","y"],"properties":{"x":{"type":"string","title":"X","description":"Comma-separated X values"},"y":{"type":"string","title":"Y","description":"Comma-separated Y values"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":86,"tokensAfter":86},{"name":"calculate_covariance","fixed":{"name":"calculate_covariance","description":"Calculate covariance between two datasets.","inputSchema":{"type":"object","required":["x","y"],"properties":{"x":{"type":"string","title":"X","description":"Comma-separated X values"},"y":{"type":"string","title":"Y","description":"Comma-separated Y values"},"population":{"type":"boolean","title":"Population","default":false,"description":"Population covariance vs sample"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":119,"tokensAfter":119},{"name":"calculate_discount","fixed":{"name":"calculate_discount","description":"Calculate discounted price.","inputSchema":{"type":"object","required":["original_price","discount_percent"],"properties":{"original_price":{"type":"number","title":"Original Price","description":"Original price","exclusiveMinimum":0},"discount_percent":{"type":"number","title":"Discount Percent","description":"Discount percentage"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":106,"tokensAfter":106},{"name":"calculate_macros","fixed":{"name":"calculate_macros","description":"Calculate macronutrient targets.","inputSchema":{"type":"object","required":["calories"],"properties":{"goal":{"type":"string","title":"Goal","default":"maintain","description":"Goal: lose, maintain, gain"},"calories":{"type":"integer","title":"Calories","description":"Daily calorie target","exclusiveMinimum":0}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"calculate_margin","fixed":{"name":"calculate_margin","description":"Calculate profit margin.","inputSchema":{"type":"object","required":["selling_price","cost"],"properties":{"cost":{"type":"number","title":"Cost","description":"Cost price","exclusiveMinimum":0},"selling_price":{"type":"number","title":"Selling Price","description":"Selling price","exclusiveMinimum":0}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":97,"tokensAfter":97},{"name":"calculate_markup","fixed":{"name":"calculate_markup","description":"Calculate selling price from cost and markup.","inputSchema":{"type":"object","required":["cost","markup_percent"],"properties":{"cost":{"type":"number","title":"Cost","description":"Cost price","exclusiveMinimum":0},"markup_percent":{"type":"number","title":"Markup Percent","description":"Markup percentage"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"calculate_mean","fixed":{"name":"calculate_mean","description":"Calculate arithmetic mean (average).","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"string","title":"Numbers","description":"Comma-separated numbers"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"calculate_median","fixed":{"name":"calculate_median","description":"Calculate median.","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"string","title":"Numbers","description":"Comma-separated numbers"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"calculate_midpoint","fixed":{"name":"calculate_midpoint","description":"Calculate geographic midpoint between two coordinates.","inputSchema":{"type":"object","required":["lat1","lon1","lat2","lon2"],"properties":{"lat1":{"type":"number","title":"Lat1","maximum":90,"minimum":-90,"description":"Latitude of point 1"},"lat2":{"type":"number","title":"Lat2","maximum":90,"minimum":-90,"description":"Latitude of point 2"},"lon1":{"type":"number","title":"Lon1","maximum":180,"minimum":-180,"description":"Longitude of point 1"},"lon2":{"type":"number","title":"Lon2","maximum":180,"minimum":-180,"description":"Longitude of point 2"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":169,"tokensAfter":169},{"name":"calculate_mode","fixed":{"name":"calculate_mode","description":"Calculate mode (most frequent value).","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"string","title":"Numbers","description":"Comma-separated numbers"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"calculate_percentile","fixed":{"name":"calculate_percentile","description":"Calculate a specific percentile.","inputSchema":{"type":"object","required":["numbers","percentile"],"properties":{"numbers":{"type":"string","title":"Numbers","description":"Comma-separated numbers"},"percentile":{"type":"number","title":"Percentile","maximum":100,"minimum":0,"description":"Percentile to calculate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"calculate_product","fixed":{"name":"calculate_product","description":"Calculate product of numbers.","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"string","title":"Numbers","description":"Comma-separated numbers"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"calculate_quartiles","fixed":{"name":"calculate_quartiles","description":"Calculate quartiles (Q1, Q2, Q3).","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"string","title":"Numbers","description":"Comma-separated numbers"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"calculate_range","fixed":{"name":"calculate_range","description":"Calculate range (max - min).","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"string","title":"Numbers","description":"Comma-separated numbers"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"calculate_stddev","fixed":{"name":"calculate_stddev","description":"Calculate standard deviation.","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"string","title":"Numbers","description":"Comma-separated numbers"},"population":{"type":"boolean","title":"Population","default":false,"description":"Use population std dev vs sample std dev"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"calculate_sum","fixed":{"name":"calculate_sum","description":"Calculate sum of numbers.","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"string","title":"Numbers","description":"Comma-separated numbers"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"calculate_tip","fixed":{"name":"calculate_tip","description":"Calculate tip and split bill.","inputSchema":{"type":"object","required":["amount"],"properties":{"split":{"type":"integer","title":"Split","default":1,"minimum":1,"description":"Number of people to split"},"amount":{"type":"number","title":"Amount","description":"Bill amount","exclusiveMinimum":0},"tip_percent":{"type":"number","title":"Tip Percent","default":18,"description":"Tip percentage"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":122,"tokensAfter":122},{"name":"calculate_variance","fixed":{"name":"calculate_variance","description":"Calculate variance.","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"string","title":"Numbers","description":"Comma-separated numbers"},"population":{"type":"boolean","title":"Population","default":false,"description":"Use population variance (N) vs sample variance (N-1)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"calculate_vat","fixed":{"name":"calculate_vat","description":"Calculate VAT (Value Added Tax).","inputSchema":{"type":"object","required":["amount"],"properties":{"amount":{"type":"number","title":"Amount","description":"Amount","exclusiveMinimum":0},"vat_rate":{"type":"number","title":"Vat Rate","default":20,"description":"VAT rate percentage"},"inclusive":{"type":"boolean","title":"Inclusive","default":false,"description":"Is amount VAT inclusive?"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":121,"tokensAfter":121},{"name":"calculate_zscore","fixed":{"name":"calculate_zscore","description":"Calculate z-score (standard score).","inputSchema":{"type":"object","required":["value","mean","stddev"],"properties":{"mean":{"type":"number","title":"Mean","description":"Population mean"},"value":{"type":"number","title":"Value","description":"Value to calculate z-score for"},"stddev":{"type":"number","title":"Stddev","description":"Population standard deviation","exclusiveMinimum":0}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":121,"tokensAfter":121},{"name":"cidr_info","fixed":{"name":"cidr_info","description":"Get information about a CIDR range.","inputSchema":{"type":"object","required":["cidr"],"properties":{"cidr":{"type":"string","title":"Cidr","description":"CIDR notation (e.g., 192.168.1.0/24)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"compare","fixed":{"name":"compare","description":"Compare two numbers (e.g., is 0.9 greater than 0.11?).","inputSchema":{"type":"object","required":["a","b"],"properties":{"a":{"type":"number","title":"A","description":"First number"},"b":{"type":"number","title":"B","description":"Second number"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"compare_2","fixed":{"name":"compare_2","description":"Compare two values.","inputSchema":{"type":"object","required":["a","b"],"properties":{"a":{"type":"string","title":"A","description":"First value"},"b":{"type":"string","title":"B","description":"Second value"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"compare_decimals","fixed":{"name":"compare_decimals","description":"Compare decimal numbers with detailed explanation (handles 0.9 vs 0.11 correctly).","inputSchema":{"type":"object","required":["a","b"],"properties":{"a":{"type":"string","title":"A","description":"First decimal number as string"},"b":{"type":"string","title":"B","description":"Second decimal number as string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"compare_hashes","fixed":{"name":"compare_hashes","description":"Compare two hashes in constant time (timing-safe).","inputSchema":{"type":"object","required":["hash1","hash2"],"properties":{"hash1":{"type":"string","title":"Hash1","description":"First hash"},"hash2":{"type":"string","title":"Hash2","description":"Second hash"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":86,"tokensAfter":86},{"name":"constant_time_compare","fixed":{"name":"constant_time_compare","description":"Compare two strings in constant time (timing-safe).","inputSchema":{"type":"object","required":["a","b"],"properties":{"a":{"type":"string","title":"A","description":"First string"},"b":{"type":"string","title":"B","description":"Second string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":82,"tokensAfter":82},{"name":"convert_all_cases","fixed":{"name":"convert_all_cases","description":"Convert text to all case formats at once.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"Text to convert"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":63,"tokensAfter":63},{"name":"convert_timestamp","fixed":{"name":"convert_timestamp","description":"Convert Unix timestamp to date.","inputSchema":{"type":"object","required":["timestamp"],"properties":{"timestamp":{"type":"integer","title":"Timestamp","description":"Unix timestamp (seconds)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"convert_timestamp_ms","fixed":{"name":"convert_timestamp_ms","description":"Convert Unix timestamp (milliseconds) to date.","inputSchema":{"type":"object","required":["timestamp_ms"],"properties":{"timestamp_ms":{"type":"integer","title":"Timestamp Ms","description":"Unix timestamp (milliseconds)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":76,"tokensAfter":76},{"name":"convert_timezone","fixed":{"name":"convert_timezone","description":"Convert datetime between timezones.","inputSchema":{"type":"object","required":["datetime_str"],"properties":{"to_tz":{"type":"string","title":"To Tz","default":"EST","description":"Target timezone"},"from_tz":{"type":"string","title":"From Tz","default":"UTC","description":"Source timezone"},"datetime_str":{"type":"string","title":"Datetime Str","description":"Datetime in ISO format"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":121,"tokensAfter":121},{"name":"count_all_chars","fixed":{"name":"count_all_chars","description":"Count occurrences of each character in text.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"The text to analyze"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"count_char","fixed":{"name":"count_char","description":"Count occurrences of a character (e.g., how many 'r' in 'strawberry').","inputSchema":{"type":"object","required":["text","char"],"properties":{"char":{"type":"string","title":"Char","description":"Character to count"},"text":{"type":"string","title":"Text","description":"The text to search in"},"case_sensitive":{"type":"boolean","title":"Case Sensitive","default":true,"description":"Case sensitive counting"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":126,"tokensAfter":126},{"name":"count_digits","fixed":{"name":"count_digits","description":"Count the number of digits.","inputSchema":{"type":"object","required":["number"],"properties":{"number":{"type":"integer","title":"Number","description":"Number to count digits"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"count_items","fixed":{"name":"count_items","description":"Count occurrences of each item.","inputSchema":{"type":"object","required":["items"],"properties":{"items":{"type":"string","title":"Items","description":"Comma-separated items"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"count_substring","fixed":{"name":"count_substring","description":"Count occurrences of a substring.","inputSchema":{"type":"object","required":["text","substring"],"properties":{"text":{"type":"string","title":"Text","description":"The text to search in"},"substring":{"type":"string","title":"Substring","description":"Substring to count"},"overlapping":{"type":"boolean","title":"Overlapping","default":false,"description":"Count overlapping occurrences"},"case_sensitive":{"type":"boolean","title":"Case Sensitive","default":true,"description":"Case sensitive counting"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":154,"tokensAfter":154},{"name":"crc32_checksum","fixed":{"name":"crc32_checksum","description":"Calculate CRC32 checksum.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"Text to checksum"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":58,"tokensAfter":58},{"name":"describe_data","fixed":{"name":"describe_data","description":"Get descriptive statistics for a dataset.","inputSchema":{"type":"object","required":["numbers"],"properties":{"numbers":{"type":"string","title":"Numbers","description":"Comma-separated numbers"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"estimate_body_fat","fixed":{"name":"estimate_body_fat","description":"Estimate body fat percentage using US Navy method.","inputSchema":{"type":"object","required":["waist_cm","neck_cm","height_cm","sex"],"properties":{"sex":{"type":"string","title":"Sex","description":"Sex: male or female"},"hip_cm":{"type":"number","title":"Hip Cm","description":"Hip circumference in cm (required for females)","exclusiveMinimum":0},"neck_cm":{"type":"number","title":"Neck Cm","description":"Neck circumference in cm","exclusiveMinimum":0},"waist_cm":{"type":"number","title":"Waist Cm","description":"Waist circumference in cm","exclusiveMinimum":0},"height_cm":{"type":"number","title":"Height Cm","description":"Height in cm","exclusiveMinimum":0}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":199,"tokensAfter":199},{"name":"estimate_hash_time","fixed":{"name":"estimate_hash_time","description":"Estimate time to crack a password using brute force.","inputSchema":{"type":"object","required":["password"],"properties":{"password":{"type":"string","title":"Password","description":"Password to estimate crack time for"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75},{"name":"file_checksum_guide","fixed":{"name":"file_checksum_guide","description":"Get command-line instructions for file checksums.","inputSchema":{"type":"object","required":[],"properties":{"algorithm":{"type":"string","title":"Algorithm","default":"sha256","description":"Algorithm: md5, sha1, sha256, sha512"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":78,"tokensAfter":78},{"name":"find_all_matches","fixed":{"name":"find_all_matches","description":"Find all matches of a pattern in text.","inputSchema":{"type":"object","required":["pattern","text"],"properties":{"text":{"type":"string","title":"Text","description":"Text to search"},"flags":{"type":"string","title":"Flags","default":"","description":"Flags: i=ignore case, m=multiline, s=dotall"},"pattern":{"type":"string","title":"Pattern","description":"Regular expression pattern"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":121,"tokensAfter":121},{"name":"format_list","fixed":{"name":"format_list","description":"Format a list of items with proper grammar.","inputSchema":{"type":"object","required":["items"],"properties":{"items":{"type":"string","title":"Items","description":"Comma-separated items"},"conjunction":{"type":"string","title":"Conjunction","default":"and","description":"Conjunction to use (and, or)"},"oxford_comma":{"type":"boolean","title":"Oxford Comma","default":true,"description":"Use Oxford comma"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":125,"tokensAfter":125},{"name":"format_truncate","fixed":{"name":"format_truncate","description":"Truncate text to a maximum length.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"Text to truncate"},"length":{"type":"integer","title":"Length","default":50,"minimum":1,"description":"Maximum length"},"suffix":{"type":"string","title":"Suffix","default":"...","description":"Suffix to add when truncated"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":118,"tokensAfter":118},{"name":"generate_addresses","fixed":{"name":"generate_addresses","description":"Generate random placeholder addresses.","inputSchema":{"type":"object","required":[],"properties":{"count":{"type":"integer","title":"Count","default":5,"maximum":50,"minimum":1,"description":"Number of addresses"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":73,"tokensAfter":73},{"name":"get_credit_card_pattern","fixed":{"name":"get_credit_card_pattern","description":"Get regex pattern for credit card validation.","inputSchema":{"type":"object","required":[],"properties":{"card_type":{"type":"string","title":"Card Type","default":"any","description":"Type: visa, mastercard, amex, discover, any"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"get_date_pattern","fixed":{"name":"get_date_pattern","description":"Get regex pattern for date validation.","inputSchema":{"type":"object","required":[],"properties":{"format":{"type":"string","title":"Format","default":"ISO","description":"Format: ISO, US, EU"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"get_divisors","fixed":{"name":"get_divisors","description":"Get all divisors of a number.","inputSchema":{"type":"object","required":["number"],"properties":{"number":{"type":"integer","title":"Number","maximum":1000000,"minimum":1,"description":"Number to find divisors for"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"get_email_pattern","fixed":{"name":"get_email_pattern","description":"Get regex pattern for email validation.","inputSchema":{"type":"object","required":[],"properties":{"strict":{"type":"boolean","title":"Strict","default":false,"description":"Use strict RFC 5322 pattern"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"get_hex_color_pattern","fixed":{"name":"get_hex_color_pattern","description":"Get regex pattern for hex color validation.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":43,"tokensAfter":43},{"name":"get_initials","fixed":{"name":"get_initials","description":"Get initials from a name.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","title":"Name","description":"Name to get initials from"},"separator":{"type":"string","title":"Separator","default":"","description":"Separator between initials"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":89,"tokensAfter":89},{"name":"get_ipv4_pattern","fixed":{"name":"get_ipv4_pattern","description":"Get regex pattern for IPv4 address validation.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":43,"tokensAfter":43},{"name":"get_ipv6_pattern","fixed":{"name":"get_ipv6_pattern","description":"Get regex pattern for IPv6 address validation.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":43,"tokensAfter":43},{"name":"get_json_path","fixed":{"name":"get_json_path","description":"Extract a value from JSON using a path expression.","inputSchema":{"type":"object","required":["json_string","path"],"properties":{"path":{"type":"string","title":"Path","description":"Path to extract (e.g., 'user.address.city' or 'items[0].name')"},"json_string":{"type":"string","title":"Json String","description":"JSON string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"get_json_type","fixed":{"name":"get_json_type","description":"Get the type of a JSON value.","inputSchema":{"type":"object","required":["json_string"],"properties":{"json_string":{"type":"string","title":"Json String","description":"JSON string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":63,"tokensAfter":63},{"name":"get_keys","fixed":{"name":"get_keys","description":"Get all keys from a JSON object.","inputSchema":{"type":"object","required":["json_string"],"properties":{"json_string":{"type":"string","title":"Json String","description":"JSON object string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"get_luminance","fixed":{"name":"get_luminance","description":"Calculate relative luminance of a color.","inputSchema":{"type":"object","required":["hex_color"],"properties":{"hex_color":{"type":"string","title":"Hex Color","description":"Hex color"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"get_now","fixed":{"name":"get_now","description":"Get current date and time.","inputSchema":{"type":"object","required":[],"properties":{"tz":{"type":"string","title":"Tz","default":"UTC","description":"Timezone (UTC, America/New_York, etc.)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":64,"tokensAfter":64},{"name":"get_password_pattern","fixed":{"name":"get_password_pattern","description":"Get regex pattern for password validation with custom requirements.","inputSchema":{"type":"object","required":[],"properties":{"min_length":{"type":"integer","title":"Min Length","default":8,"minimum":1,"description":"Minimum length"},"require_digit":{"type":"boolean","title":"Require Digit","default":true,"description":"Require digit"},"require_special":{"type":"boolean","title":"Require Special","default":true,"description":"Require special character"},"require_lowercase":{"type":"boolean","title":"Require Lowercase","default":true,"description":"Require lowercase"},"require_uppercase":{"type":"boolean","title":"Require Uppercase","default":true,"description":"Require uppercase"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":206,"tokensAfter":206},{"name":"get_phone_pattern","fixed":{"name":"get_phone_pattern","description":"Get regex pattern for phone number validation.","inputSchema":{"type":"object","required":[],"properties":{"country":{"type":"string","title":"Country","default":"US","description":"Country: US, UK, international"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":73,"tokensAfter":73},{"name":"get_quarter","fixed":{"name":"get_quarter","description":"Get the quarter for a date.","inputSchema":{"type":"object","required":["datetime_str"],"properties":{"datetime_str":{"type":"string","title":"Datetime Str","description":"Datetime in ISO format"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"get_slug_pattern","fixed":{"name":"get_slug_pattern","description":"Get regex pattern for URL slug validation.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":42,"tokensAfter":42},{"name":"get_time_pattern","fixed":{"name":"get_time_pattern","description":"Get regex pattern for time validation.","inputSchema":{"type":"object","required":[],"properties":{"format":{"type":"string","title":"Format","default":"24h","description":"Format: 24h, 12h"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"get_url_pattern","fixed":{"name":"get_url_pattern","description":"Get regex pattern for URL validation.","inputSchema":{"type":"object","required":[],"properties":{"require_protocol":{"type":"boolean","title":"Require Protocol","default":true,"description":"Require http/https protocol"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"get_uuid_pattern","fixed":{"name":"get_uuid_pattern","description":"Get regex pattern for UUID validation.","inputSchema":{"type":"object","required":[],"properties":{"version":{"type":"string","title":"Version","default":"any","description":"Version: 1, 4, any"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"get_values","fixed":{"name":"get_values","description":"Get all values from a JSON object.","inputSchema":{"type":"object","required":["json_string"],"properties":{"json_string":{"type":"string","title":"Json String","description":"JSON object string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"http_method_info","fixed":{"name":"http_method_info","description":"Get information about an HTTP method.","inputSchema":{"type":"object","required":["method"],"properties":{"method":{"type":"string","title":"Method","description":"HTTP method"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"ip_info","fixed":{"name":"ip_info","description":"Get detailed information about an IP address.","inputSchema":{"type":"object","required":["ip"],"properties":{"ip":{"type":"string","title":"Ip","description":"IP address to analyze"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"ip_info_2","fixed":{"name":"ip_info_2","description":"Get basic information about an IP address.","inputSchema":{"type":"object","required":["ip"],"properties":{"ip":{"type":"string","title":"Ip","description":"IP address to get info for"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"json_stats","fixed":{"name":"json_stats","description":"Get statistics about a JSON structure.","inputSchema":{"type":"object","required":["json_string"],"properties":{"json_string":{"type":"string","title":"Json String","description":"JSON string to analyze"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":68,"tokensAfter":68},{"name":"json_to_query_string","fixed":{"name":"json_to_query_string","description":"Convert a JSON object to URL query string.","inputSchema":{"type":"object","required":["json_string"],"properties":{"json_string":{"type":"string","title":"Json String","description":"JSON object to convert"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":72,"tokensAfter":72},{"name":"list_locales","fixed":{"name":"list_locales","description":"List available locales for Faker-powered endpoints.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":43,"tokensAfter":43},{"name":"list_timezones","fixed":{"name":"list_timezones","description":"List all available timezone abbreviations.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":41,"tokensAfter":41},{"name":"loan_payment","fixed":{"name":"loan_payment","description":"Calculate monthly loan payment.","inputSchema":{"type":"object","required":["principal","rate","months"],"properties":{"rate":{"type":"number","title":"Rate","description":"Annual interest rate (percentage)"},"months":{"type":"integer","title":"Months","description":"Loan term in months","exclusiveMinimum":0},"principal":{"type":"number","title":"Principal","description":"Loan amount","exclusiveMinimum":0}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":125,"tokensAfter":125},{"name":"md5_checksum","fixed":{"name":"md5_checksum","description":"Generate MD5 checksum.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"Text to hash"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":55,"tokensAfter":55},{"name":"merge_json","fixed":{"name":"merge_json","description":"Merge two JSON objects.","inputSchema":{"type":"object","required":["json1","json2"],"properties":{"deep":{"type":"boolean","title":"Deep","default":true,"description":"Deep merge nested objects"},"json1":{"type":"string","title":"Json1","description":"Base JSON object"},"json2":{"type":"string","title":"Json2","description":"JSON object to merge"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":109,"tokensAfter":109},{"name":"network_info","fixed":{"name":"network_info","description":"Get information about a network.","inputSchema":{"type":"object","required":["network"],"properties":{"network":{"type":"string","title":"Network","description":"Network in CIDR notation (e.g., 192.168.1.0/24)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":70,"tokensAfter":70},{"name":"ping","fixed":{"name":"ping","description":"Ping endpoint. Returns pong.","inputSchema":{"type":"object","required":[],"properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":34,"tokensAfter":34},{"name":"port_info","fixed":{"name":"port_info","description":"Get information about a port number.","inputSchema":{"type":"object","required":["port"],"properties":{"port":{"type":"integer","title":"Port","maximum":65535,"minimum":0,"description":"Port number"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"query_string_to_json","fixed":{"name":"query_string_to_json","description":"Convert a URL query string to JSON object.","inputSchema":{"type":"object","required":["query_string"],"properties":{"query_string":{"type":"string","title":"Query String","description":"Query string to convert (without ?)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":76,"tokensAfter":76},{"name":"random_address","fixed":{"name":"random_address","description":"Generate random address(es) using Faker with locale support.","inputSchema":{"type":"object","required":[],"properties":{"count":{"type":"integer","title":"Count","default":1,"maximum":50,"minimum":1,"description":"Number of addresses to generate"},"locale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale","description":"Locale (e.g., en_US, en_GB, de_DE, ja_JP)"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":117,"tokensAfter":117},{"name":"readability_score","fixed":{"name":"readability_score","description":"Calculate readability scores (Flesch-Kincaid, etc.).","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"Text to analyze"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"remove_duplicate_words","fixed":{"name":"remove_duplicate_words","description":"Remove consecutive duplicate words.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"Text with potential duplicate words"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":68,"tokensAfter":68},{"name":"remove_query_param","fixed":{"name":"remove_query_param","description":"Remove a query parameter from a URL.","inputSchema":{"type":"object","required":["url","key"],"properties":{"key":{"type":"string","title":"Key","description":"Parameter key to remove"},"url":{"type":"string","title":"Url","description":"URL to modify"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":84,"tokensAfter":84},{"name":"remove_whitespace","fixed":{"name":"remove_whitespace","description":"Remove all whitespace from text.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"The text to process"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"sha1_checksum","fixed":{"name":"sha1_checksum","description":"Generate SHA1 checksum.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"Text to hash"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":56,"tokensAfter":56},{"name":"sha256_checksum","fixed":{"name":"sha256_checksum","description":"Generate SHA256 checksum.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"Text to hash"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"sha512_checksum","fixed":{"name":"sha512_checksum","description":"Generate SHA512 checksum.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"Text to hash"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":57,"tokensAfter":57},{"name":"shuffle_list","fixed":{"name":"shuffle_list","description":"Shuffle a list of items.","inputSchema":{"type":"object","required":["items"],"properties":{"items":{"type":"string","title":"Items","description":"Comma-separated items to shuffle"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"start_of_period","fixed":{"name":"start_of_period","description":"Get the start of a time period.","inputSchema":{"type":"object","required":["datetime_str"],"properties":{"period":{"type":"string","title":"Period","default":"day","description":"Period: year, month, week, day, hour"},"datetime_str":{"type":"string","title":"Datetime Str","description":"Datetime in ISO format"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":100,"tokensAfter":100},{"name":"starts_with","fixed":{"name":"starts_with","description":"Check if text starts with a prefix.","inputSchema":{"type":"object","required":["text","prefix"],"properties":{"text":{"type":"string","title":"Text","description":"The text to check"},"prefix":{"type":"string","title":"Prefix","description":"The prefix to look for"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":86,"tokensAfter":86},{"name":"status_code_info","fixed":{"name":"status_code_info","description":"Get information about an HTTP status code.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"integer","title":"Code","maximum":599,"minimum":100,"description":"HTTP status code"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"subnet_mask_info","fixed":{"name":"subnet_mask_info","description":"Get subnet mask from prefix length.","inputSchema":{"type":"object","required":["prefix_length"],"properties":{"prefix_length":{"type":"integer","title":"Prefix Length","maximum":32,"minimum":0,"description":"CIDR prefix length (0-32)"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"truncate","fixed":{"name":"truncate","description":"Truncate to integer (remove decimal part).","inputSchema":{"type":"object","required":["number"],"properties":{"number":{"type":"number","title":"Number","description":"Number to truncate"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":63,"tokensAfter":63},{"name":"truncate_2","fixed":{"name":"truncate_2","description":"Truncate text to a specified length.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"The text to truncate"},"length":{"type":"integer","title":"Length","default":100,"description":"Maximum length"},"suffix":{"type":"string","title":"Suffix","default":"...","description":"Suffix to add if truncated"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":115,"tokensAfter":115},{"name":"validate_alphanumeric","fixed":{"name":"validate_alphanumeric","description":"Check if text is alphanumeric.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"Text to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"validate_base64","fixed":{"name":"validate_base64","description":"Validate a base64 string.","inputSchema":{"type":"object","required":["base64_str"],"properties":{"base64_str":{"type":"string","title":"Base64 Str","description":"Base64 string to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"validate_credit_card","fixed":{"name":"validate_credit_card","description":"Validate a credit card number using Luhn algorithm.","inputSchema":{"type":"object","required":["number"],"properties":{"number":{"type":"string","title":"Number","description":"Credit card number"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"validate_date","fixed":{"name":"validate_date","description":"Validate a date string.","inputSchema":{"type":"object","required":["date_str"],"properties":{"format":{"type":"string","title":"Format","default":"%Y-%m-%d","description":"Expected date format"},"date_str":{"type":"string","title":"Date Str","description":"Date string to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":91,"tokensAfter":91},{"name":"validate_domain","fixed":{"name":"validate_domain","description":"Validate a domain name.","inputSchema":{"type":"object","required":["domain"],"properties":{"domain":{"type":"string","title":"Domain","description":"Domain name to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":61,"tokensAfter":61},{"name":"validate_email","fixed":{"name":"validate_email","description":"Validate an email address.","inputSchema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","title":"Email","description":"Email address to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"validate_hex","fixed":{"name":"validate_hex","description":"Validate a hexadecimal string.","inputSchema":{"type":"object","required":["hex_str"],"properties":{"hex_str":{"type":"string","title":"Hex Str","description":"Hex string to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":63,"tokensAfter":63},{"name":"validate_ip","fixed":{"name":"validate_ip","description":"Validate an IP address (v4 or v6).","inputSchema":{"type":"object","required":["ip"],"properties":{"ip":{"type":"string","title":"Ip","description":"IP address to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":60,"tokensAfter":60},{"name":"validate_ip_2","fixed":{"name":"validate_ip_2","description":"Validate if a string is a valid IP address.","inputSchema":{"type":"object","required":["ip"],"properties":{"ip":{"type":"string","title":"Ip","description":"IP address to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":63,"tokensAfter":63},{"name":"validate_json","fixed":{"name":"validate_json","description":"Validate JSON syntax.","inputSchema":{"type":"object","required":["json_str"],"properties":{"json_str":{"type":"string","title":"Json Str","description":"JSON string to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"validate_json_2","fixed":{"name":"validate_json_2","description":"Validate if a string is valid JSON.","inputSchema":{"type":"object","required":["json_string"],"properties":{"json_string":{"type":"string","title":"Json String","description":"JSON string to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":69,"tokensAfter":69},{"name":"validate_mac","fixed":{"name":"validate_mac","description":"Validate a MAC address.","inputSchema":{"type":"object","required":["mac"],"properties":{"mac":{"type":"string","title":"Mac","description":"MAC address to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":58,"tokensAfter":58},{"name":"validate_password_strength","fixed":{"name":"validate_password_strength","description":"Check password strength.","inputSchema":{"type":"object","required":["password"],"properties":{"password":{"type":"string","title":"Password","description":"Password to check"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":65,"tokensAfter":65},{"name":"validate_pattern","fixed":{"name":"validate_pattern","description":"Validate if a regex pattern is syntactically correct.","inputSchema":{"type":"object","required":["pattern"],"properties":{"pattern":{"type":"string","title":"Pattern","description":"Regular expression pattern to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":75,"tokensAfter":75},{"name":"validate_phone","fixed":{"name":"validate_phone","description":"Validate a phone number.","inputSchema":{"type":"object","required":["phone"],"properties":{"phone":{"type":"string","title":"Phone","description":"Phone number to validate"},"country":{"type":"string","title":"Country","default":"US","description":"Country code for validation"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"validate_semver","fixed":{"name":"validate_semver","description":"Validate a semantic version string.","inputSchema":{"type":"object","required":["version"],"properties":{"version":{"type":"string","title":"Version","description":"Semantic version to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"validate_url","fixed":{"name":"validate_url","description":"Validate a URL.","inputSchema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","title":"Url","description":"URL to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":54,"tokensAfter":54},{"name":"validate_uuid","fixed":{"name":"validate_uuid","description":"Validate a UUID.","inputSchema":{"type":"object","required":["uuid_str"],"properties":{"uuid_str":{"type":"string","title":"Uuid Str","description":"UUID to validate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":59,"tokensAfter":59},{"name":"word_count","fixed":{"name":"word_count","description":"Count words in text.","inputSchema":{"type":"object","required":["text"],"properties":{"text":{"type":"string","title":"Text","description":"The text to count words in"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":58,"tokensAfter":58}],"toolsChanged":126,"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."}