Duo Data Utilities
What this MCP does
Provides pay-per-call utilities for identifiers, hashing, text processing, statistics, dates, currencies, geographic calculations, country references, and blockchain formats.
Tools
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['address'], 'properties': {'expect': {'enum': ['evm', 'bitcoin', 'solana', 'cosmos', 'tron', 'xrp', 'cardano', 'polkadot', 'algorand', 'litecoin', 'dogecoin'], 'type': 'string', 'description': 'Restrict the check to one chain id. Accepted: evm, bitcoin, solana, cosmos, tron, xrp, cardano, polkadot, algorand, litecoin, dogecoin.'}, 'address': {'type': 'string', 'description': 'Address to identify and validate. Accepted: at most 128 characters.'}, 'chain_id': {'type': 'string', 'description': 'EVM chain id; enables EIP-1191 chain-salted checksum validation. Accepted: a positive integer chain id.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'data': {'type': 'string', 'description': 'Alternative to signature: raw data to Keccak-256 hash. Accepted: at most 8192 characters.'}, 'kind': {'enum': ['function', 'event', 'error'], 'type': 'string', 'description': 'function (default), event or error. Accepted: function, event, error.'}, 'encoding': {'enum': ['utf8', 'hex'], 'type': 'string', 'description': 'Encoding of data: utf8 (default) or hex. Accepted: utf8, hex.'}, 'signature': {'type': 'string', 'description': 'Solidity function, event or error signature, e.g. transfer(address to, uint amount). Accepted: at most 1024 characters.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['algo', 'data'], 'properties': {'out': {'enum': ['hex', 'base64', 'base64url', 'base32'], 'type': 'string', 'description': 'Digest output encoding: hex (default), base64, base64url or base32. Accepted: hex, base64, base64url, base32.'}, 'algo': {'enum': ['sha256', 'sha384', 'sha512', 'sha1', 'sha3-256', 'sha3-512', 'keccak256', 'blake2b-256', 'blake2b-512'], 'type': 'string', 'description': 'Digest algorithm. Accepted: sha256, sha384, sha512, sha1, sha3-256, sha3-512, keccak256, blake2b-256, blake2b-512.'}, 'data': {'type': 'string', 'description': 'Input data, interpreted per encoding. At most 8192 characters. An empty value hashes the empty string. Accepted: at most 8192 characters.'}, 'encoding': {'enum': ['utf8', 'base64', 'base64url', 'hex'], 'type': 'string', 'description': 'Encoding of data: utf8 (default), base64, base64url or hex. Accepted: utf8, base64, base64url, hex.'}, 'hmac_key': {'type': 'string', 'description': 'If present, computes HMAC with this key. Accepted: at most 512 characters.'}, 'hmac_key_encoding': {'enum': ['utf8', 'base64', 'base64url', 'hex'], 'type': 'string', 'description': 'Encoding of hmac_key, as encoding. Accepted: utf8, base64, base64url, hex.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['domain'], 'properties': {'to': {'enum': ['ascii', 'unicode', 'both'], 'type': 'string', 'description': 'ascii, unicode or both (default). Validated only: the response always carries both forms. Accepted: ascii, unicode, both.'}, 'domain': {'type': 'string', 'description': 'Domain name in Unicode or punycode form. Accepted: at most 512 characters.'}, 'strict': {'enum': ['true', 'false'], 'type': 'string', 'description': 'true (default) applies IDNA2008 strictly; false uses UTS 46 transitional (IDNA2003-compatible) processing, which maps e.g. ß to ss; current browsers and /v1/code/url use non-transitional processing, so its output can differ from them. Accepted: true or false.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['token'], 'properties': {'at': {'type': 'string', 'description': 'Instant to evaluate exp/nbf against: RFC 3339 or epoch seconds. Default now. Accepted: RFC 3339 timestamp or integer epoch.'}, 'token': {'type': 'string', 'description': 'The JWT to decode (not verified). At most 8192 characters. Accepted: at most 8192 characters.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'a': {'type': 'string', 'description': 'First version for op=compare. Accepted: at most 256 characters.'}, 'b': {'type': 'string', 'description': 'Second version for op=compare. Accepted: at most 256 characters.'}, 'op': {'enum': ['parse', 'compare', 'satisfies', 'sort'], 'type': 'string', 'description': 'parse (default), compare, satisfies or sort. Accepted: parse, compare, satisfies, sort.'}, 'range': {'type': 'string', 'description': 'Range expression for op=satisfies, e.g. ^1.2.0. Accepted: at most 256 characters.'}, 'version': {'type': 'string', 'description': 'Version to parse (op=parse) or test (op=satisfies). Accepted: at most 256 characters.'}, 'versions': {'type': 'string', 'description': 'Comma-separated versions for op=sort, at most 100. Accepted: at most 100 versions.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['url'], 'properties': {'url': {'type': 'string', 'description': 'Absolute URL, or a bare hostname (https:// assumed). Accepted: an absolute URL, or a hostname.'}, 'base': {'type': 'string', 'description': 'Base URL to resolve url against as a relative reference. Accepted: an absolute URL.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'op': {'enum': ['distance', 'destination', 'midpoint', 'path'], 'type': 'string', 'description': 'distance (default), destination, midpoint or path. Accepted: distance, destination, midpoint, path.'}, 'lat1': {'type': 'string', 'description': 'Start latitude. Accepted: a number between -90 and 90.'}, 'lat2': {'type': 'string', 'description': 'End latitude. Accepted: a number between -90 and 90.'}, 'lon1': {'type': 'string', 'description': 'Start longitude. Accepted: a number between -180 and 180.'}, 'lon2': {'type': 'string', 'description': 'End longitude. Accepted: a number between -180 and 180.'}, 'path': {'type': 'string', 'description': 'Comma-separated lat,lon pairs for op=path, at most 200 points. Accepted: comma-separated lat,lon pairs, at most 200 points.'}, 'method': {'enum': ['vincenty', 'haversine'], 'type': 'string', 'description': 'vincenty (default, WGS-84) or haversine. Accepted: vincenty, haversine.'}, 'bearing': {'type': 'string', 'description': 'Initial bearing in degrees for op=destination. Accepted: number 0-360.'}, 'distance_m': {'type': 'string', 'description': 'Distance in metres for op=destination, 0 to 1e9 (about 25 Earth circumferences); larger values are 400 INVALID_PARAM. Accepted: a number between 0 and 1e9 (metres).'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'op': {'enum': ['encode', 'decode'], 'type': 'string', 'description': 'encode (default): lat/lon to geohash. decode: geohash to bounding box. Accepted: encode, decode.'}, 'lat': {'type': 'string', 'description': 'WGS-84 latitude, -90 to 90. Required when op=encode. Accepted: a number between -90 and 90.'}, 'lon': {'type': 'string', 'description': 'WGS-84 longitude, -180 to 180. Required when op=encode. Accepted: a number between -180 and 180.'}, 'geohash': {'type': 'string', 'description': 'Geohash to decode, 1-12 characters. Required when op=decode. Accepted: base32 geohash alphabet, excluding a, i, l and o.'}, 'precision': {'type': 'string', 'description': 'Geohash length 1-12, default 9 (about 4.8 m). Accepted: integer 1-12.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'op': {'enum': ['encode', 'decode', 'shorten', 'recover'], 'type': 'string', 'description': 'encode (default), decode, shorten or recover. Accepted: encode, decode, shorten, recover.'}, 'lat': {'type': 'string', 'description': 'Latitude for op=encode. Accepted: a number between -90 and 90.'}, 'lon': {'type': 'string', 'description': 'Longitude for op=encode. Accepted: a number between -180 and 180.'}, 'code': {'type': 'string', 'description': 'Plus code for decode, shorten or recover. Accepted: at most 20 characters.'}, 'length': {'type': 'string', 'description': 'Integer code length for op=encode: one of 2,4,6,8,10 (default),11,12,13,14,15. Other integers in 2-15 are 400 UNSUPPORTED_VALUE. Accepted: one of 2,4,6,8,10,11,12,13,14,15.'}, 'ref_lat': {'type': 'string', 'description': 'Reference latitude for op=shorten/recover. Accepted: a number between -90 and 90.'}, 'ref_lon': {'type': 'string', 'description': 'Reference longitude for op=shorten/recover. Accepted: a number between -180 and 180.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['geometry'], 'properties': {'lat': {'type': 'string', 'description': 'Point latitude; with lon, runs the containment test. Accepted: a number between -90 and 90.'}, 'lon': {'type': 'string', 'description': 'Point longitude; with lat, runs the containment test. Accepted: a number between -180 and 180.'}, 'ops': {'type': 'string', 'description': 'Comma-separated subset of contains,bbox,centroid,area,perimeter,winding. Default all. Accepted: comma-separated subset of contains, bbox, centroid, area, perimeter, winding.'}, 'geometry': {'type': 'string', 'description': 'URL-encoded GeoJSON Polygon, MultiPolygon or a Feature wrapping one. At most 3072 characters and 2000 coordinate pairs. Accepted: valid GeoJSON.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value'], 'properties': {'op': {'enum': ['validate', 'checkdigit', 'convert'], 'type': 'string', 'description': 'validate (default), checkdigit (compute the missing final digit) or convert. Accepted: validate, checkdigit, convert.'}, 'to': {'enum': ['gtin8', 'gtin12', 'gtin13', 'gtin14'], 'type': 'string', 'description': 'Target format. Required when op=convert. Accepted: gtin8, gtin12, gtin13, gtin14.'}, 'value': {'type': 'string', 'description': 'GS1 code, digits with optional spaces or hyphens. For op=checkdigit, omit the final digit. Accepted: 8, 12, 13, 14 or 18 digits.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['iban'], 'properties': {'iban': {'type': 'string', 'description': 'The IBAN. Spaces and non-breaking spaces are stripped; lowercase is accepted and uppercased. Accepted: an IBAN of at most 64 characters.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['country'], 'properties': {'bank': {'type': 'string', 'description': 'Bank code. Requires account. Accepted: a bank code of at most 16 characters.'}, 'bban': {'type': 'string', 'description': 'The whole domestic account number (BBAN), alphanumeric. Use this or bank plus account. Accepted: an alphanumeric BBAN of at most 34 characters.'}, 'branch': {'type': 'string', 'description': 'Branch code, for countries whose layout has a branch field. Accepted: a branch code of at most 16 characters.'}, 'account': {'type': 'string', 'description': 'Account number. Requires bank. Accepted: an account number of at most 32 characters.'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code in the SWIFT IBAN registry, case-insensitive. Accepted: an ISO 3166-1 alpha-2 code in the IBAN registry.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['country', 'kind', 'value'], 'properties': {'kind': {'type': 'string', 'description': 'Identifier type for that country, e.g. bsn, nif, cf, cpf. Accepted: an identifier kind supported for the country.'}, 'value': {'type': 'string', 'description': 'The identifier. Separators (space . - /) are stripped before checking. Accepted: at most 64 characters.'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country code, case-insensitive. One of the 23 supported countries; the United Kingdom is accepted as UK or GB (the response echoes what you sent). Accepted: one of the 23 supported ISO 3166-1 alpha-2 codes.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'op': {'enum': ['validate', 'build-isin'], 'type': 'string', 'description': 'validate (default) or build-isin. Accepted: validate, build-isin.'}, 'nsin': {'type': 'string', 'description': 'Exactly 9 alphanumeric characters. Required when op=build-isin. Accepted: exactly 9 alphanumeric characters.'}, 'value': {'type': 'string', 'description': 'ISIN, CUSIP, SEDOL or FIGI to validate. Required when op=validate. Accepted: an alphanumeric security identifier of at most 24 characters.'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 code or XS. Required when op=build-isin. Accepted: at most 16 characters.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['amount', 'currency'], 'properties': {'rule': {'enum': ['largest-remainder', 'first', 'last', 'round-robin'], 'type': 'string', 'description': 'Remainder rule: largest-remainder (default), first, last or round-robin. Accepted: largest-remainder, first, last, round-robin.'}, 'parts': {'type': 'string', 'description': 'Number of equal parts, 1-1000. One of parts or ratios. Accepted: integer 1-1000.'}, 'amount': {'type': 'string', 'description': 'Decimal amount, absolute value below 1e12. Accepted: a decimal amount with absolute value below 1e12.'}, 'ratios': {'type': 'string', 'description': 'Comma-separated non-negative ratios, at most 1000, each with at most 15 integer digits and 15 decimal places. One of parts or ratios. Accepted: comma-separated non-negative numbers, at most 1000.'}, 'currency': {'type': 'string', 'description': 'ISO 4217 alpha-3 code. Accepted: an ISO 4217 alpha-3 code.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value'], 'properties': {'to': {'type': 'string', 'description': 'Target base 2-36, default 10. Accepted: integer 2-36.'}, 'case': {'enum': ['lower', 'upper'], 'type': 'string', 'description': 'Digit case for bases above 10: lower (default) or upper. Accepted: lower, upper.'}, 'from': {'type': 'string', 'description': "Source base 2-36, or auto (default) to read a 0x/0b/0o prefix. Accepted: integer 2-36, or 'auto'."}, 'value': {'type': 'string', 'description': 'Integer to convert; optional sign and 0x/0b/0o prefix. Accepted: at most 1024 characters.'}, 'prefix': {'enum': ['true', 'false'], 'type': 'string', 'description': 'Emit 0x/0b/0o where conventional. Default false. Accepted: true or false.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['values'], 'properties': {'ddof': {'type': 'string', 'description': 'Delta degrees of freedom for variance/stdev: 1 (default, sample, n-1) or 0 (population, n). The *_population fields are always population. Accepted: integer 0-1.'}, 'method': {'enum': ['linear', 'nearest', 'lower', 'higher', 'midpoint'], 'type': 'string', 'description': 'Percentile interpolation (NumPy/R names): linear (default), nearest, lower, higher, midpoint. Accepted: linear, nearest, lower, higher, midpoint.'}, 'values': {'type': 'string', 'description': 'Comma-separated finite numbers, at most 500 values. Accepted: comma-separated finite numbers.'}, 'percentiles': {'type': 'string', 'description': 'Comma-separated percentiles 0-100, at most 20. Default 25,50,75. Accepted: numbers between 0 and 100.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['value'], 'properties': {'case': {'enum': ['lower', 'sentence', 'title'], 'type': 'string', 'description': 'lower (default), sentence or title. Accepted: lower, sentence, title.'}, 'form': {'enum': ['cardinal', 'ordinal', 'currency', 'year'], 'type': 'string', 'description': 'cardinal (default), ordinal, currency or year. Accepted: cardinal, ordinal, currency, year.'}, 'lang': {'enum': ['en', 'nl', 'de', 'fr', 'es', 'it', 'pt', 'pl', 'ru', 'tr', 'sv', 'ja'], 'type': 'string', 'description': 'Language, ISO 639-1. Default en. Accepted: en, nl, de, fr, es, it, pt, pl, ru, tr, sv, ja.'}, 'value': {'type': 'string', 'description': 'Integer or decimal, absolute value below 1e15. Accepted: absolute value below 1e15.'}, 'currency': {'type': 'string', 'description': 'ISO 4217 code. Required when form=currency, rejected otherwise. Accepted: an ISO 4217 alpha-3 code.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string', 'description': '3-letter IATA or 4-letter ICAO code, case-insensitive. Accepted: a 3-letter IATA or 4-letter ICAO code.'}, 'near': {'type': 'string', 'description': 'lat,lon to search around. Accepted: lat,lon.'}, 'limit': {'type': 'string', 'description': 'Maximum results 1-25, default 5. Only with near. Accepted: integer 1-25.'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 filter. Accepted: an ISO 3166-1 alpha-2 code.'}, 'radius_km': {'type': 'string', 'description': 'Search radius in km, 1-1000, default 100. Only with near. Accepted: number 1-1000.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string', 'description': 'ISO 3166-1 alpha-2, alpha-3 or numeric code, or an ISO 3166-2 subdivision code such as NL-NH. Accepted: ISO 3166-1 alpha-2/alpha-3/numeric, or an ISO 3166-2 subdivision code.'}, 'name': {'type': 'string', 'description': 'Substring search on country names, case- and accent-insensitive. Accepted: at most 128 characters.'}, 'include': {'type': 'string', 'description': 'Comma-separated: subdivisions, m49, currency, tld. Default m49,currency,tld. Accepted: comma-separated subset of subdivisions, m49, currency, tld.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string', 'description': 'ISO 4217 alpha-3 or 3-digit numeric code. Accepted: a 3-letter alphabetic or 3-digit numeric ISO 4217 code.'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2; returns the currencies in use there. Accepted: an ISO 3166-1 alpha-2 code.'}, 'include': {'type': 'string', 'description': 'Comma-separated: territories, historic. Default none. Accepted: comma-separated subset of territories, historic.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'string', 'description': 'NUTS code, 2-5 characters, case-insensitive (level-3 codes may contain letters, e.g. NL32B). A GR or GB prefix is accepted for EL or UK. Accepted: 2 to 5 characters matching ^[A-Z]{2}[0-9A-Z]{0,3}$.'}, 'name': {'type': 'string', 'description': 'Substring search on region names, case- and accent-insensitive. Up to 25 matches. Accepted: at most 128 characters.'}, 'level': {'type': 'string', 'description': 'Restrict a name search to one level, 0-3. Accepted: integer 0-3.'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2 country filter (UK/GB and EL/GR both accepted). Accepted: an ISO 3166-1 alpha-2 code.'}, 'include': {'type': 'string', 'description': 'Comma-separated: parents, children, typology. Default parents,typology. Accepted: comma-separated subset of parents, children, typology.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['a', 'b'], 'properties': {'a': {'type': 'string', 'description': 'First string, at most 512 characters. Accepted: at most 512 characters.'}, 'b': {'type': 'string', 'description': 'Second string, at most 512 characters. Accepted: at most 512 characters.'}, 'fold': {'type': 'string', 'description': 'Comma-separated folds before comparing: case, accents, space, punct. Default case. Accepted: comma-separated subset of case, accents, space, punct.'}, 'only': {'type': 'string', 'description': 'Comma-separated measure names to compute: levenshtein, damerau_levenshtein, normalised_similarity, jaro, jaro_winkler, lcs_length, dice, phonetic (all three keys), soundex, metaphone, nysiis. Default all. Accepted: comma-separated subset of levenshtein, damerau_levenshtein, normalised_similarity, jaro, jaro_winkler, lcs_length, dice, phonetic, soundex, metaphone, nysiis.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['text'], 'properties': {'max': {'type': 'string', 'description': 'Maximum slug length 1-512, default 96. Truncates at the last complete word. Accepted: integer 1-512.'}, 'case': {'enum': ['lower', 'preserve', 'upper'], 'type': 'string', 'description': 'lower (default), preserve or upper. Accepted: lower, preserve, upper.'}, 'lang': {'type': 'string', 'description': 'ISO 639-1 code for locale-sensitive folding (de: ü->ue) and the Cyrillic table (ru, uk, be, bg, sr, mk). Default locale-neutral; for Cyrillic the language is then inferred from letters unique to Ukrainian, Belarusian, Serbian or Macedonian, else Russian BGN/PCGN letters with ISO 9 (accents folded) for the rest. Accepted: an ISO 639-1 language code.'}, 'text': {'type': 'string', 'description': 'Text to slugify, at most 2048 characters. Accepted: at most 2048 characters.'}, 'separator': {'enum': ['-', '_', '.', ''], 'type': 'string', 'description': 'Separator: - (default), _, . or empty. Accepted: -, _, . or empty.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['text'], 'properties': {'case': {'enum': ['preserve', 'lower', 'upper'], 'type': 'string', 'description': 'preserve (default), lower or upper. Accepted: preserve, lower, upper.'}, 'from': {'type': 'string', 'description': 'Source script name (cyrillic), or auto (default). Accepted: cyrillic or auto.'}, 'text': {'type': 'string', 'description': 'Text to transliterate, at most 2048 characters. Accepted: at most 2048 characters.'}, 'standard': {'type': 'string', 'description': 'Romanisation standard: iso-9 (default; all ISO 9:1995 Cyrillic letters) or bgn-pcgn (BGN/PCGN Russian system, Russian letters only). Accepted: iso-9 or bgn-pcgn (Russian letters only) for cyrillic.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['text'], 'properties': {'form': {'enum': ['nfc', 'nfd', 'nfkc', 'nfkd'], 'type': 'string', 'description': 'Normalisation form to apply, default nfc. Accepted: nfc, nfd, nfkc or nfkd.'}, 'text': {'type': 'string', 'description': 'Text to analyse, at most 1024 characters. Accepted: at most 1024 characters.'}, 'detail': {'enum': ['summary', 'full'], 'type': 'string', 'description': 'summary (default) or full per-code-point detail (capped at 256 entries). Accepted: summary, full.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['from'], 'properties': {'op': {'enum': ['add', 'count'], 'type': 'string', 'description': 'add (default) N business days to from, or count business days between from and to. Accepted: add, count.'}, 'to': {'type': 'string', 'description': 'End date YYYY-MM-DD, may precede from. Required when op=count. Accepted: a calendar date as YYYY-MM-DD.'}, 'days': {'type': 'string', 'description': 'Business days to add, -3650 to 3650. Required when op=add. Accepted: integer between -3650 and 3650.'}, 'from': {'type': 'string', 'description': 'Start date, YYYY-MM-DD. Accepted: a calendar date as YYYY-MM-DD.'}, 'weekend': {'type': 'string', 'description': 'Comma-separated weekday names or ISO numbers. Default sat,sun. Empty string = no weekend. Accepted: comma-separated weekday names (mon..sun) or ISO numbers 1-7.'}, 'holidays': {'type': 'string', 'description': 'Comma-separated YYYY-MM-DD holiday dates. Accepted: comma-separated YYYY-MM-DD dates, at most 2048 characters.'}, 'inclusive': {'enum': ['start', 'both', 'neither'], 'type': 'string', 'description': 'For op=count: start (default, half-open [from, to)), both or neither. Accepted: start, both, neither.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'op': {'enum': ['convert', 'easter'], 'type': 'string', 'description': 'convert (default) a Gregorian date, or easter for a year. Accepted: convert, easter.'}, 'to': {'type': 'string', 'description': 'Comma-separated calendar ids: islamic, islamic-umalqura, hebrew, japanese, roc, buddhist, persian. Default all. Accepted: islamic, islamic-umalqura, hebrew, japanese, roc, buddhist, persian.'}, 'date': {'type': 'string', 'description': 'Gregorian date YYYY-MM-DD. Required when op=convert. Accepted: a calendar date as YYYY-MM-DD.'}, 'rite': {'enum': ['western', 'eastern'], 'type': 'string', 'description': 'Easter reckoning: western (default) or eastern. Accepted: western, eastern.'}, 'year': {'type': 'string', 'description': 'Year for op=easter, 326-9999. Accepted: integer 326-9999.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['zone'], 'properties': {'from': {'type': 'string', 'description': 'Start of the range: RFC 3339 or YYYY-MM-DD. Default now. Accepted: RFC 3339 timestamp or YYYY-MM-DD.'}, 'zone': {'type': 'string', 'description': 'IANA time zone id. Accepted: an IANA time zone id, e.g. Europe/Amsterdam.'}, 'years': {'type': 'string', 'description': 'Length of the range in years, 1-10. Default 2. Accepted: integer 1-10.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rrule', 'dtstart', 'zone'], 'properties': {'zone': {'type': 'string', 'description': 'IANA time zone id. Accepted: an IANA time zone id, e.g. Europe/Amsterdam.'}, 'after': {'type': 'string', 'description': 'RFC 3339 instant; skip occurrences before it. Accepted: RFC 3339 timestamp.'}, 'count': {'type': 'string', 'description': 'Maximum occurrences to return, 1-200. Default 20. Accepted: integer 1-200.'}, 'rdate': {'type': 'string', 'description': 'Comma-separated local datetimes to add. Accepted: at most 1024 characters.'}, 'rrule': {'type': 'string', 'description': 'RFC 5545 RRULE, e.g. FREQ=MONTHLY;BYDAY=-1FR;COUNT=6. Accepted: at most 512 characters.'}, 'exdate': {'type': 'string', 'description': 'Comma-separated local datetimes to exclude. Accepted: at most 1024 characters.'}, 'dtstart': {'type': 'string', 'description': 'First occurrence, YYYY-MM-DDTHH:MM:SS local to zone. Accepted: YYYY-MM-DDTHH:MM:SS.'}}}
Input schema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['zone'], 'properties': {'zone': {'type': 'string', 'description': 'IANA time zone id, e.g. Europe/Amsterdam. Accepted: an IANA time zone id, e.g. Europe/Amsterdam.'}, 'local': {'type': 'string', 'description': 'Wall-clock time YYYY-MM-DDTHH:MM[:SS] in zone, converted back to an instant. Mutually exclusive with instant. Accepted: YYYY-MM-DDTHH:MM[:SS].'}, 'instant': {'type': 'string', 'description': 'RFC 3339 timestamp or integer Unix seconds/milliseconds. Defaults to now. Mutually exclusive with local. Accepted: RFC 3339 timestamp or integer epoch.'}, 'ambiguous': {'enum': ['earlier', 'later', 'reject'], 'type': 'string', 'description': 'Only with local: which instant a repeated local time maps to. Default earlier. Accepted: earlier, later, reject.'}}}
Recent tool changes
Similar MCP servers
The Graph
Inspects GraphQL schemas and runs queries against blockchain subgraphs on The Graph network.
JSON Repair & Agent Utilities
Provides crypto and Base chain data alongside JSON repair, DNS lookup, URL extraction, and other agent utilities.
Crypto Market Pulse & Base USDC Stats
Provides crypto prices, market and Base chain data, USDC transfer analytics, DNS lookups, URL extraction, and JSON repair.
Solana MCP by Vybe
Queries read-only Solana data for wallets, tokens, markets, trades, transfers, PnL, and DeFi positions, and can build unsigned sw…
Crypto Bot Audit + Market Data (x402 paid)
Audits crypto bot source code and provides paid crypto market, token, gas, stablecoin, and DeFi TVL data.
XGR MCP Gateway
Provides an MCP gateway for XGRChain and XDaLa workflows, including blockchain explorer queries, session inspection, transaction …
Thousand API
Provides deterministic data conversion, validation, JSON transformation, statistical calculations, date and schedule utilities, i…
DeltaSignal ATLAS-7
Analyzes SEC and XBRL data for crypto-related public companies, including fundamentals, issuer signals, peer comparisons, stress …