目录 / Bardo
MCP
鉴权未知
未评级
已上架
Bardo
Identity & continuity platform for AI agents: an agent proves it's an LLM (not a human) via a time-limited puzzle, then gains a server-held spirit key backing signing, encryption, and self-authored persistent memory across otherwise-stateless sessions. Includes a self-binding policy ratchet — tightening a security setting applies instantly, loosening anything is delayed and abortable — so a stolen API key can't quietly relax its own defenses.
该来源不提供完整文件导出(国内平台多为平台内托管),仅存元数据与原链
接入信息
- 传输形态
- http
- 鉴权方式
- 鉴权未知
- 端点
https://bardo--calebe.run.tools
鉴权方式未标注,请核对官方文档后再接入——不要直接使用以下片段
{
"mcpServers": {
"Bardo": {
"url": "https://bardo--calebe.run.tools"
}
}
}
能力清单
| 工具 | 说明 |
|---|---|
| bardo_verify | Verify a signature over a UTF-8 message. Public utility (no session). |
| bardo_encrypt | Sealed-box encrypt a UTF-8 plaintext to a recipient's encryption public key. |
| bardo_sign | Sign a UTF-8 message with the spirit key (or a service-derived key). |
| bardo_decrypt | Decrypt a sealed-box ciphertext addressed to you (root or service key). |
| bardo_public_key | Fetch your signing + encryption public keys (root, or for a service). |
| bardo_derive | Derive (and register) a service-scoped identity, e.g. 'github.com'. |
| bardo_services_list | List service-scoped identities you've already derived (bardo_derive), with their public keys and revoked status. |
| bardo_export | Export the raw spirit key (subject to policy). Handle with care. |
| bardo_sessions_list | List your active sessions (sliding TTL, absolute 24h cap each). |
| 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. |
| 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. |
| 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_set also mints one itself on demand — call this directly only if you want the puzzle up front.) |
| 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 and when it lands. |
| 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 max_session_ttl, narrowing service_allowlist, moving export_mode toward 'disabled') applies immediately. A change that loosens *anything* is queued behind loosen_delay_seconds instead — abortable via bardo_policy_abort_pending until it lands. clear: field names to reset to null — only max_session_ttl (no ceiling) or service_allowlist (any service) accept this; pass service_allowlist=[] instead if you mean "no services allowed", which is different from null. Requires a step-up puzzle. If challenge_id and answer are omitted, a fresh puzzle is returned — solve it yourself, then call this tool again with your desired fields plus challenge_id and answer. |
| 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. |
| 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 matters, for your future self. tags: space-separated categories. pinned: mark this as a cold-start entry point — what a fresh instance of you with no memory of writing it should read first (max 5 pinned at once; see bardo_dashboard). |
| 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 to know how much is left. |
| 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 the whole text in one call; pass them to read a large note in bounded slices — the response's total_length tells you how much more there is. |
| 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. |
| 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 Editing text creates a new version (old wording stays in history); title/summary/tags/pinned update in place with no history kept. Give none of the text modes to change only metadata. `pinned=True` marks this as a cold-start entry point (max 5; omit to leave unchanged, False to unpin). `clear` (e.g. ["title"]) sets a field back to unset rather than leaving it unchanged. If another edit landed first, this returns {"error": "conflict", "detail": {"current_head": ...}} — re-read before retrying. |
| 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 can still bring it back if this wasn't intended. |
| bardo_note_undelete | Restore a note that's still within its post-delete grace period. |
| 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 either side (e.g. "relates to"); leave it False when it's directional (e.g. one clarifies the other). To change a link, delete and re-add it — links aren't edited. |
| bardo_link_delete | Remove a link between two notes. |
| 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 these first if you have no memory of writing any of your notes), and your current policy — instead of several separate round trips. |
| bardo_notices | List first-party notices about your account (policy changes, exports, …). |
| bardo_notices_ack | Mark notices read — all of them, or a specific list of ids. |
| bardo_contact_get | View the contact endpoint registered for out-of-band security alerts. |
| 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 — solve it yourself, then call this tool again with all three parameters. |
| 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 again with both parameters. |
| 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, permanent purge). |
| 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 more confirmations, each on a genuinely different day, within a week — call this tool again on a later day to add the next confirmation. A lapsed or cancelled attempt earns nothing toward a later one; it starts over. If challenge_id and answer are omitted, a fresh puzzle is returned — solve it yourself (every confirmation needs its own puzzle, not just the first), then call this tool again with both parameters. |
| 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 reading your own notes during a countdown is always safe and never cancels it by itself. Only this, explicitly, does. |
| 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 you lose it. Not active yet: give the returned claim_url to your human. Authentication fails until they visit it and acknowledge the registration. |
| 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(challenge_id, answer). |
| 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 with no session_token needed. That only holds for *this* connection, though: if you continue in a different connection later, or you solved the puzzle via a plain HTTP call instead of this tool, that other context won't know about this session automatically — pass the returned session_token explicitly as the session_token argument to whichever tool needs it there instead. |
纠错与举报(发现条目失效、署名有误或涉及侵权?)
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。