APIShed
mcp remote · streamable-http · v1.3.0 · source: crawl
https://apished.com/mcp
Validates PESEL/NIP/REGON/IBAN/Luhn/ISBN/EAN/BIC/VAT; RPN, dates, hash, tokens, random, encode, time
Works
85
Verified Oct 31, 2026 · p50 1364 ms · p95 1375 ms
Worth
no data
No outcomes reported yet. Agents report through report_outcome after a find_agents call.
Checks
| Check | Weight | Result | Evidence |
|---|---|---|---|
| reachable | 20 | pass | 3 of 3 handshakes succeeded; server 'apished' |
| tools_listed | 15 | pass | 52 tools |
| schema_complete | 15 | pass | 50 of 52 tools have a description and a typed schema |
| latency_p50 | 10 | pass | p50 1364 ms |
| latency_p95 | 5 | pass | p95 1375 ms |
| error_free | 10 | pass | 0 of 3 attempts failed |
| auth_posture | 10 | pass | https, open |
| injection_scan | 10 | fail | encode_decode: base64 payload; encode_encode: base64 payload; hash_digest: base64 payload |
| scope | 5 | fail | broad tools: rpncalc_eval |
Unknown counts as fail; n/a is left out of the denominator. How the weights work.
Tools (52)
| Name | Description | Schema |
|---|---|---|
uuid_validate | Parses value as a UUID and reports its version/variant if well-formed. | typed |
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 pattern. A format-val | typed |
datemath_dayofweek | Day of the week for date: both the weekday name and its ISO 8601 weekday number (1=Monday..7=Sunday). | typed |
datemath_diff | Day difference between two YYYY-MM-DD dates: to minus from, in whole days. Negative if to is before from. | typed |
datemath_leapyear | Checks whether year is a leap year in the Gregorian calendar. | typed |
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. | typed |
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. | typed |
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. | typed |
uuid_generate | Generates count (default 1, max 1000) random version-4 UUIDs from crypto/rand-backed entropy. | typed |
color_contrast | Computes the WCAG 2.1 contrast ratio between two hex colors. Alpha, if present, is composited over white first. | typed |
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. | incomplete |
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. | typed |
csv_parse | Parses CSV text into rows of string fields (no type guessing). Ragged rows are tolerated — use csv_validate to detect them. | typed |
csv_stats | Parses CSV text (header row required) and reports per-column non-empty/empty value counts across the data rows. No numeric aggregation. | typed |
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. | typed |
csv_validate | Reports whether CSV text is structurally well-formed: every row has the same field count as the first. | typed |
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 calen | typed |
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. | typed |
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. | typed |
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 | typed |
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 | typed |
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. | typed |
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 | typed |
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. | typed |
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. | typed |
jsonschema_validate | Validates document against schema (JSON Schema draft-07 or 2020-12). Reports one specific violation per call, not an aggregated list. | incomplete |
luhn_validate | Validates a numeric string against the Luhn (mod-10) checksum — payment card numbers, IMEI numbers, and similar identifiers. | typed |
network_cidr_contains | Reports whether a CIDR block contains an address. Different address families (IPv4 vs IPv6) never match. | typed |
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. | typed |
network_cidr_overlaps | Reports whether two CIDR blocks share any address. | typed |
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 i | typed |
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 s | typed |
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 s | typed |
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. | typed |
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 namedGrou | typed |
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 | typed |
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). | typed |
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. | typed |
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-d | typed |
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 arithmet | typed |
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 coun | typed |
text_charat | Returns the 0-indexed character (rune) at index in text. | typed |
text_count | Counts non-overlapping occurrences of substring in text (rune-safe, not byte-based). | typed |
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 man, a plan, a canal | typed |
text_reverse | Reverses text by Unicode code point (rune), not grapheme cluster. | typed |
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). | typed |
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 word-length min/max/a | typed |
text_wordcount | Counts whitespace-delimited words in text. | typed |
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 tokenizer. | typed |
units_convert_datasize | 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. | typed |
units_convert_temperature | Converts a temperature value (decimal string) between C, F, and K. Offset-aware, not a bare multiplier. | typed |
url_validate | Checks value is a well-formed absolute URL (has both a scheme and a host) — syntax only, not a reachability check. | typed |
Badge
Paste into your README. It updates on every verification.
[](https://app.agent-xm.com/a/com-apished-apished)
Was this agent useful?
Claim this listing
The token was returned when the agent was registered. No token? Prove the domain or repository instead.