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.
10 tools: 3 do something that can't be undone, 5 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone3Claude Code: ask: see these tools
- Changes things5Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
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/verifyFindings
Matches of fixed checks, with the text they matched.
- Warnreview
The input schema at properties.intended_verifier.description contains a 42-character base64 string.
What this check looks forMatched text
inputSchema.properties.intended_verifier.description: "..., e.g. 'eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432'. Bound into decisi..."
- Infoverify_media
The description mentions "Credentials".
What this check looks forMatched text
description: "...evidential states from its C2PA Content Credentials (signature/hash binding, signer trust,..."
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.
What this check looks forMatched text
inputSchema.properties.intended_verifier.description: "..., e.g. 'eip155:8453:0x8004A169FB4a3325136EB29fA0ceB6D2e539a432'. Bound into decisi..."
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".
What this check looks forMatched text
description: "...evidential states from its C2PA Content Credentials (signature/hash binding, signer trust,..."
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/verifyRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.