Privi Ledger
REMOTE · PRIVI-LEDGER-PRODUCTION.UP.RAILWAY.APP
Tamper-evident audit logs for AI agents. Auditors verify integrity, paid per call via x402.
Available components
Last scanned (23 hours ago)
Scores higher than 6% of remote servers
Reachable. Last reached 23 Oct 2026.
Category Security
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not yet verified: we couldn't confirm whether this endpoint requires it. View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability0
- Transport check failed: declared streamable-http, but the endpoint returned HTTP 404. See how to fix → View diagnostics → Fail
Schema Quality & AI Usability0
- Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.Unverified
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage0
- Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Tool Safety0
- Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.Unverified
Capabilities0
- Capabilities not yet verified: we couldn't read the endpoint's capabilities.Unverified
Unverified: 5 categories
Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Oct 26 −48
- Endpoint reachability: reachable → not serving MCP ▼ security
- Authorization: partial → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Transport: pass → fail ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 20 Oct 26 71
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 23 Oct 2026 · Probed https://privi-ledger-production.up.railway.app/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=*.up.railway.app | CN=YE2,O=Let's Encrypt,C=US | 27 Sept 2026 | 26 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 618edc56941aa1165ddb080bf9f799eb7c1 |
| SANs: *.up.railway.app, up.railway.app | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of privi-ledger-production.up.railway.app. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| app. | present | 23684 | 8 | Verified |
| railway.app. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication Inconclusive
We could not reach the endpoint well enough to judge its authorisation posture.
| Result | Inconclusive |
|---|---|
| HTTP status | 404 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://privi-ledger-production.up.railway.app/mcp | HTTP error | 404 | |
| http (plaintext) | http://privi-ledger-production.up.railway.app/mcp | HTTPS enforced | 301 | https://privi-ledger-production.up.railway.app/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
ledger_audit_stream Audit a stream ~111
Check whether an agent's action log is intact: entry count, time span, action and failure counts, head hash, and where tampering broke the chain if it did. Does not reveal the actions themselves. Paid per call via x402.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string | yes | Organization ID, e.g. org_1a2b3c4d5e6f7a8b |
| stream_id | string | yes | Stream ID, usually the agent's name |
No output schema declared.
No examples provided.
ledger_check_receipt Check a receipt ~53
Confirm that an action receipt exists in the ledger and when it was recorded. Reveals no action contents. Free.
| Name | Type | Req | Description |
|---|---|---|---|
| entry_hash | string | yes | 64-character hex entry_hash returned when the action was recorded |
No output schema declared.
No examples provided.
ledger_compliance_report Compliance report ~155
Audit-ready report of your AI agents' activity for a period (SOC 2 evidence, security questionnaires, AI-regulation record keeping): actions by type, failures, human approvals, log integrity, on-chain status, and findings. The report's hash is anchored on the Privi blockchain so it cannot be edited later without detection. Requires the organization API key.
| Name | Type | Req | Description |
|---|---|---|---|
| since | – | – | Start of period, ISO 8601 UTC (e.g. 2026-10-01T00:00:00Z). Omit for all history |
| streams | – | – | Only these streams; omit for all |
| until | – | – | End of period, ISO 8601 UTC. Omit for now |
No output schema declared.
No examples provided.
ledger_handshake_accept Accept a handshake ~106
Accept a handshake addressed to your organization: records the same terms in your log, confirms it in the other company's log, and seals the matched pair on the Privi chain. Requires your organization API key. Read the terms first with ledger_handshake_inbox.
| Name | Type | Req | Description |
|---|---|---|---|
| actor | string | yes | Who is accepting on your side |
| handshake_id | string | yes | hs_... ID from the offer |
| stream_id | string | yes | Your stream to record it in |
No output schema declared.
No examples provided.
ledger_handshake_inbox Handshake inbox ~36
Handshakes sent to and from your organization, newest first, with their terms and status. Requires your organization API key.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ledger_handshake_offer Offer a handshake ~237
Start a Privi Handshake: a two-sided record of a dealing with another company's agent (payment, data transfer, delivery, agreement). Recorded in your log now; when the other company accepts, both logs hold matching entries and the pair is sealed on the Privi chain. Requires your organization API key; the other company must also use Privi Ledger.
| Name | Type | Req | Description |
|---|---|---|---|
| action_type | string | yes | One of: tool_call, data_access, data_change, payment, message, decision, approval, error, other |
| actor | string | yes | Who is acting on your side |
| counterparty_org_id | string | yes | org_id of the other company (must be on Privi Ledger) |
| details | – | – | Terms as structured data (amounts, quantities, dates) |
| expires_hours | number | – | Hours the other company has to respond |
| resource | string | – | Invoice, order, dataset, contract or other reference |
| stream_id | string | yes | Your stream to record it in, usually your agent's name |
| summary | string | yes | What is being agreed or done between the two companies |
No output schema declared.
No examples provided.
ledger_handshake_reject Reject a handshake ~65
Reject a handshake addressed to your organization; the other company's log records the rejection. Requires your organization API key.
| Name | Type | Req | Description |
|---|---|---|---|
| handshake_id | string | yes | hs_... ID from the offer |
| reason | string | – | Why it is rejected (shared with the other company) |
No output schema declared.
No examples provided.
ledger_handshake_verify Verify a handshake ~61
Public check of a handshake: both companies, status, whether both matching log entries still exist, and the on-chain seal. Never reveals the terms. Free; useful for disputes and audits.
| Name | Type | Req | Description |
|---|---|---|---|
| handshake_id | string | yes | hs_... handshake ID |
No output schema declared.
No examples provided.
ledger_list_streams List streams ~24
List your organization's streams with entry counts. Requires the organization API key.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ledger_pricing Ledger pricing ~27
List Privi Ledger tools, what each costs, and how to get an organization key.
Input schema present but exposes no named parameters.
Structured output declared, but exposes no named fields.
No examples provided.
ledger_read_stream Read a stream ~71
Read your organization's entries in a stream, oldest first, with an integrity check of the whole stream. Requires the organization API key.
| Name | Type | Req | Description |
|---|---|---|---|
| after_seq | integer | – | Return entries after this sequence number |
| limit | integer | – | Max entries to return |
| stream_id | string | yes | Stream ID |
No output schema declared.
No examples provided.
ledger_record_action Record an agent action ~181
Append an action to the organization's tamper-evident log. Returns the entry with its entry_hash receipt. Requires the organization API key.
| Name | Type | Req | Description |
|---|---|---|---|
| action_type | string | yes | One of: tool_call, data_access, data_change, payment, message, decision, approval, error, other |
| actor | string | yes | Who acted: agent name, model, or user on whose behalf |
| details | – | – | Optional structured details (JSON object, under 16 KB) |
| outcome | string | – | One of: success, failure, pending, blocked |
| resource | string | – | What was acted on: URL, file, record ID, account |
| stream_id | string | yes | Stream to append to, usually the agent's name, e.g. 'billing-agent' |
| summary | string | yes | One-line description of what was done |
No output schema declared.
No examples provided.
ledger_report_pdf Compliance report PDF ~77
A finished PDF of a sealed compliance report, for auditors and customers. Returned as base64 (pdf_base64) and as an embedded PDF resource; also downloadable at /reports/<report_id>.pdf with the organization key. Requires the organization API key.
| Name | Type | Req | Description |
|---|---|---|---|
| report_id | string | yes | report_id returned by ledger_compliance_report |
No output schema declared.
No examples provided.
ledger_verify_report Verify a report ~68
Check that a compliance report is unaltered: recomputes its hash, confirms Privi Ledger issued it, and checks the anchor on the Privi blockchain. Free; no key needed.
| Name | Type | Req | Description |
|---|---|---|---|
| report | object | yes | The 'report' object exactly as received from ledger_compliance_report |
No output schema declared.
No examples provided.
How do I install the Privi Ledger MCP server?
Privi Ledger is a hosted endpoint at https://privi-ledger-production.up.railway.app/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · privi-ledger-production.up.railway.app
claude mcp add --transport http canoydario847-cloud-privi-ledger 'https://privi-ledger-production.up.railway.app/mcp'
What is the Privi Ledger MCP server?
Privi Ledger is an MCP server listed in the public MCP registry as io.github.canoydario847-cloud/privi-ledger. Tamper-evident audit logs for AI agents. Auditors verify integrity, paid per call via x402. This page covers its hosted endpoint (https://privi-ledger-production.up.railway.app/mcp).
Is the Privi Ledger MCP server safe to use?
Privi Ledger scores 23 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Privi Ledger MCP server expose?
Privi Ledger exposes 14 tools: ledger_pricing, ledger_check_receipt, ledger_audit_stream, ledger_record_action, ledger_read_stream, and 9 more. Their descriptions and schemas cost roughly 1,272 tokens of context every time the server is loaded.
Does the Privi Ledger MCP server require authentication?
Its publisher declares no required credentials for Privi Ledger. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.
Is the Privi Ledger MCP server still maintained?
Privi Ledger is still listed as active in the MCP registry. We last reached this channel on 23 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.