CheckDigit

Offline check-digit validation for IBAN, BIC, EU VAT, GTIN/EAN/UPC and ISBN. Format check only.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
65%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~739Tokens (tool definitions)
~2.5 KBTypical response size
Moderate attention impact (0.58% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "checkdigit": {
      "url": "https://checkdigit.mike-tusa.workers.dev/mcp"
    }
  }
}

Remote endpoints

https://checkdigit.mike-tusa.workers.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢validate_code(code, type)

Check the format and check digits of one identifier: IBAN (ISO 13616, per-country length and layout), BIC/SWIFT (ISO 9362 format and country), EU VAT number (offline checksum, VIES not queried), GTIN/EAN-8/UPC-A/EAN-13/GTIN-14 (GS1 mod 10) or ISBN-10/13. type "auto" (default) detects the type from the shape. Returns valid, a reason when invalid (e.g. the expected check digit), and normalized/formatted forms. Format check, not a compliance check: valid does not mean the account, registration or product exists. The code is sent in a POST body and not stored or logged. Read-only. Same engine, keys and limits as POST /v1/{type}.

Input Schema

{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "The identifier to check, e.g. \"DE89 3704 0044 0532 0130 00\", \"ATU13585627\", \"4006381333931\" or \"978-0-306-40615-7\". Spaces, hyphens and dots are ignored. Max 64 characters.",
      "minLength": 1,
      "maxLength": 64
    },
    "type": {
      "type": "string",
      "description": "auto (default), iban, bic, vat, gtin or isbn.",
      "enum": [
        "auto",
        "iban",
        "bic",
        "vat",
        "gtin",
        "isbn"
      ],
      "maxLength": 6
    }
  },
  "required": [
    "code"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string"
    },
    "input": {
      "type": "string"
    },
    "normalized": {
      "type": "string"
    },
    "valid": {
      "type": "boolean"
    },
    "reason": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "country_name": {
      "type": "string"
    },
    "formatted": {
      "type": "string"
    },
    "check_digits": {
      "type": "string"
    },
    "check_digit": {
      "type": "string"
    },
    "expected_check_digit": {
      "type": "string"
    },
    "format": {
      "type": "string"
    },
    "bban": {
      "type": "string"
    },
    "bank_code": {
      "type": "string"
    },
    "sepa": {
      "type": "boolean"
    },
    "number": {
      "type": "string"
    },
    "checksum": {
      "type": "string"
    },
    "vies_checked": {
      "type": "boolean"
    },
    "ean13": {
      "type": "string"
    },
    "isbn10": {
      "type": "string"
    },
    "isbn13": {
      "type": "string"
    },
    "detected_as": {
      "type": "string"
    },
    "candidates": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "input",
    "valid"
  ]
}
🟢get_meta

Return the service version and build, supported IBAN and VAT countries, GTIN formats, the disclaimer and the current limits. Does not count as a check. Read-only. Same data as GET /v1/meta.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "service": {
      "type": "string"
    },
    "version": {
      "type": "string"
    },
    "build": {
      "type": "string"
    },
    "disclaimer": {
      "type": "string"
    },
    "endpoints": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "iban": {
      "type": "object"
    },
    "vat": {
      "type": "object"
    },
    "gtin": {
      "type": "object"
    },
    "bic": {
      "type": "object"
    },
    "limits": {
      "type": "object"
    },
    "privacy": {
      "type": "string"
    }
  },
  "required": [
    "service",
    "version"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools