{"serverId":"mcp-registry/io.github.rwaldman/agentbits","tools":[{"name":"countries_bulk","fixed":{"name":"countries_bulk","description":"Download the complete versioned countries dataset as JSON for caching, offline use, or multi-country analysis when a single country_lookup call is not enough.\n\nUse when:\n- Download the full countries dataset as JSON\n- Cache the complete versioned countries snapshot for offline use\n- Analyze or filter many countries without repeated single-code lookups\n\nDo not use when:\n- Look up metadata for a single country by ISO code (use country_lookup instead)\n- Look up one currency or language code (use cu","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"version":{"type":"string","default":"1","description":"Dataset version to retrieve. Defaults to 1."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":211,"tokensAfter":211},{"name":"country_lookup","fixed":{"name":"country_lookup","description":"Resolve an ISO 3166-1 alpha-2 country code (for example CA, US, JP) to official name, region, currency, calling code, languages, and related country metadata when you already have the two-letter code.\n\nUse when:\n- What currency and calling code does country code JP use?\n- Get official name, region, and languages for ISO country CA\n- Look up standardized metadata for a two-letter ISO 3166-1 country code\n\nDo not use when:\n- Download the full countries dataset for offline or multi-country use (use ","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["code"],"properties":{"code":{"type":"string","pattern":"^[A-Za-z]{2}$","maxLength":2,"minLength":2,"description":"ISO 3166-1 alpha-2 country code, for example CA or JP"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":229,"tokensAfter":229},{"name":"currency_lookup","fixed":{"name":"currency_lookup","description":"Resolve an ISO 4217 currency code such as USD, EUR, or JPY to its name, symbol, decimal places, and which countries use it when you need currency metadata rather than a live exchange rate.\n\nUse when:\n- What is the symbol and number of decimal places for EUR?\n- Which countries use currency code JPY?\n- Get ISO 4217 name and metadata for USD\n\nDo not use when:\n- Convert amounts between currencies or fetch live FX rates\n- Find which currency a country uses when you only have a country code (use count","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["code"],"properties":{"code":{"type":"string","maxLength":3,"minLength":3}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":203,"tokensAfter":203},{"name":"http_status_lookup","fixed":{"name":"http_status_lookup","description":"Explain what a numeric HTTP status code such as 404 or 429 means by returning its standard reason phrase and a short description for debugging or API responses.\n\nUse when:\n- What does HTTP status 404 mean?\n- Get the standard name and description for status code 429\n- Explain an HTTP response code returned by an API\n\nDo not use when:\n- Decide whether a request succeeded without needing the status name\n- Look up MIME types or content-type headers (use mime_lookup)\n- Diagnose TLS, DNS, or network f","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["code"],"properties":{"code":{"type":"integer","maximum":599,"minimum":100}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":204,"tokensAfter":204},{"name":"isbn_validate","fixed":{"name":"isbn_validate","description":"Verify whether an ISBN-10 or ISBN-13 passes checksum rules and return normalized digits when checking book identifiers before catalog or purchase flows.\n\nUse when:\n- Is this ISBN valid?\n- Check the checksum for an ISBN-13 book identifier\n- Normalize and validate an ISBN-10 or ISBN-13 string\n\nDo not use when:\n- Look up book title, author, or cover metadata from an ISBN\n- Validate UUIDs (use uuid_validate) or payment-card Luhn numbers (use luhn_validate)\n- Validate arbitrary barcode formats that a","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["value"],"properties":{"value":{"type":"string","description":"ISBN-10 or ISBN-13 candidate"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":208,"tokensAfter":208},{"name":"json_validate","fixed":{"name":"json_validate","description":"Parse a string as JSON to confirm it is well-formed and return a normalized representation when possible before further processing or storage.\n\nUse when:\n- Is this string valid JSON?\n- Parse and normalize a JSON payload before processing\n- Check whether agent or user-supplied text is well-formed JSON\n\nDo not use when:\n- Validate against a specific JSON Schema or OpenAPI model beyond well-formedness\n- Encode or decode Base64 (use base64_encode / base64_decode)\n- Validate UUID or ISBN identifier f","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["value"],"properties":{"value":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":195,"tokensAfter":195},{"name":"language_lookup","fixed":{"name":"language_lookup","description":"Resolve an ISO 639-1 language code such as en, fr, or ja to its English name and native name when you need language metadata from a two-letter code.\n\nUse when:\n- What language does ISO 639-1 code ja refer to?\n- Get the native name for language code fr\n- Resolve a two-letter language code to its English and native names\n\nDo not use when:\n- Translate text between languages\n- Detect the language of arbitrary free-form text\n- Look up country languages from a country code (use country_lookup)","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["code"],"properties":{"code":{"type":"string","maxLength":3,"minLength":2}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":201,"tokensAfter":201},{"name":"luhn_validate","fixed":{"name":"luhn_validate","description":"Run the Luhn checksum on a numeric string such as a payment-card-like identifier to verify the check digit before accepting or storing the value.\n\nUse when:\n- Does this number pass a Luhn check?\n- Validate a payment-card-like identifier checksum\n- Verify a numeric ID that uses a Luhn check digit\n\nDo not use when:\n- Charge a card, tokenize payments, or call a payment processor\n- Validate ISBNs (use isbn_validate) or UUIDs (use uuid_validate)\n- Look up currency metadata (use currency_lookup)","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["value"],"properties":{"value":{"type":"string","description":"Numeric string to validate with Luhn"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":209,"tokensAfter":209},{"name":"mime_lookup","fixed":{"name":"mime_lookup","description":"Map a file extension such as webp or png, or a MIME type string, to curated Content-Type metadata when setting headers, validating uploads, or choosing a media type.\n\nUse when:\n- What MIME type should I use for a .webp file?\n- Look up metadata for Content-Type application/json\n- Resolve a file extension to the correct MIME type for an upload or response header\n\nDo not use when:\n- Sniff or detect MIME type from raw file bytes\n- Encode or decode Base64 file payloads (use base64_encode / base64_dec","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["query"],"properties":{"query":{"type":"string","minLength":1}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":199,"tokensAfter":199},{"name":"timestamp_convert","fixed":{"name":"timestamp_convert","description":"Convert Unix epoch seconds or milliseconds to ISO-8601, or an ISO-8601 datetime to Unix epoch values, when bridging APIs that disagree on time formats.\n\nUse when:\n- Convert this Unix timestamp to ISO-8601\n- Turn an ISO-8601 datetime into epoch milliseconds\n- Bridge APIs that mix Unix seconds and ISO-8601 strings\n\nDo not use when:\n- Convert a datetime between IANA timezones while preserving the instant (use timezone_convert)\n- Convert length, mass, or temperature units (use unit_convert)\n- Interp","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["value","input_format"],"properties":{"value":{"type":"string","description":"Unix timestamp or ISO-8601 datetime"},"input_format":{"enum":["unix_seconds","unix_milliseconds","iso8601"],"type":"string","description":"Format of value"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":248,"tokensAfter":248},{"name":"timezone_convert","fixed":{"name":"timezone_convert","description":"Convert an ISO-8601 datetime from one IANA timezone to another while preserving the same instant, including daylight-saving-aware wall times such as Toronto to Tokyo.\n\nUse when:\n- What time is 3pm Toronto in Tokyo?\n- Convert an ISO-8601 datetime from America/New_York to Europe/London\n- Show the same instant in another IANA timezone with DST-aware offsets\n\nDo not use when:\n- Only convert between Unix epoch and ISO-8601 without changing timezone (use timestamp_convert)\n- Convert length, mass, or t","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["datetime","from_timezone","to_timezone"],"properties":{"datetime":{"type":"string","description":"ISO-8601 datetime, with or without offset"},"to_timezone":{"type":"string","description":"IANA timezone for output"},"from_timezone":{"type":"string","description":"IANA timezone for interpreting naive datetimes"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":269,"tokensAfter":269},{"name":"tld_lookup","fixed":{"name":"tld_lookup","description":"Identify what a DNS top-level domain such as com, io, or ai is classified as and commonly used for when classifying domains or answering TLD questions.\n\nUse when:\n- What kind of TLD is .io?\n- Is .ai a country-code or generic top-level domain?\n- Get curated metadata for DNS TLD com\n\nDo not use when:\n- Check whether a full domain name is registered or available\n- Resolve DNS records or WHOIS ownership\n- Look up MIME types for file extensions (use mime_lookup)","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["tld"],"properties":{"tld":{"type":"string","minLength":2}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":187,"tokensAfter":187},{"name":"unit_convert","fixed":{"name":"unit_convert","description":"Convert a numeric value between supported length, mass, or temperature units—for example miles to kilometers or Celsius to Fahrenheit—when you need a deterministic unit conversion.\n\nUse when:\n- Convert 10 miles to kilometers\n- What is 25°C in Fahrenheit?\n- Convert a mass value between kilograms and pounds\n\nDo not use when:\n- Convert currencies or fetch exchange rates (use currency_lookup for metadata only)\n- Convert timestamps or timezones (use timestamp_convert / timezone_convert)\n- Convert uns","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["value","from_unit","to_unit"],"properties":{"value":{"type":"number"},"to_unit":{"type":"string"},"from_unit":{"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":217,"tokensAfter":217},{"name":"uuid_validate","fixed":{"name":"uuid_validate","description":"Check whether a string is a well-formed UUID and, when recognizable, report its version and variant so you can accept or reject identifier inputs confidently.\n\nUse when:\n- Is this string a valid UUID?\n- What version and variant is this UUID?\n- Validate a UUID before using it as a primary key or request id\n\nDo not use when:\n- Generate a new UUID\n- Validate ISBNs or other non-UUID identifiers (use isbn_validate)\n- Validate JSON structure (use json_validate)","inputSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["value"],"properties":{"value":{"type":"string","description":"UUID candidate string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":195,"tokensAfter":195}],"toolsChanged":14,"tokensSaved":0,"todo":[{"tool":"currency_lookup","params":["code"]},{"tool":"http_status_lookup","params":["code"]},{"tool":"json_validate","params":["value"]},{"tool":"language_lookup","params":["code"]},{"tool":"mime_lookup","params":["query"]},{"tool":"tld_lookup","params":["tld"]},{"tool":"unit_convert","params":["value","to_unit","from_unit"]},{"tool":"url_decode","params":["value"]},{"tool":"url_encode","params":["value"]}],"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."}