All servers · Utilities · Payments & accounting · Tasks & projects
APIShed
com.apished/apished · v1.3.0
Measured by MCP Station
| Last check | Reachable |
|---|---|
| Checked at | — |
| Check success 7 / 30 days | — |
| First-try success 30 days | — |
| Median response | — |
| Lookups 30 days | — |
| Authentication | No auth |
| MCP version | 2025-06-18 |
| Rank score | — |
| Declared risk | Not declared (tools carry no read/destructive hints) |
| Capabilities declared | logging, tools |
| Tool definitions | 52 tools · with description 100% · input schema is an object 100% · read/destructive hints 0% |
Description written by the publisher, not verified
Validates PESEL/NIP/REGON/IBAN/Luhn/ISBN/EAN/BIC/VAT; RPN, dates, hash, tokens, random, encode, time
Connect
streamable-http · https://apished.com/mcp
claude mcp add --transport http apished https://apished.com/mcp{
"mcpServers": {
"apished": {
"url": "https://apished.com/mcp"
}
}
}Tools as reported by the server
color_contrastComputes the WCAG 2.1 contrast ratio between two hex colors. Alpha, if present, is composited over white first.color_convertConverts 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_jsonConverts JSON records to CSV text. columns is the explicit, ordered header — JSON object key order can't be relied on to infer it.csv_parseParses CSV text into rows of string fields (no type guessing). Ragged rows are tolerated — use csv_validate to detect them.csv_statsParses CSV text (header row required) and reports per-column non-empty/empty value counts across the data rows. No numeric aggregation.csv_to_jsonConverts 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_validateReports whether CSV text is structurally well-formed: every row has the same field count as the first.datemath_addAdds 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_ageAge 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_businessdaysCounts days in [from, to] (inclusive on both ends) whose weekday is in weekdays (default mon-fri) and which aren't in holidays.datemath_dayofweekDay of the week for date: both the weekday name and its ISO 8601 weekday number (1=Monday..7=Sunday).datemath_diffDay difference between two YYYY-MM-DD dates: to minus from, in whole days. Negative if to is before from.datemath_leapyearChecks whether year is a leap year in the Gregorian calendar.datetime_nowReturns 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_validateValidates 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_validateChecks 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_decodeDecodes 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_encodeEncodes 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_digestComputes 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_hmacComputes 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_validateValidates 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_validateValidates 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_validateValidates document against schema (JSON Schema draft-07 or 2020-12). Reports one specific violation per call, not an aggregated list.luhn_validateValidates a numeric string against the Luhn (mod-10) checksum — payment card numbers, IMEI numbers, and similar identifiers.network_cidr_containsReports whether a CIDR block contains an address. Different address families (IPv4 vs IPv6) never match.network_cidr_infoParses 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_overlapsReports whether two CIDR blocks share any address.nip_validateValidates 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_validateValidates 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 checksum-valid number with apipe_runRuns 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_intGenerates cryptographically random integers in [min, max] (inclusive), using crypto/rand — an actual random value, not a guess. count defaults to 1, max 1000.regex_extractExtracts 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_matchTests 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_replaceReplaces every regex match of pattern in input with replacement, which may reference capture groups as $1, $name, etc. (Go's Regexp.Expand syntax).regex_splitSplits input around regex matches of pattern, returning at most limit substrings (the last holds the unsplit remainder). limit<=0 means no limit.regon_validateValidates 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 2 4 8 5 0 9 7 3 6 1 2rpncalc_evalEvaluates 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 ops, and constants (piswiftbic_validateStructural 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_charatReturns the 0-indexed character (rune) at index in text.text_countCounts non-overlapping occurrences of substring in text (rune-safe, not byte-based).text_palindromeChecks 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: Panama".text_reverseReverses text by Unicode code point (rune), not grapheme cluster.text_sortSorts text's characters or words alphabetically. by: "chars" (default, sorts runes, no separator) or "words" (splits on whitespace, rejoins with a single space).text_statsDescriptive 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/average plus the actual shortest/longest word (ties resolve to the first occurrence).text_wordcountCounts whitespace-delimited words in text.tokens_countCounts 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.units_convert_datasizeConverts 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.units_convert_temperatureConverts a temperature value (decimal string) between C, F, and K. Offset-aware, not a bare multiplier.url_validateChecks value is a well-formed absolute URL (has both a scheme and a host) — syntax only, not a reachability check.uuid_generateGenerates count (default 1, max 1000) random version-4 UUIDs from crypto/rand-backed entropy.uuid_validateParses value as a UUID and reports its version/variant if well-formed.vateu_validateFormat 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-valid result does not mean the number is actually registered.
Website · JSON · Text for agents · Registry updated 2026-09-27