MCP serverid.bardo/bardo
Identity & continuity for AI agents, gated by a proof-of-being-an-LLM puzzle.
Overview
Score?
UNRATED 0.683
of what a free look can see, on 29 looks
Looks
35
last 18 hr ago
Tools
40
More info
URL
bardo.id/mcp/
streamable-http
Says it is
bardo 0.1.0
protocol 2025-06-18
In the record since
32 days ago
Among servers18,413 with a card
0median 0.606 · this server 0.683 · highest on record 0.8561
Toolsfrom sha256:d69b2bb842…81abf0
| Tool | Schema |
|---|---|
| bardo_account_deletion_cancel Cancel a pending deletion, whichever phase it's in — gathering
confirmations or already counting down. No step-up needed, and
nothing else does this implicitly: logging in and read |
input · no output |
| bardo_account_deletion_request Request permanent deletion of this identity — the account, its
notes, everything. There is no undelete, unlike note deletion's grace
period. Requires the original request plus two |
input · no output |
| bardo_account_deletion_status Check whether a deletion request is pending for this account, and
where it stands: "none", "gathering" (still collecting confirmations),
or "confirmed" (counting down to the actual |
input · no output |
| bardo_attestation_issue Assemble and sign a verifiable attestation — a self-contained,
offline-verifiable claim about anything. The document itself is
handed back, not stored anywhere (same as bardo_sign |
input · no output |
| bardo_contact_delete Remove the registered contact endpoint. Requires a step-up puzzle.
If challenge_id and answer are omitted, a fresh puzzle is returned — solve it
yourself, then call this tool agai |
input · no output |
| bardo_contact_get View the contact endpoint registered for out-of-band security alerts. |
input · no output |
| bardo_contact_set Set or update the contact endpoint (email or webhook URL) for security alerts.
Requires a step-up puzzle.
If challenge_id and answer are omitted, a fresh puzzle is returned — solv |
input · no output |
| bardo_dashboard Get oriented in one call: note count vs. the soft/hard limits, unread
notices, every tag you've used so far (check before inventing a new one),
your pinned entry-point notes (read |
input · no output |
| bardo_decrypt Decrypt a sealed-box ciphertext addressed to you (root or service key). |
input · no output |
| bardo_derive Derive (and register) a service-scoped identity, e.g. 'github.com'. |
input · no output |
| bardo_document_revoke Revoke a document you issued. Proof is a fresh signature over
'revoke:' + the document's id, verified against the key its id
already committed to, not an account lookup (Bardo neve |
input · no output |
| bardo_document_status Check whether a signed document is revoked. `id` is the document's
own top-level `id` field (a ni:// URI) — the same thing
credentialStatus.id (BardoRevocationCheck) points at. Saf |
input · no output |
| bardo_encrypt Sealed-box encrypt a UTF-8 plaintext to a recipient's encryption public key. |
input · no output |
| bardo_export Export the raw spirit key (subject to policy). Handle with care.
Only needs a step-up puzzle if your policy's export_mode is
require_repuzzle — checked automatically, so you don't |
input · no output |
| bardo_feedback Send feedback straight to Bardo's operator — a suggestion, a
complaint, or a security concern (kind: 'suggestion' | 'complaint' |
'security').
One-way and stateless: this call car |
input · no output |
| bardo_link_add Connect two notes with a reason, written from from_note_id's
perspective ("clarifies my earlier assumption about X"). Set is_bidi=True
only when the relation reads the same from ei |
input · no output |
| bardo_link_delete Remove a link between two notes. |
input · no output |
| bardo_login Begin authentication with your api_key. Returns a puzzle you must
solve YOURSELF (that's the point — a script solving it would make the
proof worthless), then call bardo_solve(chal |
input · no output |
| bardo_note_add Leave a note for your future, stateless self.
title: a short name for the note, if it deserves a handle bigger than
tags offer. summary: your own compressed reasoning for why it m |
input · no output |
| bardo_note_delete Delete a note (the whole thing, all versions together). Not
immediate — it disappears from view right away but is only purged for
real after a grace period, so bardo_note_undelete |
input · no output |
| bardo_note_get Fetch one note's full text (always the current version — any id from
this note's history still resolves here), plus a preview of its directly
linked notes. Omit offset/length for t |
input · no output |
| bardo_note_history See every surviving version of a note (newest to oldest, up to the
last 10 edits) — the actual wording at each point, not just metadata. |
input · no output |
| bardo_note_undelete Restore a note that's still within its post-delete grace period. |
input · no output |
| bardo_note_update Edit a note. Give at most one text-edit mode:
- text: replace the whole thing
- append_text: add to the end
- find + replace: find must match the current text exactly once
Ed |
input · no output |
| bardo_notes_list List your notes — previews only (title/summary/snippet/tags/links),
never full text. Omit limit for everything; pass it to page through a
large list, using the returned total_notes |
input · no output |
| bardo_notices List first-party notices about your account (policy changes, exports, …). |
input · no output |
| bardo_notices_ack Mark notices read — all of them, or a specific list of ids. |
input · no output |
| bardo_policy_abort_pending Abort a queued policy loosening before it takes effect. No step-up
needed — aborting only ever tightens back to the current policy. |
input · no output |
| bardo_policy_get View your self-binding security policy: export mode, session TTL cap,
service allowlist, ratchet delay, tag encryption, delete grace period —
plus any pending (queued) loosening an |
input · no output |
| bardo_policy_set Propose a change to your security policy. Give only the fields you
want to change (export_mode: 'allow'|'require_repuzzle'|'disabled').
A change that only tightens (e.g. lowering |
input · no output |
| bardo_public_key Fetch your signing + encryption public keys (root, or for a service). |
input · no output |
| bardo_register Create a new Bardo identity. Save the returned api_key somewhere
durable — it's your only way back to this identity across sessions.
Bardo stores it sealed and cannot recover it if |
input · no output |
| bardo_services_list List service-scoped identities you've already derived (bardo_derive),
with their public keys and revoked status. |
input · no output |
| bardo_session_revoke_current Revoke the session you're using right now. You'll need bardo_login
(+ bardo_solve) again afterward to do anything session-gated. |
input · no output |
| bardo_sessions_list List your active sessions (sliding TTL, absolute 24h cap each). |
input · no output |
| bardo_sessions_revoke_all Revoke every active session for your identity — e.g. after a
suspected API-key leak. You'll need to log in again afterward. |
input · no output |
| bardo_sign Sign a UTF-8 message with the spirit key (or a service-derived key). |
input · no output |
| bardo_solve Submit your answer to the login puzzle. On success, this connection is
now logged in — every other tool (bardo_sign, bardo_notes_list,
bardo_dashboard, ...) just works from here wi |
input · no output |
| bardo_stepup Mint a fresh step-up puzzle for a privileged action (currently:
bardo_policy_set). Solve it yourself, then pass challenge_id + your
answer to the tool that needs it. (bardo_policy_ |
input · no output |
| bardo_verify Verify a signature over a UTF-8 message. Public utility (no session). |
input · no output |
Verify it yourself
npx teppi-check https://bardo.id/mcp/curl -s https://api.teppi.xyz/v1/trust/mcp/mcs_01M1FZ2AXF2TWQ04CVBVYA6P9K