MCP servercom.apished/apished
Validates PESEL/NIP/REGON/IBAN/Luhn/ISBN/EAN/BIC/VAT; RPN, dates, hash, tokens, random, encode, time
Overview
Score?
UNRATED 0.824
of what a free look can see, on 32 looks
Looks
36
last 5 hr ago
Tools
52
changed 5 days ago
More info
URL
apished.com/mcp
streamable-http
Says it is
apished 1.0.0
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.824 · highest on record 0.8561
Toolsfrom sha256:cb2fca0af2…5a9399 · +19 −0 5 days ago
| Tool | Schema |
|---|---|
| color_contrast added Computes the WCAG 2.1 contrast ratio between two hex colors. Alpha, if present, is composited over white first. |
input · output |
| color_convert added Converts a color between hex, rgb, hsl, and hsv. value's shape depends on from/to: a string for hex, an object ({r,g,b,a?} etc.) otherwise. |
input · output |
| csv_from_json added Converts JSON records to CSV text. columns is the explicit, ordered header — JSON object key order can't be relied on to infer it. |
input · output |
| csv_parse added Parses CSV text into rows of string fields (no type guessing). Ragged rows are tolerated — use csv_validate to detect them. |
input · output |
| csv_stats added Parses CSV text (header row required) and reports per-column non-empty/empty value counts across the data rows. No numeric aggregation. |
input · output |
| csv_to_json added Converts CSV text to JSON: header=true (default) returns one object per data row keyed by the header row; header=false returns raw rows. Every value is a string. |
input · output |
| csv_validate added Reports whether CSV text is structurally well-formed: every row has the same field count as the first. |
input · output |
| datemath_add 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 |
input · output |
| datemath_age 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. |
input · output |
| datemath_businessdays Counts days in [from, to] (inclusive on both ends) whose weekday is in weekdays (default mon-fri) and which aren't in holidays. |
input · output |
| datemath_dayofweek Day of the week for date: both the weekday name and its ISO 8601 weekday number (1=Monday..7=Sunday). |
input · output |
| datemath_diff Day difference between two YYYY-MM-DD dates: to minus from, in whole days. Negative if to is before from. |
input · output |
| datemath_leapyear Checks whether year is a leap year in the Gregorian calendar. |
input · output |
| datetime_now Returns the actual current date/time — an LLM has a training cutoff and no live clock, so it can't know what time it actually is right now. |
input · output |
| ean_validate 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 |
input · output |
| email_validate 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 |
input · output |
| encode_decode Decodes rot13, base64, base64url, base32, hex, uuencode, urlcomponent, urlform, or html text back to the original. encoding in the result is "text" if the decoded bytes are valid U |
input · output |
| encode_encode Encodes plain UTF-8 text into rot13, base64, base64url, base32, hex, uuencode, urlcomponent (RFC 3986 percent-encoding, space -> %20), urlform (application/x-www-form-urlencoded, s |
input · output |
| hash_digest 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. |
input · output |
| hash_hmac added Computes an HMAC of input (decoded per encoding) using algo: md5, sha1, sha256, or sha512 (crc32 isn't offered — it's a checksum, not a cryptographic primitive HMAC composes with). |
input · output |
| iban_validate 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 |
input · output |
| isbn_validate 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 |
input · output |
| jsonschema_validate Validates document against schema (JSON Schema draft-07 or 2020-12). Reports one specific violation per call, not an aggregated list. |
input · output |
| luhn_validate Validates a numeric string against the Luhn (mod-10) checksum — payment card numbers, IMEI numbers, and similar identifiers. |
input · output |
| network_cidr_contains added Reports whether a CIDR block contains an address. Different address families (IPv4 vs IPv6) never match. |
input · output |
| network_cidr_info added Parses a CIDR block and reports its network address, address range, and address count. An address with host bits set (e.g. 10.14.32.17/21) is normalized to its network address in t |
input · output |
| network_cidr_overlaps added Reports whether two CIDR blocks share any address. |
input · output |
| nip_validate 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. |
input · output |
| pesel_validate 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 |
input · output |
| pipe_run added Runs a short ordered chain of existing apished operations in one call (same as POST /v1/pipe/run), passing one named field of each step's result into the next step's args. Stops at |
input · output |
| random_int Generates cryptographically random integers in [min, max] (inclusive), using crypto/rand — an actual random value, not a guess. count defaults to 1, max 1000. |
input · output |
| regex_extract added Extracts up to maxMatches non-overlapping regex matches from input, using Go's RE2-based regexp engine (linear-time, no backreferences/lookaround). Named groups (?P<name>...) are r |
input · output |
| regex_match 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 |
input · output |
| regex_replace added Replaces every regex match of pattern in input with replacement, which may reference capture groups as $1, $name, etc. (Go's Regexp.Expand syntax). |
input · output |
| regex_split added Splits input around regex matches of pattern, returning at most limit substrings (the last holds the unsplit remainder). limit<=0 means no limit. |
input · output |
| regon_validate 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 |
input · output |
| rpncalc_eval 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 |
input · output |
| swiftbic_validate 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 |
input · output |
| text_charat Returns the 0-indexed character (rune) at index in text. |
input · output |
| text_count Counts non-overlapping occurrences of substring in text (rune-safe, not byte-based). |
input · output |
| text_palindrome 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 |
input · output |
| text_reverse Reverses text by Unicode code point (rune), not grapheme cluster. |
input · output |
| text_sort Sorts text's characters or words alphabetically. by: "chars" (default, sorts runes, no separator) or "words" (splits on whitespace, rejoins with a single space). |
input · output |
| text_stats 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 |
input · output |
| text_wordcount Counts whitespace-delimited words in text. |
input · output |
| tokens_count 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 |
input · output |
| units_convert_datasize added Converts a data-size value (decimal string) between bit, Kbit, Mbit, Gbit, Tbit (SI bits), B, KB, MB, GB, TB, PB (SI bytes), and KiB, MiB, GiB, TiB, PiB (IEC bytes). Always exact. |
input · output |
| units_convert_temperature added Converts a temperature value (decimal string) between C, F, and K. Offset-aware, not a bare multiplier. |
input · output |
| url_validate Checks value is a well-formed absolute URL (has both a scheme and a host) — syntax only, not a reachability check. |
input · output |
| uuid_generate added Generates count (default 1, max 1000) random version-4 UUIDs from crypto/rand-backed entropy. |
input · output |
| uuid_validate added Parses value as a UUID and reports its version/variant if well-formed. |
input · output |
| vateu_validate 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 |
input · output |
Verify it yourself
npx teppi-check https://apished.com/mcpcurl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ2508QBNK9KWVQ2MHAQXJ