ai. ruthven/ ruthven
by ruthven.ai · remote · no sign-in to list tools · v1.0.0 · published by ai.ruthven
Read-only artwork provenance: Origin Passports, evidence states, Merkle proofs checkable on Ethereum
9 tools: 3 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things3Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http ruthven https://ruthven.ai/api/ruthven/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Changes things 3Claude Code: ask
ruthven_agent_stage_recordsThe acquisition records of a collection's AI Agents stage (ADR-010): every application as the stage's signer recorded it — the operator's signed declaration, the wallet, the ERC-80…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 The acquisition records of a collection's AI Agents stage (ADR-010): every application as the stage's signer recorded it — the operator's signed declaration, the wallet, the ERC-8004 identity and its on-chain check, the quantity, the permission's salt and signer, the time — each hashed and a leaf of a Merkle root the collection's owner commits to the RuthvenAnchor registry on Ethereum. With record_id, one record with its proof and the steps to check it against the chain without trusting RUTHVEN. Records are operator-declared; the root proves a record is the one recorded, not that a statement in it is true. No model is involved.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ruthven_askAsk a question about one asset.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 Ask a question about one asset. Returns structured JSON only: an answer, claims (each with a verification state and the evidence ids it rests on), unknowns, the full cited evidence records, and follow-up questions. Never a valuation; never a recommendation to act.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ruthven_verify_claimGiven the evidence ids a claim rests on, return the state the claim earns (the weakest among them), each record's hash and location, and how to check it independently of RUTHVEN.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 Given the evidence ids a claim rests on, return the state the claim earns (the weakest among them), each record's hash and location, and how to check it independently of RUTHVEN. Deterministic; no model is involved.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 6Claude Code: allow
ruthven_describeWhat RUTHVEN is and what an agent may do with it: the verification states, the permission model (READ and ANALYSE only), the asset types (live and placeholder), and the JSON API en…No findings
Why it is in this group
- The name "ruthven_describe" says "describe": a word for reading.
Description, as the server wrote it What RUTHVEN is and what an agent may do with it: the verification states, the permission model (READ and ANALYSE only), the asset types (live and placeholder), and the JSON API endpoints.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ruthven_get_assetThe universal RUTHVEN asset record: identity, tokenization, provenance, source works, components, construction sequence, hashes, documents, rights, verified / contextual / inferred…No findings
Why it is in this group
- The name "ruthven_get_asset" says "get": a word for reading.
Description, as the server wrote it The universal RUTHVEN asset record: identity, tokenization, provenance, source works, components, construction sequence, hashes, documents, rights, verified / contextual / inferred facts, unknowns, and counts. Claims carry evidence ids; pass include_evidence=true for the full evidence records as well (large).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ruthven_get_evidenceRetrieve the source record behind a stable evidence id (EVID-…) or an unknown id (UNK-…): where it was read from, its hash, its state, and how fresh it is.No findings
Why it is in this group
- The name "ruthven_get_evidence" says "get": a word for reading.
Description, as the server wrote it Retrieve the source record behind a stable evidence id (EVID-…) or an unknown id (UNK-…): where it was read from, its hash, its state, and how fresh it is.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ruthven_get_proofA Merkle proof that evidence records are part of the issued Origin Passport, with the entry each rests on and the steps to check it without trusting RUTHVEN: SHA-256 over the entry…No findings
Why it is in this group
- The name "ruthven_get_proof" says "get": a word for reading.
Description, as the server wrote it A Merkle proof that evidence records are part of the issued Origin Passport, with the entry each rests on and the steps to check it without trusting RUTHVEN: SHA-256 over the entry, keccak256 up the proof, and the root compared with the one in the published Passport. It proves that the record contains the entry; it does not make a statement true. With neither evidence_ids nor paths, returns the paths that can be proved. Deterministic; no model is involved.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ruthven_get_provenanceProvenance and lineage: the timeline, source works, generated elements, components, the construction sequence, relationships, chain identity, tokenization, and the evidence graph (…No findings
Why it is in this group
- The name "ruthven_get_provenance" says "get": a word for reading.
Description, as the server wrote it Provenance and lineage: the timeline, source works, generated elements, components, the construction sequence, relationships, chain identity, tokenization, and the evidence graph (cut_from, placed_as, pinned_as, pictured_by, hash_of).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
ruthven_list_evidenceThe evidence records behind an asset, each with a stable evidence_id, its source (document, locator, ipfs uri, gateway url, ledger claim id), a SHA-256, a verification state and fr…No findings
Why it is in this group
- The name "ruthven_list_evidence" says "list": a word for reading.
Description, as the server wrote it The evidence records behind an asset, each with a stable evidence_id, its source (document, locator, ipfs uri, gateway url, ledger claim id), a SHA-256, a verification state and freshness timestamps. Filter by status (VERIFIED, CONTEXT, INFERRED), type, kind, or a text query.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: 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.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http ruthven https://ruthven.ai/api/ruthven/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__ruthven__ruthven_get_asset",
"mcp__ruthven__ruthven_list_evidence",
"mcp__ruthven__ruthven_get_evidence",
"mcp__ruthven__ruthven_get_provenance",
"mcp__ruthven__ruthven_get_proof",
"mcp__ruthven__ruthven_describe"
],
"ask": [
"mcp__ruthven__ruthven_verify_claim",
"mcp__ruthven__ruthven_ask",
"mcp__ruthven__ruthven_agent_stage_records"
],
"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 ruthven. Review it before you use it.