com.apished/apished

MCPcommunitylive
v1.3.0com.apishedUnknownUpdated 16d ago

Validates PESEL/NIP/REGON/IBAN/Luhn/ISBN/EAN/BIC/VAT; RPN, dates, hash, tokens, random, encode, time

Endpoint healthlive
checked 12 days ago · 1621ms
100% of the last 5 checks reached this endpoint
Works in
ClaudeCursorCopilotChatGPTGemini

Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Automatically indexed from public sources. Not yet verified by the developer on Forge.Claim this listing →
16d agoLast update
Package
Authorcom.apished
LicenseUnknown
Version1.3.0
Sourcemcp-registry
Trust Status
B
60/100Good
Hosted endpoint only: this assessment covers who publishes it and whether it answers, not the code behind it. No CVE, dependency or source analysis applies, so nothing here is a clean bill for that code.
✓Listed in Forge index+10/10
—Publisher identity verified+0/30
→ Publisher: this listing has no repository on file, so `forge publish` cannot verify ownership automatically. Use "Claim this listing" above — Forge reviews these by hand.
—Domain verification+0/10
→ Not currently available for this listing type — the domain-verification check only runs for npm-backed packages today, so this row cannot be earned here yet regardless of what's hosted at the domain.
✓Prompt-injection scan · clean+30/30
✓Obfuscation / exfil scan · clean+20/20
StatusCommunity-indexed
PublisherUnverified
SignatureUnsigned
Domain—
Provenance—
DependenciesNot audited
Tool surface52 tools · 1 privileged
Security scan✓ Cleanvlive · 12d agoHow well does this scan work?
EvalsNone
IndexedAug 19, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

52 tools · 1 privileged
Observed live from the vendor's endpoint12d ago

Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.

  • https://apished.com/mcp52 tools · 1621ms
color_contrastComputes the WCAG 2.1 contrast ratio between two hex colors. Alpha, if present, is composited over white first.

Computes the WCAG 2.1 contrast ratio between two hex colors. Alpha, if present, is composited over white first.

ParameterTypeDescription
colorA*string—
colorB*string—
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.

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.

ParameterTypeDescription
from*stringhex, rgb, hsl, or hsv
to*stringhex, rgb, hsl, or hsv
value*—a hex string, or an {r,g,b,a?}/{h,s,l,a?}/{h,s,v,a?} object per from
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.

Converts JSON records to CSV text. columns is the explicit, ordered header — JSON object key order can't be relied on to infer it.

ParameterTypeDescription
columns*null | array—
records*null | array—
delimiterstring—
csv_parseParses CSV text into rows of string fields (no type guessing). Ragged rows are tolerated — use csv_validate to detect them.

Parses CSV text into rows of string fields (no type guessing). Ragged rows are tolerated — use csv_validate to detect them.

ParameterTypeDescription
text*string—
delimiterstringa single character, default ','
csv_statsParses CSV text (header row required) and reports per-column non-empty/empty value counts across the data rows. No numeric aggregation.

Parses CSV text (header row required) and reports per-column non-empty/empty value counts across the data rows. No numeric aggregation.

ParameterTypeDescription
text*string—
delimiterstring—
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.

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.

ParameterTypeDescription
text*string—
delimiterstring—
headerbooleandefault true
csv_validateReports whether CSV text is structurally well-formed: every row has the same field count as the first.

Reports whether CSV text is structurally well-formed: every row has the same field count as the first.

ParameterTypeDescription
text*string—
delimiterstring—
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.

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.

ParameterTypeDescription
date*stringYYYY-MM-DD
yearsinteger—
monthsinteger—
daysinteger—
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.

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.

ParameterTypeDescription
birthDate*stringYYYY-MM-DD
asOfstringYYYY-MM-DD, defaults to today
datemath_businessdaysCounts days in [from, to] (inclusive on both ends) whose weekday is in weekdays (default mon-fri) and which aren't in holidays.

Counts days in [from, to] (inclusive on both ends) whose weekday is in weekdays (default mon-fri) and which aren't in holidays.

ParameterTypeDescription
from*stringYYYY-MM-DD
to*stringYYYY-MM-DD
weekdaysnull | arraysun/mon/tue/wed/thu/fri/sat, default mon-fri
holidaysnull | arrayYYYY-MM-DD dates to exclude
datemath_dayofweekDay of the week for date: both the weekday name and its ISO 8601 weekday number (1=Monday..7=Sunday).

Day of the week for date: both the weekday name and its ISO 8601 weekday number (1=Monday..7=Sunday).

ParameterTypeDescription
date*stringYYYY-MM-DD
datemath_diffDay difference between two YYYY-MM-DD dates: to minus from, in whole days. Negative if to is before from.

Day difference between two YYYY-MM-DD dates: to minus from, in whole days. Negative if to is before from.

ParameterTypeDescription
from*stringYYYY-MM-DD
to*stringYYYY-MM-DD
datemath_leapyearChecks whether year is a leap year in the Gregorian calendar.

Checks whether year is a leap year in the Gregorian calendar.

ParameterTypeDescription
year*integer—
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.

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.

ParameterTypeDescription
formatstringiso8601 (default), unix, unixmilli, or rfc1123
timezonestringIANA timezone name, e.g. Europe/Warsaw; default UTC
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.

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.

ParameterTypeDescription
value*stringidentifier or value to check
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.

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.

ParameterTypeDescription
value*stringidentifier or value to check
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.

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.

ParameterTypeDescription
format*stringrot13, base64, base64url, base32, hex, uuencode, urlcomponent, urlform, or html
input*stringencoded text to decode
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.

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.

ParameterTypeDescription
format*stringrot13, base64, base64url, base32, hex, uuencode, urlcomponent, urlform, or html
input*stringplain UTF-8 text to encode
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.

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.

ParameterTypeDescription
algo*stringmd5, sha1, sha256, sha512, or crc32
input*stringdata to hash, encoded per encoding
encodingstringtext (default), base64, or 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.

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.

ParameterTypeDescription
algo*stringmd5, sha1, sha256, or sha512
key*stringsecret key, used as raw UTF-8 bytes
input*stringdata to authenticate, encoded per encoding
encodingstringtext (default), base64, or 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.

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.

ParameterTypeDescription
value*stringidentifier or value to check
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.

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.

ParameterTypeDescription
value*stringidentifier or value to check
jsonschema_validateValidates document against schema (JSON Schema draft-07 or 2020-12). Reports one specific violation per call, not an aggregated list.

Validates document against schema (JSON Schema draft-07 or 2020-12). Reports one specific violation per call, not an aggregated list.

ParameterTypeDescription
schema*—a JSON Schema (draft-07 or 2020-12)
document*—the JSON value to validate against schema
luhn_validateValidates a numeric string against the Luhn (mod-10) checksum — payment card numbers, IMEI numbers, and similar identifiers.

Validates a numeric string against the Luhn (mod-10) checksum — payment card numbers, IMEI numbers, and similar identifiers.

ParameterTypeDescription
value*stringidentifier or value to check
network_cidr_containsReports whether a CIDR block contains an address. Different address families (IPv4 vs IPv6) never match.

Reports whether a CIDR block contains an address. Different address families (IPv4 vs IPv6) never match.

ParameterTypeDescription
cidr*string—
address*string—
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.

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.

ParameterTypeDescription
cidr*stringan IPv4 or IPv6 CIDR block, e.g. 10.14.32.17/21
network_cidr_overlapsReports whether two CIDR blocks share any address.

Reports whether two CIDR blocks share any address.

ParameterTypeDescription
cidrA*string—
cidrB*string—
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.

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.

ParameterTypeDescription
value*stringdigits-only identifier to validate (no spaces or dashes)
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…

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 checksum-valid number with…

ParameterTypeDescription
value*stringdigits-only identifier to validate (no spaces or dashes)
pipe_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.

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.

ParameterTypeDescription
steps*null | array—
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.

Generates cryptographically random integers in [min, max] (inclusive), using crypto/rand — an actual random value, not a guess. count defaults to 1, max 1000.

ParameterTypeDescription
min*integerlower bound, inclusive
max*integerupper bound, inclusive; must be >= min
countintegerhow many numbers to generate, 1-1000, default 1
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.

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.

ParameterTypeDescription
pattern*stringan RE2 regex pattern
input*string—
maxMatchesintegerstop after this many matches; omitted/<=0 means no limit
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.

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.

ParameterTypeDescription
pattern*stringRE2 syntax
input*string—
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).

Replaces every regex match of pattern in input with replacement, which may reference capture groups as $1, $name, etc. (Go's Regexp.Expand syntax).

ParameterTypeDescription
pattern*string—
input*string—
replacement*string—
regex_splitSplits input around regex matches of pattern, returning at most limit substrings (the last holds the unsplit remainder). limit<=0 means no limit.

Splits input around regex matches of pattern, returning at most limit substrings (the last holds the unsplit remainder). limit<=0 means no limit.

ParameterTypeDescription
pattern*string—
input*string—
limitinteger—
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…

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 2 4 8 5 0 9 7 3 6 1…

ParameterTypeDescription
value*stringdigits-only identifier to validate (no spaces or dashes)
rpncalc_evalprivilegedEvaluates 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 (p…

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 ops, and constants (p…

ParameterTypeDescription
expr*stringspace-separated RPN expression, e.g. "3 4 + 2 *"
swiftbic_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.

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.

ParameterTypeDescription
value*stringidentifier or value to check
text_charatReturns the 0-indexed character (rune) at index in text.

Returns the 0-indexed character (rune) at index in text.

ParameterTypeDescription
text*string—
index*integer0-indexed
text_countCounts non-overlapping occurrences of substring in text (rune-safe, not byte-based).

Counts non-overlapping occurrences of substring in text (rune-safe, not byte-based).

ParameterTypeDescription
text*string—
substring*stringmust be non-empty
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".

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: Panama".

ParameterTypeDescription
text*string—
ignoreCaseboolean—
ignoreNonAlnumboolean—
text_reverseReverses text by Unicode code point (rune), not grapheme cluster.

Reverses text by Unicode code point (rune), not grapheme cluster.

ParameterTypeDescription
text*string—
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).

Sorts text's characters or words alphabetically. by: "chars" (default, sorts runes, no separator) or "words" (splits on whitespace, rejoins with a single space).

ParameterTypeDescription
text*string—
bystringchars (default) or words
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).

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/average plus the actual shortest/longest word (ties resolve to the first occurrence).

ParameterTypeDescription
text*string—
text_wordcountCounts whitespace-delimited words in text.

Counts whitespace-delimited words in text.

ParameterTypeDescription
text*string—
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.

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.

ParameterTypeDescription
text*string—
modelstringe.g. gpt-4o; exactly one of model/encoding
encodingstringo200k_base or cl100k_base; exactly one of model/encoding
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.

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.

ParameterTypeDescription
value*stringdecimal string
from*string—
to*string—
units_convert_temperatureConverts a temperature value (decimal string) between C, F, and K. Offset-aware, not a bare multiplier.

Converts a temperature value (decimal string) between C, F, and K. Offset-aware, not a bare multiplier.

ParameterTypeDescription
value*stringdecimal string
from*stringC, F, or K
to*stringC, F, or K
url_validateChecks value is a well-formed absolute URL (has both a scheme and a host) — syntax only, not a reachability check.

Checks value is a well-formed absolute URL (has both a scheme and a host) — syntax only, not a reachability check.

ParameterTypeDescription
value*stringidentifier or value to check
uuid_generateGenerates count (default 1, max 1000) random version-4 UUIDs from crypto/rand-backed entropy.

Generates count (default 1, max 1000) random version-4 UUIDs from crypto/rand-backed entropy.

ParameterTypeDescription
countintegerdefault 1, max 1000
uuid_validateParses value as a UUID and reports its version/variant if well-formed.

Parses value as a UUID and reports its version/variant if well-formed.

ParameterTypeDescription
value*stringdigits-only identifier to validate (no spaces or dashes)
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.

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-valid result does not mean the number is actually registered.

ParameterTypeDescription
value*stringidentifier or value to check

52 of 52 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Validates PESEL/NIP/REGON/IBAN/Luhn/ISBN/EAN/BIC/VAT; RPN, dates, hash, tokens, random, encode, time

Keywords
mcp
Alternatives
Comparing tool surfaces…

No dependency coverage

This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.