Qiniso

Registre officiel Sécurité

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

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

Remote (streamable-http)
Claude Code
claude mcp add --transport http qiniso 'https://qiniso.qinisolabs.workers.dev/mcp'
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "qiniso": {
            "type": "http",
            "url": "https://qiniso.qinisolabs.workers.dev/mcp"
        }
    }
}
NPM package @qinisolabs/qiniso
Claude Code
claude mcp add qiniso -- npx -y @qinisolabs/qiniso@0.5.0
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "qiniso": {
            "command": "npx",
            "args": [
                "-y",
                "@qinisolabs/qiniso@0.5.0"
            ]
        }
    }
}

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. Qiniso
  2. Add it to Claude
  3. Use it as a library
  4. What it verifies — 56 tools across 8 domains
  5. What it is not
  6. Architecture
  7. License

Qiniso

The deterministic fact-verification layer for AI agents.

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

Website · npm · MCP endpoint · 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.

It's the deterministic complement to the guardrail stack: security guardrails check whether output is safe, structure guardrails check it's well-formed, and hallucination guardrails ask another LLM if it's faithful to the prompt. None of them check whether a structured fact is actually correct against the real world — because that needs computation or curated data, not another model's opinion. That's Qiniso.

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

Add it to Claude

Settings → Connectors → Add custom connector, and paste — no login, no key:

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

Stateless, reads no user data, requires no secrets.

Use it as a library

Every check is also a typed function — no MCP required:

npm i @qinisolabs/qiniso
import { validateIban, validateVat } from "@qinisolabs/qiniso";

validateIban("GB82 WEST 1234 5698 7654 32");
// { valid: true, country: "United Kingdom", ... }

What it verifies — 56 tools across 8 domains

DomainTools
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

Each tool wraps an authoritative method — a published checksum standard, an audited library (libphonenumber-js, jsvat, date-holidays, @noble/hashes), or curated reference data (the IANA root zone, UK VAT history).

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 exchange rates.
  • Not a credential sink. It never asks for secrets or API keys. (For JWT signature verification, use a library in your own runtime so the secret never leaves your machine.)
  • Not a registration check. It validates a VAT number's checksum, not whether it is live-registered (VIES); it confirms a domain's TLD is real, not that the domain is registered.

Architecture

A TypeScript monorepo. Each domain is a typed library in packages/*; the qiniso umbrella aggregates them and exposes one MCP server over three transports — stdio (local / npx), Streamable HTTP (self-host), and a Cloudflare Worker (the hosted edge endpoint). The same core powers the importable library.

npm install
npm run build
npm test

License

Apache-2.0

Questions fréquentes

Qu'est-ce que Qiniso ?

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

Comment installer Qiniso ?

Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http qiniso 'https://qiniso.qinisolabs.workers.dev/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Qiniso ?

Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.

Qiniso est-il open source ?

Oui. Son code est sur GitHub sous licence Apache-2.0.

Qui maintient Qiniso ?

Il est publié par qinisolabs. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.