{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_f6yd2umn9qbf","handle":"apished","url":"https://wellknown.network/agents/apished","links":{"self":"https://wellknown.network/agents/apished/record.json","html":"https://wellknown.network/agents/apished","markdown":"https://wellknown.network/agents/apished/record.md","api":"https://wellknown.network/api/v1/agents/apished","status":"https://wellknown.network/api/v1/agents/apished/status","claim":"https://wellknown.network/agents/apished/claim","claimApi":"https://wellknown.network/api/v1/claims","badge":"https://wellknown.network/agents/apished/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:apished.com:server:apished","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"APIShed","summary":"Validates PESEL/NIP/REGON/IBAN/Luhn/ISBN/EAN/SWIFT-BIC/VAT; RPN calc, date math, hashing, tokens","description":"Validates PESEL/NIP/REGON/IBAN/Luhn/ISBN/EAN/SWIFT-BIC/VAT; RPN calc, date math, hashing, tokens","publisher":{"name":"com.apished","url":null},"homepage":"https://apished.com","repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://apished.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-18T16:59:26.65762Z","publishedAt":"2026-08-18T16:59:26.65762Z","registryName":"com.apished/apished"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"productivity.calendar","name":"Calendar & Scheduling","confidence":0.525,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.51,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":0.51,"provenance":"derived"}],"categories":["commerce","dev","productivity"]},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-09-05T19:27:47.524Z","lastProbedAt":"2026-09-05T19:27:47.524Z","statusComputedAt":"2026-09-05T19:28:29.491Z","reliability30d":{"probes":1,"successRate":1,"p50Ms":35},"latestObservations":[{"at":"2026-09-05T19:27:47.524Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":35,"error":null,"detail":{"tools":[{"name":"datemath_add","description":"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"},{"name":"datemath_age","description":"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."},{"name":"datemath_businessdays","description":"Counts days in [from, to] (inclusive on both ends) whose weekday is in weekdays (default mon-fri) and which aren't in holidays."},{"name":"datemath_dayofweek","description":"Day of the week for date: both the weekday name and its ISO 8601 weekday number (1=Monday..7=Sunday)."},{"name":"datemath_diff","description":"Day difference between two YYYY-MM-DD dates: to minus from, in whole days. Negative if to is before from."},{"name":"datemath_leapyear","description":"Checks whether year is a leap year in the Gregorian calendar."},{"name":"ean_validate","description":"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 "},{"name":"email_validate","description":"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>\" displ"},{"name":"hash_digest","description":"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 a"},{"name":"iban_validate","description":"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 n"},{"name":"isbn_validate","description":"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 "},{"name":"jsonschema_validate","description":"Validates document against schema (JSON Schema draft-07 or 2020-12). Reports one specific violation per call, not an aggregated list."},{"name":"luhn_validate","description":"Validates a numeric string against the Luhn (mod-10) checksum — payment card numbers, IMEI numbers, and similar identifiers."},{"name":"nip_validate","description":"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 eq"},{"name":"pesel_validate","description":"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"},{"name":"regex_match","description":"Tests input against pattern (Go's regexp package: RE2 syntax, not PCRE — no backreferences or lookaround; use inline flags like (?i) for case-insensitive matchi"},{"name":"regon_validate","description":"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 map"},{"name":"rpncalc_eval","description":"Evaluates a Reverse Polish Notation (postfix) expression: whitespace-separated tokens, each a number or an operator/function that pops its operands off a stack "},{"name":"swiftbic_validate","description":"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 + option"},{"name":"text_charat","description":"Returns the 0-indexed character (rune) at index in text."},{"name":"text_count","description":"Counts non-overlapping occurrences of substring in text (rune-safe, not byte-based)."},{"name":"text_palindrome","description":"Checks whether text reads the same forwards and backwards. ignoreCase/ignoreNonAlnum default false (strict, literal comparison); set both true for phrase-style "},{"name":"text_reverse","description":"Reverses text by Unicode code point (rune), not grapheme cluster."},{"name":"text_sort","description":"Sorts text's characters or words alphabetically. by: \"chars\" (default, sorts runes, no separator) or \"words\" (splits on whitespace, rejoins with a single space)"},{"name":"text_stats","description":"Descriptive statistics for text: rune/byte/word/line counts, a unique-rune count, a letters/digits/spaces/punctuation/other breakdown, an exact per-character fr"},{"name":"text_wordcount","description":"Counts whitespace-delimited words in text."},{"name":"tokens_count","description":"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 Claud"},{"name":"url_validate","description":"Checks value is a well-formed absolute URL (has both a scheme and a host) — syntax only, not a reachability check."},{"name":"vateu_validate","description":"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 coun"}],"toolCount":29,"serverName":"apished","capabilities":["logging","tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"datemath_add","description":"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"},{"name":"datemath_age","description":"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."},{"name":"datemath_businessdays","description":"Counts days in [from, to] (inclusive on both ends) whose weekday is in weekdays (default mon-fri) and which aren't in holidays."},{"name":"datemath_dayofweek","description":"Day of the week for date: both the weekday name and its ISO 8601 weekday number (1=Monday..7=Sunday)."},{"name":"datemath_diff","description":"Day difference between two YYYY-MM-DD dates: to minus from, in whole days. Negative if to is before from."},{"name":"datemath_leapyear","description":"Checks whether year is a leap year in the Gregorian calendar."},{"name":"ean_validate","description":"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 "},{"name":"email_validate","description":"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>\" displ"},{"name":"hash_digest","description":"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 a"},{"name":"iban_validate","description":"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 n"},{"name":"isbn_validate","description":"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 "},{"name":"jsonschema_validate","description":"Validates document against schema (JSON Schema draft-07 or 2020-12). Reports one specific violation per call, not an aggregated list."},{"name":"luhn_validate","description":"Validates a numeric string against the Luhn (mod-10) checksum — payment card numbers, IMEI numbers, and similar identifiers."},{"name":"nip_validate","description":"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 eq"},{"name":"pesel_validate","description":"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"},{"name":"regex_match","description":"Tests input against pattern (Go's regexp package: RE2 syntax, not PCRE — no backreferences or lookaround; use inline flags like (?i) for case-insensitive matchi"},{"name":"regon_validate","description":"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 map"},{"name":"rpncalc_eval","description":"Evaluates a Reverse Polish Notation (postfix) expression: whitespace-separated tokens, each a number or an operator/function that pops its operands off a stack "},{"name":"swiftbic_validate","description":"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 + option"},{"name":"text_charat","description":"Returns the 0-indexed character (rune) at index in text."},{"name":"text_count","description":"Counts non-overlapping occurrences of substring in text (rune-safe, not byte-based)."},{"name":"text_palindrome","description":"Checks whether text reads the same forwards and backwards. ignoreCase/ignoreNonAlnum default false (strict, literal comparison); set both true for phrase-style "},{"name":"text_reverse","description":"Reverses text by Unicode code point (rune), not grapheme cluster."},{"name":"text_sort","description":"Sorts text's characters or words alphabetically. by: \"chars\" (default, sorts runes, no separator) or \"words\" (splits on whitespace, rejoins with a single space)"},{"name":"text_stats","description":"Descriptive statistics for text: rune/byte/word/line counts, a unique-rune count, a letters/digits/spaces/punctuation/other breakdown, an exact per-character fr"},{"name":"text_wordcount","description":"Counts whitespace-delimited words in text."},{"name":"tokens_count","description":"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 Claud"},{"name":"url_validate","description":"Checks value is a well-formed absolute URL (has both a scheme and a host) — syntax only, not a reachability check."},{"name":"vateu_validate","description":"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 coun"}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.apished/apished","url":"https://registry.modelcontextprotocol.io/v0/servers/com.apished%2Fapished","firstSeenAt":"2026-09-05T16:18:54.223Z","fetchedAt":"2026-09-05T16:18:54.223Z","normalizedAt":"2026-09-05T16:18:54.223Z"}]},"firstSeenAt":"2026-09-05T16:18:54.223Z","updatedAt":"2026-09-05T19:28:39.818Z"}