npm @qinisolabs/qinisostreamable-httpApache-2.0updated 2mo ago
The deterministic fact-verification layer for AI agents.
¿Qué puedes hacer con Qiniso?
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
| Domain | Tools |
|---|---|
| Identifiers | IBAN, payment card (Luhn + brand), ISBN-13, VIN, GTIN/UPC/EAN barcodes (+ GS1 country) |
| Web / network | TLD & domain (IANA root zone), IP, UUID, URL, email |
| Finance | ISIN, CUSIP, SEDOL, LEI, US ABA routing |
| Crypto | Ethereum (EIP-55), Bitcoin (Base58Check / Bech32) addresses |
| National & tax IDs | Brazil 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 |
| Academic | ISBN-10, ISSN, ORCID |
| Locale | Phone (global), date parsing, currency, holidays (~200 countries), UK VAT-by-date |
| Addresses | UK/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
Instalación
Añade Qiniso a tu cliente. Elige el que uses.
{
"servers": {
"qiniso": {
"type": "http",
"url": "https://qiniso.qinisolabs.workers.dev/mcp"
}
}
}Add to `.vscode/mcp.json` in your workspace.
claude mcp add qiniso -- npx -y @qinisolabs/qinisocodex mcp add qiniso -- npx -y @qinisolabs/qinisoamp mcp add qiniso -- npx -y @qinisolabs/qiniso{
"mcpServers": {
"qiniso": {
"command": "npx",
"args": [
"-y",
"@qinisolabs/qiniso"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"qiniso": {
"command": "npx",
"args": [
"-y",
"@qinisolabs/qiniso"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
{
"mcpServers": {
"qiniso": {
"command": "npx",
"args": [
"-y",
"@qinisolabs/qiniso"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"qiniso": {
"command": "npx",
"args": [
"-y",
"@qinisolabs/qiniso"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"qiniso": {
"command": "npx",
"args": [
"-y",
"@qinisolabs/qiniso"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"qiniso": {
"type": "local",
"command": "npx",
"args": [
"-y",
"@qinisolabs/qiniso"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"qiniso": {
"command": {
"path": "npx",
"args": [
"-y",
"@qinisolabs/qiniso"
]
}
}
}
}Add to your Zed `settings.json`.
npx -y @qinisolabs/qinisoRun `goose configure`, choose **Add Extension → Command-line Extension**, and paste this command.
Puntuación
39 / 100
Incompleta
- Documentación17/25
- Mantenimiento22/25
- Confianza16/20
- Capacidad0/15
- Instalación15/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 71 days ago
- Has a release history
- Repository is not archived
- Licensed Apache-2.0
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 18 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint — no local install
Historial de versiones
| Versiones | Publicada |
|---|---|
| 0.5.1Última | 22 jun 2026 |
| 0.5.0 | 19 jun 2026 |
| 0.3.0 | 18 jun 2026 |
| 0.2.0 | 17 jun 2026 |
| 0.1.0 | 16 jun 2026 |