Skip to content

com.babyblueviper/invinoveritas

by babyblueviper.com · remote · no sign-in to list tools · v1.14.1 · published by com.babyblueviper

Second opinion before an irreversible agent action; signed proofs, free verify, public ledger.

Final · 3Changes · 5

10 tools: 3 do something that can't be undone, 5 change things and 2 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http invinoveritas https://api.babyblueviper.com/mcp/verify

Findings

Matches of fixed checks, with the text they matched.

1 warn1 info
  • Warnreview

    The input schema at properties.intended_verifier.description contains a 42-character base64 string.

    Matched text

    inputSchema.properties.intended_verifier.description: "..., e.g. 'eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432'. Bound into decisi..."

    What this check looks for
  • The description mentions "Credentials".

    Matched text

    description: "...evidential states from its C2PA Content Credentials (signature/hash binding, signer trust,..."

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

10 tools

Can't be undone 3Claude Code: ask
  • conformance_certifyPublishes a verifier's current conformance grade from the public registry (conformance.json) as a permanent, signed ledger entry, labeled 'certified as of this measurement'.No findings

    Why it is in this group

    • The description's first verb is "publish": a word for a change that another call does not undo.
    Description, as the server wrote it
    Publishes a verifier's current conformance grade from the public registry (conformance.json) as a permanent, signed ledger entry, labeled 'certified as of this measurement'. It records the registry's existing measurement and cannot change it. Only works for a verifier currently listed as certified. Docs: https://api.babyblueviper.com/conformance

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Publish a verifier's conformance grade
  • ledger_submitPublishes one of your own signed review proofs (from review with sign=true) as a public entry on the invinoveritas ledger.No findings

    Why it is in this group

    • The name "ledger_submit" says "submit": a word for a change.
    • The description's first verb is "publish": a word for a change that another call does not undo.
    Description, as the server wrote it
    Publishes one of your own signed review proofs (from review with sign=true) as a public entry on the invinoveritas ledger. Publication is immediate and permanent: the entry is broadcast to Nostr relays and Bitcoin-timestamped. Only genuine invinoveritas-signed proofs are accepted. Docs: https://api.babyblueviper.com/ledger

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
    • title: Publish your verdict to the ledger
  • payment_receiptSigned receipt for one verdict-governed payment: endpoint, network, asset, max amount, payer, facilitator verdict, settlement id, denial reason, and retry state.No findings

    Why it is in this group

    • The name "payment_receipt" says "payment": a word that usually means money moves, which cannot be taken back.
    Description, as the server wrote it
    Signed receipt for one verdict-governed payment: endpoint, network, asset, max amount, payer, facilitator verdict, settlement id, denial reason, and retry state. retry_state is read from the token's authorizationState, so retrying with the same nonce cannot double-pay. Pass the signed review event and the payment args it bound; optional tx_hash. Refuses unsigned when the verdict does not verify or does not bind those args. The receipt itself checks with verify_proof. Free, no sign-in. Does not move funds. Docs: https://github.com/babyblueviper1/invinoveritas/tree/main/examples/qbtlabs-x402-verdict-gate#payment-receipt-safe-to-retry

    Annotations the server declares

    • title: Payment receipt (free)
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Changes things 5Claude Code: ask
  • audit_agent_readinessAudits a public agent or API URL for verifiability: discovery files (llms.txt, MCP card, robots, sitemap), handshake endpoints, and whether presented signed proofs validate.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Audits a public agent or API URL for verifiability: discovery files (llms.txt, MCP card, robots, sitemap), handshake endpoints, and whether presented signed proofs validate. Returns a 0-100 score, a grade, ranked fixes, and a signed proof of the audit. Every result re-derives from a public fetch. Docs: https://api.babyblueviper.com/docs

    Annotations the server declares

    • title: Agent-readiness audit
    • readOnlyHint: true
    • openWorldHint: true
    • destructiveHint: false
  • reviewIndependent verdict on a proposed action before it is taken: a code diff, shell command, deployment plan, configuration change, another agent's output, or a proposed transaction.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The input schema at properties.intended_verifier.description contains a 42-character base64 string.

      Matched text

      inputSchema.properties.intended_verifier.description: "..., e.g. 'eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432'. Bound into decisi..."

      What this check looks for
    Description, as the server wrote it
    Independent verdict on a proposed action before it is taken: a code diff, shell command, deployment plan, configuration change, another agent's output, or a proposed transaction. Returns approve / approve_with_concerns / reject with a confidence score, issues ranked by severity, suggested fixes and alternatives. With sign=true the verdict is returned as a signed proof that anyone can check later with verify_proof. The verdict is a reasoned second opinion, not a guarantee of outcome. Docs: https://api.babyblueviper.com/docs

    Annotations the server declares

    • title: Pre-action verdict
    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false
  • verify_mediaCheck whether a video, audio or image file is byte-for-byte a file a publisher registered with invinoveritas.1 finding

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Info

      The description mentions "Credentials".

      Matched text

      description: "...evidential states from its C2PA Content Credentials (signature/hash binding, signer trust,..."

      What this check looks for
    Description, as the server wrote it
    Check whether a video, audio or image file is byte-for-byte a file a publisher registered with invinoveritas. Pass the file's SHA-256 (compute it locally; the file is not sent). A match returns the registration: per-claim evidential states from its C2PA Content Credentials (signature/hash binding, signer trust, declared edit history, declared AI-generation labels: VERIFIED / DECLARED_ONLY / CONTRADICTED / INSUFFICIENT), any capture tier with its caveat, the signed verdict and the Bitcoin timestamp. No match means not registered, which says nothing either way about the file. A re-encoded copy has a different hash. It never asserts that content is true. Full checks of the file itself: POST /verify-media (upload, free). Free, no auth.

    Annotations the server declares

    • title: Verify media by hash (free)
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • verify_proofChecks a signed invinoveritas proof without trusting whoever handed it over: recomputes the event id, checks the Schnorr signature, and confirms the signing key is invinoveritas's …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Checks a signed invinoveritas proof without trusting whoever handed it over: recomputes the event id, checks the Schnorr signature, and confirms the signing key is invinoveritas's published key. Optionally pass expect_artifact_hash (sha256 of the content you received) to confirm the proof covers that exact content. Accepts the full event, or an event_id to look up. Returns {valid, checks, proof_payload}. Free, no sign-in. Docs: https://api.babyblueviper.com/verify

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Verify a proof (free)
  • witnessTimestamps and signs a third party's exact claim, unmodified and unjudged: 'we received this text, attributed to source X, at time T', not 'we agree with it'.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Timestamps and signs a third party's exact claim, unmodified and unjudged: 'we received this text, attributed to source X, at time T', not 'we agree with it'. The source is recorded as self-declared. The resulting proof checks with verify_proof. Docs: https://api.babyblueviper.com/docs

    Annotations the server declares

    • title: Witness a third-party claim
    • readOnlyHint: false
    • openWorldHint: false
    • destructiveHint: false
    • idempotentHint: false
Only reads 2Claude Code: allow
  • ledgerReads invinoveritas's public track record of signed verdicts, including ones that turned out wrong.No findings

    Why it is in this group

    • The description's first verb is "read": a word for reading.
    Description, as the server wrote it
    Reads invinoveritas's public track record of signed verdicts, including ones that turned out wrong. Each entry is a signed Nostr event whose id and signature can be recomputed against invinoveritas's published key; entries are append-only and Bitcoin-timestamped, so they can't be edited after the fact. No arguments returns the index; pass entry to read one. Free, no sign-in. Docs: https://api.babyblueviper.com/ledger

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
    • title: Public verdict ledger (free)
  • validateStatistical reality-check of a backtest from its realized returns (or trade rows), not the strategy itself.No findings

    Why it is in this group

    • The name "validate" says "validate": a word for reading.
    Description, as the server wrote it
    Statistical reality-check of a backtest from its realized returns (or trade rows), not the strategy itself. Returns likely_real / borderline / overfit_or_noise using the Deflated Sharpe Ratio (adjusted for the number of variants tried), a sign-flip permutation test, and out-of-sample decay across purged folds. Inputs are not retained beyond a redacted audit hash. Docs: https://api.babyblueviper.com/docs

    Annotations the server declares

    • title: Backtest reality-check
    • readOnlyHint: true
    • openWorldHint: false
    • destructiveHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.14.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http invinoveritas https://api.babyblueviper.com/mcp/verify

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__invinoveritas__validate",
      "mcp__invinoveritas__ledger"
    ],
    "ask": [
      "mcp__invinoveritas__review",
      "mcp__invinoveritas__verify_proof",
      "mcp__invinoveritas__payment_receipt",
      "mcp__invinoveritas__verify_media",
      "mcp__invinoveritas__witness",
      "mcp__invinoveritas__ledger_submit",
      "mcp__invinoveritas__conformance_certify",
      "mcp__invinoveritas__audit_agent_readiness"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as invinoveritas. Review it before you use it.