mcpserver.lol
registry/apished
Connection check verified live · 20h ago

apished

Validates PESEL/NIP/REGON/IBAN/Luhn/ISBN/EAN/SWIFT-BIC/VAT; RPN calc, date math, hashing, tokens

Tools 29
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 20h ago

Tools & capabilities

29 tools

Read from the running server on 20h ago.

datemath_add date*daysyearsmonths
Adds years/months/days to date. years/months are applied together with end-of-month clamping — e.g. 2026-01-31 + 1 month = 2026-02-28, not an overflowed 2026-03-03. days is then ap…
datemath_age asOfbirthDate*
Age in whole years as of asOf (optional, defaults to the current UTC date). A Feb-29 birthDate is treated as falling on March 1 in a non-leap asOf year.
datemath_businessdays to*from*holidaysweekdays
Counts days in [from, to] (inclusive on both ends) whose weekday is in weekdays (default mon-fri) and which aren't in holidays.
datemath_dayofweek date*
Day of the week for date: both the weekday name and its ISO 8601 weekday number (1=Monday..7=Sunday).
datemath_diff to*from*
Day difference between two YYYY-MM-DD dates: to minus from, in whole days. Negative if to is before from.
datemath_leapyear year*
Checks whether year is a leap year in the Gregorian calendar.
ean_validate value*
Validates an 8-digit (EAN-8), 12-digit (UPC-A), 13-digit (EAN-13), or 14-digit (GTIN-14) barcode checksum: alternating weights 1 3 applied right-to-left, check digit is (10 - sum m…
email_validate value*
Checks value is a single, bare RFC 5322 email address — syntax only, not a deliverability check. user@localhost is valid (no TLD required). "Name <email>" display syntax is rejecte…
hash_digest algo*input*encoding
Computes a hash digest of input (decoded per encoding: "text" default, "base64", or "hex") using algo: md5, sha1, sha256, sha512, or crc32. Returns the digest as lowercase hex.
iban_validate value*
Validates an IBAN's length for its issuing country (per the SWIFT IBAN registry) and its mod-97 checksum. Does not decompose the BBAN into a bank code/account number or resolve a B…
isbn_validate value*
Validates a 10- or 13-character ISBN. ISBN-10 uses weights 10..1 over 10 characters (last may be X, worth 10), sum mod 11 must be 0. ISBN-13 uses the same GTIN checksum as barcodes…
jsonschema_validate schema*document*
Validates document against schema (JSON Schema draft-07 or 2020-12). Reports one specific violation per call, not an aggregated list.
luhn_validate value*
Validates a numeric string against the Luhn (mod-10) checksum — payment card numbers, IMEI numbers, and similar identifiers.
nip_validate value*
Validates the checksum of a 10-digit Polish tax identification number (NIP). Checksum uses weights 6 5 7 2 3 4 5 6 7 over the first 9 digits; sum mod 11 must equal the 10th digit.…
pesel_validate value*
Validates the checksum of an 11-digit Polish national identification number (PESEL). Checksum uses weights 1 3 7 9 1 3 7 9 1 3 over the first 10 digits; control digit is (10 - sum…
regex_match input*pattern*
Tests input against pattern (Go's regexp package: RE2 syntax, not PCRE — no backreferences or lookaround; use inline flags like (?i) for case-insensitive matching). Returns the ful…
regon_validate value*
Validates the checksum of a 9- or 14-digit Polish business registry number (REGON). 9-digit: weights 8 9 2 3 4 5 6 7 over the first 8 digits, sum mod 11 (10 mapped to 0) must equal…
rpncalc_eval expr*
Evaluates a Reverse Polish Notation (postfix) expression: whitespace-separated tokens, each a number or an operator/function that pops its operands off a stack and pushes the resul…
swiftbic_validate value*
Structural format validation only for a SWIFT/BIC code: 8 or 11 characters (4 letters bank code + 2 letters country code + 2 alphanumeric location code + optional 3 alphanumeric br…
text_charat text*index*
Returns the 0-indexed character (rune) at index in text.
text_count text*substring*
Counts non-overlapping occurrences of substring in text (rune-safe, not byte-based).
text_palindrome text*ignoreCaseignoreNonAlnum
Checks whether text reads the same forwards and backwards. ignoreCase/ignoreNonAlnum default false (strict, literal comparison); set both true for phrase-style palindromes like "A…
text_reverse text*
Reverses text by Unicode code point (rune), not grapheme cluster.
text_sort bytext*
Sorts text's characters or words alphabetically. by: "chars" (default, sorts runes, no separator) or "words" (splits on whitespace, rejoins with a single space).
text_stats text*
Descriptive statistics for text: rune/byte/word/line counts, a unique-rune count, a letters/digits/spaces/punctuation/other breakdown, an exact per-character frequency table, and w…
text_wordcount text*
Counts whitespace-delimited words in text.
tokens_count text*modelencoding
Counts tokens under an OpenAI-compatible (tiktoken) encoding. Provide exactly one of model (e.g. "gpt-4o") or encoding ("o200k_base" or "cl100k_base"). No Claude/Anthropic tokenize…
url_validate value*
Checks value is a well-formed absolute URL (has both a scheme and a host) — syntax only, not a reachability check.
vateu_validate value*
Format validation only (no VIES lookup) for an EU VAT number: checks the 2-letter member-state prefix (EL for Greece, XI for Northern Ireland) against that country's digit/letter p…