APIShed
by apished.com in Onchain & crypto
Validates PESEL/NIP/REGON/IBAN/Luhn/ISBN/EAN/BIC/VAT; RPN, dates, hash, tokens, random, encode, time
https://apished.com/mcp- Tools
- 52
- open to any client
- Uptime
- 66.7%
- last 30 days
- Response time
- 192 ms
- 249 ms slowest 5%
- Last check
- Passed
- 9 h ago, next any minute now
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"apished": {
"type": "http",
"url": "https://apished.com/mcp"
}
}
}52 tools
- color_contrast
Computes the WCAG 2.1 contrast ratio between two hex colors. Alpha, if present, is composited over white first.
- color_convert
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.
- csv_from_json
Converts JSON records to CSV text. columns is the explicit, ordered header — JSON object key order can't be relied on to infer it.
- csv_parse
Parses CSV text into rows of string fields (no type guessing). Ragged rows are tolerated — use csv_validate to detect them.
- csv_stats
Parses CSV text (header row required) and reports per-column non-empty/empty value counts across the data rows. No numeric aggregation.
- csv_to_json
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.
- csv_validate
Reports whether CSV text is structurally well-formed: every row has the same field count as the first.
- 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 applied as plain calendar-day arithmetic.
- 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.
- 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.
- datemath_dayofweek
Day of the week for date: both the weekday name and its ISO 8601 weekday number (1=Monday..7=Sunday).
- datemath_diff
Day difference between two YYYY-MM-DD dates: to minus from, in whole days. Negative if to is before from.
- datemath_leapyear
Checks whether year is a leap year in the Gregorian calendar.
- 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.
- 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 mod 10) mod 10.
- 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 rejected.
- 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 UTF-8, or "base64" if they're binary.
- 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, space -> +), or html (entity-escapes < > & ' "). Returns plain ASCII.
- 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.
- hash_hmac
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). key is used as its raw UTF-8 bytes, not decoded per encoding. Returns the MAC as lowercase hex.
- 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 BIC.
- 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.
- jsonschema_validate
Validates document against schema (JSON Schema draft-07 or 2020-12). Reports one specific violation per call, not an aggregated list.
- luhn_validate
Validates a numeric string against the Luhn (mod-10) checksum — payment card numbers, IMEI numbers, and similar identifiers.
- network_cidr_contains
Reports whether a CIDR block contains an address. Different address families (IPv4 vs IPv6) never match.
- network_cidr_info
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 the result.
- network_cidr_overlaps
Reports whether two CIDR blocks share any address.
- 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. A sum mod 11 of 10 is itself invalid.
- 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 mod 10) mod 10. On success also decodes the date of birth and sex embedded in the number; a…
- pipe_run
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 the first failing step.
- 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.
- regex_extract
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 reported in namedGroups.
- 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 full match and captured groups.
- regex_replace
Replaces every regex match of pattern in input with replacement, which may reference capture groups as $1, $name, etc. (Go's Regexp.Expand syntax).
- regex_split
Splits input around regex matches of pattern, returning at most limit substrings (the last holds the unsplit remainder). limit<=0 means no limit.
- 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 the 9th digit. 14-digit: the first 9 digits must themselves be a valid 9-digit REGON, and weights…
- 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 result. Supports arithmetic, exponentiation/modulo, roots, trigonometry, logarithms, rounding, bitwise…
- 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 branch code). The country code is not cross-checked against ISO 3166-1.
- text_charat
Returns the 0-indexed character (rune) at index in text.
- text_count
Counts non-overlapping occurrences of substring in text (rune-safe, not byte-based).
Security scan
No findings
We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 9 h ago | Passed | 200 | 189 ms |
| 19 h ago | Passed | 200 | 195 ms |
| 29 h ago | Passed | 200 | 192 ms |
| 40 h ago | Passed | 200 | 199 ms |
| 2 days ago | Passed | 200 | 181 ms |
Show 7 older checks
| 2 days ago | Passed | 200 | 223 ms |
| 3 days ago | Passed | 200 | 249 ms |
| 3 days ago | Passed | 200 | 159 ms |
| 4 days ago | initialize returned HTTP 502 | 502 | 224 ms |
| 6 days ago | initialize returned HTTP 502 | 502 | 196 ms |
| 6 days ago | initialize returned HTTP 502 | 502 | 206 ms |
| 6 days ago | initialize returned HTTP 502 | 502 | 196 ms |