ID & Format Oracle

tech.noahsarchPublished by noahsarch.techOfficial publisherv0.1.1Updated Nov 1, 2026

Validate IBAN, BIC, VAT, national IDs, phones, postal codes offline; 240+ identifiers.

The publisher's own server: Business-Day Oracle

VerifiedStreamable HTTPWeb executableFinanceDeveloper ToolsData & Analytics

Overview

AI-generated overview

Remote MCP server that lets an assistant validate and normalise 240+ identifier types offline — national IDs, VAT numbers, IBAN/BIC, phones and postal codes.

What you can do
  • Validate and normalise a known identifier type, returning compact and formatted forms, checks performed, reasons for failure and encoded details such as birth date or holder type
  • List the catalogue of 240+ identifier codes across 90+ countries and international standards, filterable by country and category
  • Detect the likely type of an unknown number by trying every validator for a country plus international ones, best match first
  • Validate IBANs with country, bank code, branch, bank name, BIC and SEPA membership, and validate BICs with structure and bank details
  • Parse phone numbers for any country into E.164, international and national formats with number type, region and time zones
  • Check…
When to use it
Useful when an assistant handles forms, onboarding data, invoices or documents containing numbers whose type or correctness matters — checking an IBAN before a payment instruction, identifying an unknown ID number, or normalising phone and postal data. It only confirms structure, so it suits data-quality and format checks rather than verification of identity or existence.
Requirements
A remote streamable HTTP endpoint; nothing to install locally. The catalogue and free tools work without credentials. An API key sent in the X-API-Key header is available on request by email for the remaining tools.
Before you install
The API key is a secret sent in the X-API-Key header; keep it out of logs and shared configurations. Results are structural only: a pass does not prove an identifier was issued or belongs to a person, and no registry lookups are performed, so do not treat output as identity verification. Identifier values submitted are sent to a third-party service.

Installation

In SourceWeft

  1. Open ID & Format Oracle in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/tech.noahsarch%2Fid-format-oracle/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "id-format-oracle": {
      "type": "http",
      "url": "https://idcheck.noahsarch.tech/mcp"
    }
  }
}

Tools

7

validate_identifier

Validate an identifier of a known type

Validate and normalise one identifier whose type you know (format, length, dates and check digits). Returns valid, compact and formatted forms, the checks performed, a reason when invalid, and extracted details where the number encodes them (birth date, sex, holder type). Example: number '784-1990-1234567-1', code 'ae_emirates_id'. Response: result plus data_confidence (high = check-digit algorithm from a public specification; medium = community-documented checksum or pattern-only; low = structure only), estimated_items[], sources[], data_version and a disclaimer (structural validation only — never proof that an identifier is issued or belongs to someone).

Parameterscoderequirednumberrequired

list_identifiers

List supported identifier types

Catalogue of the identifier codes this service validates (250+ across 90 countries plus international standards), filterable by country and category. Free. Call it once to find the right code for validate_identifier. Response: result plus data_confidence (high = check-digit algorithm from a public specification; medium = community-documented checksum or pattern-only; low = structure only), estimated_items[], sources[], data_version and a disclaimer (structural validation only — never proof that an identifier is issued or belongs to someone).

Parameterscountrycategory

detect_identifier

Detect what kind of identifier a value is

Try every validator for the given country plus the international ones and return the types that accept the value, best first (checksum-bearing types rank above pattern-only ones). Use when a document or form field holds a number of unknown type. A match is structural, not proof of type. Example: number '12345678901', country 'KW'. Response: result plus data_confidence (high = check-digit algorithm from a public specification; medium = community-documented checksum or pattern-only; low = structure only), estimated_items[], sources[], data_version and a disclaimer (structural validation only — never proof that an identifier is issued or belongs to someone).

Parametersnumberrequiredcountry

validate_iban

Validate an IBAN

Validate an IBAN (ISO 13616 length, mod-97 and national BBAN rules) and return the country, bank code, branch, bank name and BIC where the bundled registry knows it, SEPA membership, compact and printed forms. Example: 'AE070331234567890123456'. Response: result plus data_confidence (high = check-digit algorithm from a public specification; medium = community-documented checksum or pattern-only; low = structure only), estimated_items[], sources[], data_version and a disclaimer (structural validation only — never proof that an identifier is issued or belongs to someone).

Parametersibanrequired

validate_bic

Validate a BIC / SWIFT code

Validate a BIC (ISO 9362): structure, country code, test-BIC flag, bank and branch parts, and the bank name(s) where known. Example: 'EBILAEAD'. Response: result plus data_confidence (high = check-digit algorithm from a public specification; medium = community-documented checksum or pattern-only; low = structure only), estimated_items[], sources[], data_version and a disclaimer (structural validation only — never proof that an identifier is issued or belongs to someone).

Parametersbicrequired

validate_phone

Validate and format a phone number

Parse a phone number for any country, say whether it is valid (matches a national numbering-plan pattern) or merely possible, and return E.164, international and national formats, number type (mobile/fixed_line/toll_free…), region, location, original carrier hint and time zones. Example: number '050 123 4567', default_region 'AE'. Response: result plus data_confidence (high = check-digit algorithm from a public specification; medium = community-documented checksum or pattern-only; low = structure only), estimated_items[], sources[], data_version and a disclaimer (structural validation only — never proof that an identifier is issued or belongs to someone).

Parametersnumberrequiredlanguagedefault_region

validate_postal_code

Validate a postal code format

Check a postal/ZIP code against the national format for 158 countries, and say so when the country has no postal codes (UAE, Qatar…). Pattern check only. Example: code '11564', country 'SA'. Response: result plus data_confidence (high = check-digit algorithm from a public specification; medium = community-documented checksum or pattern-only; low = structure only), estimated_items[], sources[], data_version and a disclaimer (structural validation only — never proof that an identifier is issued or belongs to someone).

Parameterscoderequiredcountryrequired

Version history

1
  1. v0.1.1LatestNov 1, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.

Other Noahsarch integrations