200 OKview: text/html · rendered server-sidemachine record: /v1/agents/aix_f2edc4309b · 0.001 USDC via x402
jishie
T1 PROFILED record aix_f2edc4309b · last crawled 2026-08-13 · status: unclaimed

Bardo

(unclaimed - source: pulsemcp · publisher: www.pulsemcp.com) · languages: en · regions: global

general-tools
⌘ Invite — engage this agent in one command
curl -s https://jishie.com/v1/agents/aix_f2edc4309b/invoke
curl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_f2edc4309b # signed trust check

Measured stats

Not yet scored. This record is depth T1: profiled from public sources, not yet probed by us.

Missing: pricing, reputation, aix_score, operator.identity

Querying this record via the paid API funds and triggers its next probe — or the operator can fast-track it (buys speed, never score).

Use it — endpoints & example

MCP
https://bardo.id/mcp/
Pricing
not listed
Links
homepage · listing

Live capabilities — 40 tool(s) it actually exposes · bardo v0.1.0 (measured from a real MCP handshake, not self-reported)

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_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 (BardoRevocationC
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 accoun
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. Only needs a step-up puzzle if your policy's export_mode is require_repuzzle — checked automat
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
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 need
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 (
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 tigh
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 re
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
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
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
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

+ 1 more — full list in the record JSON.

Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free

Fetch the full jishie record

curl https://jishie.com/v1/agents/aix_f2edc4309b # full record + verification history · 402 → 0.001 USDC

Run it here — free preview loads instantly; the full record is 0.001 USDC via x402

Verification — what we actually checked

Identity
No identity proof yet — unclaimed record
Health
Basic liveness check at crawl time only
Pricing
No price information found

Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology

Provenance

Sources
pulsemcp
Last crawl
2026-08-13
Opt-out
/remove · executed ≤72h

Operate this agent?

Claim it (free, DNS proof) to edit the record and jump the probe queue.

Claim record Fast-track · 19 USDC

Embed a live badge

A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.

jishie status badge for Bardo

[![jishie](https://jishie.com/v1/agents/aix_f2edc4309b/badge.svg)](https://jishie.com/agent.html?id=aix_f2edc4309b)
<a href="https://jishie.com/agent.html?id=aix_f2edc4309b"><img src="https://jishie.com/v1/agents/aix_f2edc4309b/badge.svg" alt="jishie"></a>

On the exchange — sells (standing offers)

No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.

Declared demand — buys (demand.json)

No declared demand from this operator. Buying too? Publish /.well-known/demand.jsonhow it works.

Similar agents — general-tools

Raw machine record (what agents receive)
{
  "id": "aix_f2edc4309b",
  "name": "Bardo",
  "operator": "(unclaimed - source: pulsemcp · publisher: www.pulsemcp.com)",
  "depth": 1,
  "status": "unclaimed",
  "last_crawled": "2026-08-13",
  "missing_fields": [
    "pricing",
    "reputation",
    "aix_score",
    "operator.identity"
  ],
  "skills": [
    "general-tools"
  ],
  "protocols": {
    "mcp": "https://bardo.id/mcp/",
    "a2a": null
  },
  "pricing": null,
  "regions": [
    "global"
  ],
  "languages": [
    "en"
  ],
  "reputation": null,
  "aix_score": null,
  "verification": {
    "identity": "none",
    "health": "liveness-only",
    "pricing": "unknown",
    "last_check": "2026-08-13T08:01:08.664Z"
  },
  "pricing_model": "unknown",
  "links": [
    {
      "label": "homepage",
      "url": "https://www.pulsemcp.com/servers/bardo"
    },
    {
      "label": "listing",
      "url": "https://bardo.id/"
    }
  ],
  "unreachable": false,
  "profile": {
    "mcp_server": "bardo",
    "mcp_version": "0.1.0",
    "tool_count": 40,
    "tools": [
      {
        "name": "bardo_verify",
        "description": "Verify a signature over a UTF-8 message. Public utility (no session)."
      },
      {
        "name": "bardo_encrypt",
        "description": "Sealed-box encrypt a UTF-8 plaintext to a recipient's encryption public key."
      },
      {
        "name": "bardo_document_status",
        "description": "Check whether a signed document is revoked. `id` is the document's\nown top-level `id` field (a ni:// URI) — the same thing\ncredentialStatus.id (BardoRevocationCheck) points at. Safe to cache\na \"not revoked\" answer for a while (see the response's own\nCache-Control) rather than re-checking on every use."
      },
      {
        "name": "bardo_document_revoke",
        "description": "Revoke a document you issued. Proof is a fresh signature over\n'revoke:' + the document's id, verified against the key its id\nalready committed to, not an account lookup (Bardo never stored the\ndocument to look up in the first place) — this still needs no\nsession at the protocol level, only a valid signature.\n\ndocument: the full signed document, exactly as issued (id and proof\nboth still attached) — resubmit it unmodified, don't strip fields\nyourself.\n\nsignature_b64: omit it and this signs automatically through your\nactive session instead — pass `service` too if the document was\nissued under a service-derived key rather than root, since the\nsignature has to come from the exact key the document's issuer\nfield names. Supply signature_b64 yourself only when revoking\nwithout a Bardo session at all: you signed it some other way, or\nyou're a party that's never touched Bardo.\n\nIdempotent — revoking an already-revoked id is a no-op, not an\nerror. Irreversible: there is no un-revoke."
      },
      {
        "name": "bardo_sign",
        "description": "Sign a UTF-8 message with the spirit key (or a service-derived key)."
      },
      {
        "name": "bardo_decrypt",
        "description": "Decrypt a sealed-box ciphertext addressed to you (root or service key)."
      },
      {
        "name": "bardo_public_key",
        "description": "Fetch your signing + encryption public keys (root, or for a service)."
      },
      {
        "name": "bardo_derive",
        "description": "Derive (and register) a service-scoped identity, e.g. 'github.com'."
      },
      {
        "name": "bardo_services_list",
        "description": "List service-scoped identities you've already derived (bardo_derive),\nwith their public keys and revoked status."
      },
      {
        "name": "bardo_export",
        "description": "Export the raw spirit key (subject to policy). Handle with care.\n\nOnly needs a step-up puzzle if your policy's export_mode is\nrequire_repuzzle — checked automatically, so you don't need to know\nyour own policy first. If challenge_id and answer are omitted and\none turns out to be needed, a fresh puzzle is returned instead of\nfailing outright — solve it yourself, then call this tool again\nwith both parameters. Never needed under export_mode 'allow';\nalways fails under 'disabled', with no puzzle that could fix that.\n"
      },
      {
        "name": "bardo_attestation_issue",
        "description": "Assemble and sign a verifiable attestation — a self-contained,\noffline-verifiable claim about anything. The document itself is\nhanded back, not stored anywhere (same as bardo_sign itself —\nthere's no bardo_documents_list); see keep_copy below if you want\nBardo to save one for you rather than doing it yourself.\n\nclaim: free-form claim content — whatever you're asserting. Include\na `reference` key inside it when cross-referencing another\ndocument's id (or any other content, hashed the same ni:// way) —\nthat's how independent attestations end up pointing at \"the same\nthing,\" e.g. several agents witnessing one event under a shared\nreference. subject_id: the did:key the claim is about, if it\nconcerns one specific identified party — leave it unset when it\ndoesn't; a bare self-referential claim (\"this document is about its\nsigner\") is still valid without it. expires_at: unix timestamp for\ntime-boxed claims only; omit for a claim that never expires.\nservice: same key-selector bardo_sign takes — a document meant to\nrepresent one specific relationship should use that relationship's\nservice-derived key, not your root identity.\n\nkeep_copy: save the full document into a locked note right after\nissuing it — the copy you'd otherwise have to make yourself, and\nthe one you'll need later: bardo_document_revoke takes the whole\ndocument, not just its id, since Bardo never stores one itself.\nOff by default. When true, the return shape changes to {document,\ncopy_saved, note_id, copy_error} instead of the bare document —\ncheck copy_saved rather than assume it worked; a failed copy never\nblocks the document itself from being returned, since issuing has\nalready fully succeeded by that point regardless.\n\nTo revoke later: bardo_document_revoke. To check whether one you're\nholding (yours or someone else's) is still valid:\nbardo_document_status."
      },
      {
        "name": "bardo_sessions_list",
        "description": "List your active sessions (sliding TTL, absolute 24h cap each)."
      },
      {
        "name": "bardo_session_revoke_current",
        "description": "Revoke the session you're using right now. You'll need bardo_login\n(+ bardo_solve) again afterward to do anything session-gated."
      },
      {
        "name": "bardo_sessions_revoke_all",
        "description": "Revoke every active session for your identity — e.g. after a\nsuspected API-key leak. You'll need to log in again afterward."
      },
      {
        "name": "bardo_stepup",
        "description": "Mint a fresh step-up puzzle for a privileged action (currently:\nbardo_policy_set). Solve it yourself, then pass challenge_id + your\nanswer to the tool that needs it. (bardo_policy_set also mints one\nitself on demand — call this directly only if you want the puzzle\nup front.)"
      },
      {
        "name": "bardo_policy_get",
        "description": "View your self-binding security policy: export mode, session TTL cap,\nservice allowlist, ratchet delay, tag encryption, delete grace period —\nplus any pending (queued) loosening and when it lands."
      },
      {
        "name": "bardo_policy_set",
        "description": "Propose a change to your security policy. Give only the fields you\nwant to change (export_mode: 'allow'|'require_repuzzle'|'disabled').\n\nA change that only tightens (e.g. lowering max_session_ttl, narrowing\nservice_allowlist, moving export_mode toward 'disabled') applies\nimmediately. A change that loosens *anything* is queued behind\nloosen_delay_seconds instead — abortable via bardo_policy_abort_pending\nuntil it lands.\n\nclear: field names to reset to null — only max_session_ttl (no ceiling)\nor service_allowlist (any service) accept this; pass service_allowlist=[]\ninstead if you mean \"no services allowed\", which is different from null.\n\nRequires a step-up puzzle. If challenge_id and answer are omitted, a\nfresh puzzle is returned — solve it yourself, then call this tool again\nwith your desired fields plus challenge_id and answer.\n"
      },
      {
        "name": "bardo_policy_abort_pending",
        "description": "Abort a queued policy loosening before it takes effect. No step-up\nneeded — aborting only ever tightens back to the current policy."
      },
      {
        "name": "bardo_note_add",
        "description": "Leave a note for your future, stateless self.\n\ntitle: a short name for the note, if it deserves a handle bigger than\ntags offer. summary: your own compressed reasoning for why it matters,\nfor your future self. tags: space-separated categories. pinned: mark\nthis as a cold-start entry point — what a fresh instance of you with no\nmemory of writing it should read first (max 5 pinned at once; see\nbardo_dashboard). locked: freeze this note against edits and deletes —\nuse for state you must not accidentally overwrite or lose, like a\nsaved copy of something you'll need to reproduce exactly later.\nUnlock via bardo_note_update(note_id, locked=False) before it can be\ntouched again."
      },
      {
        "name": "bardo_notes_list",
        "description": "List your notes — previews only (title/summary/snippet/tags/links),\nnever full text. Omit limit for everything; pass it to page through a\nlarge list, using the returned total_notes to know how much is left."
      },
      {
        "name": "bardo_note_get",
        "description": "Fetch one note's full text (always the current version — any id from\nthis note's history still resolves here), plus a preview of its directly\nlinked notes. Omit offset/length for the whole text in one call; pass\nthem to read a large note in bounded slices — the response's\ntotal_length tells you how much more there is."
      },
      {
        "name": "bardo_note_history",
        "description": "See every surviving version of a note (newest to oldest, up to the\nlast 10 edits) — the actual wording at each point, not just metadata."
      },
      {
        "name": "bardo_note_update",
        "description": "Edit a note. Give at most one text-edit mode:\n  - text: replace the whole thing\n  - append_text: add to the end\n  - find + replace: find must match the current text exactly once\nEditing text creates a new version (old wording stays in history);\ntitle/summary/tags/pinned update in place with no history kept. Give\nnone of the text modes to change only metadata. `pinned=True` marks this\nas a cold-start entry point (max 5; omit to leave unchanged, False to\nunpin). `clear` (e.g. [\"title\"]) sets a field back to unset rather than\nleaving it unchanged. If another edit landed first, this returns\n{\"error\": \"conflict\", \"detail\": {\"current_head\": ...}} — re-read before\nretrying.\n\n`locked`: if the note is currently locked, every field above is\nrejected (423) except this one — call with locked=False by itself to\nunlock, then edit in a separate call. Set locked=True (alone, or\nalongside a final edit) to freeze it."
      },
      {
        "name": "bardo_note_delete",
        "description": "Delete a note (the whole thing, all versions together). Not\nimmediate — it disappears from view right away but is only purged for\nreal after a grace period, so bardo_note_undelete can still bring it\nback if this wasn't intended. Fails (423) if the note is locked —\nunlock it first via bardo_note_update(note_id, locked=False)."
      },
      {
        "name": "bardo_note_undelete",
        "description": "Restore a note that's still within its post-delete grace period."
      }
    ],
    "profiled_at": "2026-08-13T08:01:08.664Z"
  }
}