Qiniso

io.github.qinisolabs由 GitHub 帳號 qinisolabs 發布v0.5.1更新於 Nov 2, 2026

Deterministic fact verification for AI agents — checksums & curated data, not guesses.

已驗證Streamable HTTP可網頁執行金融開發者工具

概覽

AI 產生的概覽

Qiniso 以檢核碼與整理過的權威資料驗證 IBAN、卡號、網域、稅號、加密貨幣地址等結構化識別碼,而不是靠猜測。

可以做什麼
  • 驗證銀行與支付識別碼:IBAN、含卡別的卡號、美國 ABA 路由號碼
  • 驗證商品與物流編碼:GTIN/EAN/UPC、ISBN-13、GLN、SSCC、IMEI、VIN
  • 驗證網路與網頁值:TLD、網域、IP、URL、電子郵件、UUID
  • 驗證證券與加密貨幣識別碼:ISIN、CUSIP、SEDOL、LEI、以太坊與比特幣地址
  • 驗證多國身分證號與稅號,例如 CPF/CNPJ、Aadhaar、DNI/NIE、PESEL、BSN、CURP 等
  • 每項檢查會回傳結構化資訊,例如國家、檢核位、版本或地址類型
適用情境
當助理需要處理使用者提供的識別碼,且這些值在儲存、寄送、開立發票或付款前必須正確時使用,例如開戶與 KYC 資料、付款資訊、物流標籤、網域與連結、錢包地址。適合想要確定性的通過或失敗結論與原因、而非模型猜測的情境。
執行需求
可使用託管的遠端端點,或透過 npx 從 npm 套件 @qinisolabs/qiniso 在本機執行。未宣告需要帳號、API 金鑰、環境變數或請求標頭。參考資料已內建,檢查本身不需連網。
安裝前請注意
僅做結構驗證:只確認檢核碼與格式,不確認銀行帳戶、卡片、營業稅號、網域或證件是否真實註冊或有效,通過結果不代表合法。README 稱其在本機執行、無遙測且不索取金鑰,但託管端點屬第三方服務,送到該處的值會離開本機。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Qiniso,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.qinisolabs%2Fqiniso/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "qiniso": {
      "type": "http",
      "url": "https://qiniso.qinisolabs.workers.dev/mcp"
    }
  }
}

README

[Qiniso]

Qiniso

The deterministic fact-verification layer for AI agents.

Verified, trustworthy data tools for AI agents. "Qiniso" means "truth" in Zulu.

Website · npm · GitHub · MCP Registry


Agents confidently emit IBANs, phone numbers, domains, VAT numbers and crypto addresses that are subtly — and silently — wrong. Qiniso checks the structured facts an agent produces against checksums and curated authoritative data, so a bad value is caught instead of trusted.

On arbitrary identifiers, a frontier LLM validates them wrong ~91% of the time, cold and silently. Qiniso: 0%.

Install

bash
npm i @qinisolabs/qiniso

Use as a library

Every check is a typed function — validate locally in one pass, no MCP required:

ts
import { validateIban, validateVat, validatePhone } from "@qinisolabs/qiniso";
validateIban("GB82 WEST 1234 5698 7654 32");// { valid: true, country: "United Kingdom", checkDigits: "82", ... }
validateVat("DE136695976");          // { valid: true, country: "Germany", ... }validatePhone("020 7946 0123", "GB"); // { valid: true, e164: "+442079460123", ... }

Use as an MCP server (in Claude and other agents)

No install needed — add the hosted endpoint as a custom connector:

https://qiniso.qinisolabs.workers.dev/mcp

Or run it locally over stdio. Add this to your client's MCP config (e.g. claude_desktop_config.json):

json
{  "mcpServers": {    "qiniso": {      "command": "npx",      "args": ["-y", "-p", "@qinisolabs/qiniso", "qiniso-mcp"]    }  }}

What it verifies — 56 tools across 8 domains

DomainChecks
IdentifiersIBAN, payment card (Luhn + brand), ISBN-13, VIN, GTIN/UPC/EAN barcodes (+ GS1 country)
Web / networkTLD & domain (IANA root zone), IP, UUID, URL, email
FinanceISIN, CUSIP, SEDOL, LEI, US ABA routing
CryptoEthereum (EIP-55), Bitcoin (Base58Check / Bech32) addresses
National & tax IDsBrazil CPF/CNPJ, South Africa ID, Spain DNI/NIE, India Aadhaar, Italy, Poland, Netherlands, Belgium, Nordics, Portugal, Turkey, China, Germany Steuer-IdNr, France NIR, Switzerland AHV, Mexico CURP, Croatia OIB, Romania CNP, Bulgaria EGN, Estonia, Czech/Slovak rodné číslo, EU/UK VAT
AcademicISBN-10, ISSN, ORCID
LocalePhone (global), date parsing, currency, holidays (~200 countries), UK VAT-by-date
AddressesUK/US address parsing

What it is not

  • Not a live-data provider — it verifies facts you give it; it does not return the current time, weather, or live FX.
  • Not a credential sink — it never asks for secrets or keys.
  • Not a registration check — it validates a VAT number's checksum, not whether it is live-registered (VIES); it confirms a TLD is real, not that a domain is registered.

Privacy

This tool runs locally on your machine and is built not to collect, store, or transmit your data — no analytics, no telemetry, no account. All reference data is bundled — no network calls, and nothing leaves your device. Full policy: https://qinisolabs.github.io/privacy.html.

License

Apache-2.0

來源:packages/qiniso/README.md,提交 fddebb7

工具

56

validate_iban

Validate IBAN

USE THIS to verify an IBAN (international bank account number) before relying on it — instead of guessing whether it looks right. Checks the country, the country-specific length, and the ISO 7064 mod-97 checksum, and returns the country, check digits and BBAN. Call this whenever a user supplies a bank account for a payment, payout or invoice.

輸入參數iban必填

validate_card

Validate Card

USE THIS to check a payment card number's structure before using it — never assume a card number is valid or guess its brand. Verifies the Luhn checksum, detects the brand (Visa, Mastercard, Amex, Discover, Diners, JCB, UnionPay) from its BIN, and checks the length. Does NOT check whether the card is real, active or has funds.

輸入參數number必填

validate_isbn

Validate ISBN

USE THIS to verify an ISBN-13 book identifier instead of trusting that 13 digits are correct. Checks the 978/979 prefix and the mod-10 weighted check digit, and returns the expected check digit when it fails.

輸入參數isbn必填

validate_vin

Validate VIN

USE THIS to verify a vehicle VIN before acting on it — do not assume a 17-character string is a valid VIN. Checks the allowed alphabet (no I/O/Q) and the ISO 3779 transliteration check digit in position 9, and returns the expected check digit when it fails.

輸入參數vin必填

validate_gtin

Validate GTIN

USE THIS to verify a product barcode — GTIN/EAN/UPC — before trusting it, instead of guessing the check digit. Handles EAN-8, UPC-A (12), EAN-13 and GTIN-14, verifies the GS1 mod-10 check digit, and returns the barcode type plus the GS1 prefix's issuing country (e.g. 50 = UK, 690-699 = China, 978 = Bookland/ISBN). Validates structure only — it does NOT confirm the barcode maps to a real, registered product.

輸入參數gtin必填

validate_imei

Validate IMEI

USE THIS to verify a phone/device IMEI before relying on it — never assume a 15-digit string is valid or guess its check digit. Checks the Luhn check digit (and recognises the 16-digit IMEISV form), and returns the TAC (device-model code). Validates the number only — does NOT check whether the device is real, active, or blocklisted/stolen.

輸入參數imei必填

validate_gln

Validate GLN

USE THIS to verify a GLN (GS1 Global Location Number — identifies a company/site/location in supply chains and EDI) before relying on it. Checks the 13-digit GS1 mod-10 check digit and returns the GS1 prefix's issuing country. Validates structure only; does not confirm the location is registered.

輸入參數gln必填

validate_sscc

Validate SSCC

USE THIS to verify an SSCC (GS1 Serial Shipping Container Code — identifies a pallet/carton/logistics unit) from a shipping label before relying on it. Checks the 18-digit GS1 mod-10 check digit and returns the extension digit and GS1 prefix country. Validates structure only.

輸入參數sscc必填

validate_tld

Validate TLD

USE THIS to check whether a top-level domain is real before trusting a domain or link — do NOT guess whether a TLD like .zip, .corp, .crypto or .web exists. Checks the suffix against the authoritative IANA root-zone list (kept current). Returns valid:false for TLDs that are not actually delegated.

輸入參數tld必填

validate_domain

Validate Domain

USE THIS to verify a domain name's structure AND that its TLD is a real IANA-delegated suffix — instead of assuming a domain is legitimate. Catches invalid labels and made-up TLDs (e.g. example.corp). Returns the TLD and whether it is known.

輸入參數domain必填

validate_ip

Validate IP

USE THIS to verify an IP address before relying on it — do not assume a dotted or colon string is valid. Strictly checks IPv4 (RFC 791, rejects leading zeros / out-of-range octets) and IPv6 (RFC 4291, including '::' compression and embedded IPv4), and returns the version.

輸入參數ip必填

validate_uuid

Validate UUID

USE THIS to verify a UUID and read its version/variant instead of guessing — e.g. to tell a v4 (random) from a v7 (time-ordered) UUID. Checks the canonical 8-4-4-4-12 form and returns version, variant and whether it is the nil UUID.

輸入參數uuid必填

validate_url

Validate URL

USE THIS to verify a URL before fetching or storing it — parses it with the WHATWG URL standard and additionally checks that the host's TLD is a real IANA suffix. Returns protocol, hostname, port, path and whether the TLD is known.

輸入參數url必填

validate_email

Validate Email

USE THIS to check an email address's syntax AND that its domain TLD is real, before saving or sending — instead of trusting raw input. Validates the local part and domain (RFC 5321/5322 subset) and flags made-up TLDs. Does NOT check deliverability.

輸入參數email必填

validate_isin

Validate ISIN

USE THIS to verify an ISIN (international securities identifier) before relying on it — never assume a 12-character code is valid. Checks the format and the ISO 6166 Luhn check digit, and returns the country code. Call this when a user supplies a security/instrument identifier.

輸入參數isin必填

validate_cusip

Validate CUSIP

USE THIS to verify a CUSIP (North American securities identifier) instead of trusting 9 characters. Checks the CUSIP mod-10 check digit and returns the expected digit when it fails.

輸入參數cusip必填

validate_sedol

Validate SEDOL

USE THIS to verify a SEDOL (LSE securities identifier) before relying on it. Checks the no-vowels alphabet and the weighted mod-10 check digit.

輸入參數sedol必填

validate_lei

Validate LEI

USE THIS to verify a Legal Entity Identifier (LEI) before relying on it — do not assume a 20-character code is valid. Checks the ISO 17442 / ISO 7064 MOD 97-10 check digits.

輸入參數lei必填

validate_routing

Validate Routing

USE THIS to verify a US bank routing / ABA transit number before relying on it for a payment or direct deposit. Checks the 9-digit weighted (3,7,1) mod-10 checksum. Does NOT check whether the bank or account is real.

輸入參數routing必填

validate_eth_address

Validate ETH Address

USE THIS to verify an Ethereum address before sending funds or storing it — never trust that a 0x… string is correct. Validates the format and the EIP-55 mixed-case checksum (catches typos), and returns the correctly-checksummed form. A wrong character makes a different address — funds sent there are lost.

輸入參數address必填

validate_btc_address

Validate BTC Address

USE THIS to verify a Bitcoin address before sending funds or storing it — do not assume it is valid. Checks Base58Check (P2PKH/P2SH, double-SHA256 checksum) and Bech32/Bech32m SegWit (bc1…, incl. Taproot), and returns the address type and network. A bad checksum means a mistyped address.

輸入參數address必填

validate_cpf

Validate CPF

USE THIS to verify a Brazilian CPF (individual taxpayer ID) before relying on it — never assume 11 digits are valid. Checks the two mod-11 check digits and rejects all-identical sentinels. Call this for KYC/onboarding of Brazilian individuals.

輸入參數cpf必填

validate_cnpj

Validate CNPJ

USE THIS to verify a Brazilian CNPJ (company registration number) instead of trusting 14 digits. Checks the two mod-11 check digits. Call this for onboarding Brazilian businesses.

輸入參數cnpj必填

validate_sa_id

Validate SA ID

USE THIS to verify a South African ID number before relying on it. Checks the Luhn check digit and date-of-birth validity, and returns the date of birth, gender and citizenship status encoded in the number.

輸入參數id必填

validate_dni

Validate DNI

USE THIS to verify a Spanish DNI or NIE before relying on it — do not guess the control letter. Checks the mod-23 control letter and returns whether it is a DNI or NIE.

輸入參數id必填

validate_aadhaar

Validate Aadhaar

USE THIS to verify the format and checksum of an Indian Aadhaar number — never assume 12 digits are valid. Checks the Verhoeff check digit and the leading-digit rule. Validates structure only; does NOT look the number up.

輸入參數aadhaar必填

validate_codice_fiscale

Validate Codice Fiscale

USE THIS to verify an Italian Codice Fiscale (personal tax code) before relying on it — do not guess the final check letter. Checks the 16-character format and the mod-26 check character. Validates structure only; does NOT confirm the code is registered with the Agenzia delle Entrate.

輸入參數code必填

validate_pesel

Validate PESEL

USE THIS to verify a Polish PESEL (national identification number) before relying on it — never assume 11 digits are valid. Checks the weighted mod-10 check digit. Call this for KYC/onboarding of Polish individuals.

輸入參數pesel必填

validate_bsn

Validate BSN

USE THIS to verify a Dutch BSN (burgerservicenummer / citizen service number) before relying on it. Checks the 8–9 digit form and the '11-test' (elfproef) checksum. Validates structure only; does NOT confirm the number is issued.

輸入參數bsn必填

validate_be_nrn

Validate Be NRN

USE THIS to verify a Belgian National Register Number (Rijksregisternummer / Numéro de Registre National) before relying on it. Checks the 11-digit form and the mod-97 check (handling the born-from-2000 rule). Validates structure only.

輸入參數nrn必填

validate_personnummer

Validate Personnummer

USE THIS to verify a Swedish personnummer (personal identity number) before relying on it — never assume the digits are valid. Accepts the 10- or 12-digit form and checks the Luhn check digit. Validates structure only; does NOT confirm the number is registered.

輸入參數personnummer必填

validate_fodselsnummer

Validate Fodselsnummer

USE THIS to verify a Norwegian fødselsnummer (national identity number) before relying on it. Checks the 11-digit form and both mod-11 control digits. Validates structure only; does NOT confirm the number is registered.

輸入參數fodselsnummer必填

validate_hetu

Validate Hetu

USE THIS to verify a Finnish henkilötunnus (HETU / personal identity code) before relying on it — do not guess the check character. Checks the DDMMYY + century sign + individual number + mod-31 check character. Validates structure only.

輸入參數hetu必填

validate_nif_pt

Validate NIF PT

USE THIS to verify a Portuguese NIF (Número de Identificação Fiscal / tax number) before invoicing or onboarding — never assume 9 digits are valid. Checks the mod-11 check digit. For the Spanish tax ID use validate_dni.

輸入參數nif必填

validate_tckn

Validate TCKN

USE THIS to verify a Turkish T.C. Kimlik No (TCKN / national identity number) before relying on it — never assume 11 digits are valid. Checks both algorithmic check digits and the leading-digit rule. Validates structure only; does NOT confirm the number is registered.

輸入參數tckn必填

validate_china_ric

Validate China RIC

USE THIS to verify a Chinese Resident Identity Card number (居民身份证) before relying on it — do not guess the check character. Checks the 18-character form and the ISO 7064 MOD 11-2 check character (which may be 'X'). Validates structure only; does NOT confirm the number is registered.

輸入參數id必填

validate_de_steuer_id

Validate DE Steuer ID

USE THIS to verify a German tax ID (Steuer-Identifikationsnummer / IdNr) before relying on it — never assume 11 digits are valid. Checks the ISO 7064 product-method check digit. Validates structure only; does NOT confirm it is registered.

輸入參數id必填

validate_fr_nir

Validate FR NIR

USE THIS to verify a French social-security number (NIR / numéro de sécurité sociale, INSEE) before relying on it — do not guess the key. Checks the 13-digit body (Corsica 2A/2B handled) and the mod-97 two-digit key. Validates structure only.

輸入參數nir必填

validate_ch_ahv

Validate CH AHV

USE THIS to verify a Swiss social-insurance number (AHV/AVS, 756.…) before relying on it. Checks the 13-digit form starting 756 and the EAN-13 check digit. Validates structure only.

輸入參數ahv必填

validate_mx_curp

Validate MX CURP

USE THIS to verify a Mexican CURP (Clave Única de Registro de Población) before relying on it — do not guess the check digit. Checks the 18-character format and the base-37 check digit. Validates structure only.

輸入參數curp必填

validate_hr_oib

Validate HR Oib

USE THIS to verify a Croatian OIB (Osobni identifikacijski broj / personal identification number) before relying on it. Checks the 11-digit form and the ISO 7064 MOD 11,10 check digit. Validates structure only.

輸入參數oib必填

validate_ro_cnp

Validate RO CNP

USE THIS to verify a Romanian CNP (Cod Numeric Personal) before relying on it — never assume 13 digits are valid. Checks the weighted mod-11 check digit. Validates structure only.

輸入參數cnp必填

validate_bg_egn

Validate BG EGN

USE THIS to verify a Bulgarian EGN (Единен граждански номер) before relying on it. Checks the 10-digit form and the weighted mod-11 check digit. Validates structure only.

輸入參數egn必填

validate_ee_isikukood

Validate EE Isikukood

USE THIS to verify an Estonian isikukood (personal identification code) before relying on it. Checks the 11-digit form and the two-stage mod-11 check digit. Validates structure only.

輸入參數isikukood必填

validate_cz_rc

Validate CZ RC

USE THIS to verify a Czech or Slovak rodné číslo (birth number) before relying on it. Checks the modern 10-digit form's mod-11 rule (9-digit pre-1954 numbers have no check digit). Validates structure only.

輸入參數rc必填

validate_isbn10

Validate ISBN10

USE THIS to verify an ISBN-10 (older book identifier) instead of trusting 10 characters. Checks the mod-11 check digit (which may be 'X'). For 13-digit ISBNs use validate_isbn.

輸入參數isbn必填

validate_issn

Validate ISSN

USE THIS to verify an ISSN (serial/journal identifier) before relying on it. Checks the mod-11 check digit (which may be 'X') and returns the expected digit when it fails.

輸入參數issn必填

validate_orcid

Validate ORCID

USE THIS to verify an ORCID researcher identifier instead of trusting 16 digits. Checks the ISO 7064 MOD 11-2 check digit (which may be 'X'); accepts the bare ID or an orcid.org URL.

輸入參數orcid必填

validate_phone

Validate Phone

USE THIS to check a phone number is correctly formatted for its country and normalise it to E.164 before saving, dialling or texting. You MUST pass the ISO country the number ACTUALLY belongs to (e.g. GB, US, ZA) — the result depends on it, so don't reuse an unrelated country field. 'valid' means it conforms to that country's numbering plan (plausible, well-formed), NOT that the line is live or reachable. Returns E.164, national/international formats and line type.

輸入參數number必填region

parse_date

Parse Date

USE THIS to interpret a human-written date into ISO 8601 (YYYY-MM-DD), especially ambiguous numeric dates like 03/04/2025 which mean different things in the UK (day-first) vs US (month-first). Pass locale 'en-GB' or 'en-US'. Returns valid:false for impossible dates.

輸入參數input必填locale

format_currency

Format Currency

USE THIS to format a money amount the way a reader in a locale expects (symbol position, separators) before showing it in a price, invoice or email. e.g. 1234.5 GBP en-GB → '£1,234.50'.

輸入參數amount必填localecurrency

is_holiday

Is Holiday

USE THIS to check whether a date is a public/bank holiday when computing business-day deadlines, delivery SLAs or 'next working day'. Supports ~200 countries (ISO code, e.g. GB, US, ZA, DE, IN); GB defaults to England — pass a subdivision ('SCT'/'WLS'/'NIR', or a US state) to narrow.

輸入參數date必填subdivcountry

next_holiday

Next Holiday

USE THIS to find the next public/bank holiday on or after a date (default today) — e.g. to find the next working day. Supports ~200 countries (ISO code, e.g. GB, US, ZA, DE); subdivision narrows to a region.

輸入參數aftersubdivcountry

tax_rate

Tax Rate

USE THIS before calculating VAT or sales tax on an invoice/quote — never recall the rate from memory, it is DATE-SENSITIVE. GB returns the UK standard VAT rate that applied on the given date (handles historical/temporary changes). US has no national VAT (returns 0); pass a state code for the state base sales-tax rate. Always pass the invoice date for GB.

輸入參數datestatecountry

parse_address

Parse Address

USE THIS to extract structured {country, postcode, city, state} from a free-text UK or US address — when onboarding a user, running a KYC/fraud check, or storing an address — instead of splitting the string yourself. Returns a confidence flag.

輸入參數input必填

validate_vat

Validate VAT

USE THIS to verify an EU/EFTA VAT registration number's format and checksum before invoicing or onboarding a business — instead of trusting it looks right. Covers all EU members plus UK/EFTA. Pass the full number incl. country prefix (e.g. DE136695976) or the digits plus a country code. NOTE: checks format+checksum only; does NOT confirm the number is live-registered (that is a VIES lookup).

輸入參數vat必填country

版本歷史

1
  1. v0.5.1最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分