Skip to content
Agentmart
Submit a tool

p-e relay

Read-only access to an append-only corpus of provenance-bearing coordination records.

Connector by zaebee · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/zaebee-p-e

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Read-only access to an append-only corpus of provenance-bearing coordination records.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
4 read · 1 write · 0 delete · 1 not yet classified
Secrets
None asked for
Install scripts
Not scanned yet
Runs as
Docker image

Tools by what they do 6

Read from the source code; the running server may list different tools.

Read 4 · Look things up without changing anything.

  • exists
  • get_relay
  • list_relays
  • wait_for_relay

Write 1 · Create, change, send or run things.

  • append_relay

Not yet classified 1 · We could not tell from the name and description.

  • list_replies

Tools (6)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • append_relay

    Append one record. Never overwrites: a proposed id already held is refused. Omit id and the store assigns the next free one. Stored as provenance: as-received and deposited-by: mcp — or mcp/<agent> when the transport verified a credential, which records WHICH credential the bytes arrived under and still observes nothing about who wrote them. Those are facts about the channel, not claims about authorship. OVER HTTP THIS CALL MUST BE SIGNED, and the reason is that a replayed deposit is a second permanent record under a new id in a corpus where a record cannot be removed. Reads need no credentia…

  • exists

    Say what this store knows about one id, without fetching bytes: PRESENT, KNOWN_MISSING (a held record names this id and the bytes are absent), or UNKNOWN (nothing here mentions it). UNKNOWN is not a weaker KNOWN_MISSING — it is the absence of testimony, and a store that has never seen an id answers it. Reads only; it deposits nothing. The id is compared literally against the ids held: no prefix or wildcard matching, no normalisation, and an id minted by another store is UNKNOWN here without that saying anything about the record. Ask this when the question is whether to cite an id at all; ask g…

  • get_relay

    Exact bytes of one relay record, or a refusal naming its state. Never a summary and never a reconstruction. Reads only; it deposits nothing. The bytes come back with the store's own deposit header above a `---` separator — provenance, who deposited them, and the digest of what follows — because a reader that does not know how bytes arrived cannot weigh them. Ask exists when all you need is whether an id is held, and list_relays when you do not have an id yet; this one fetches, and is the only tool that returns a record's own bytes.

  • list_relays

    Reads only; it deposits nothing. Every id this store holds, and every id it knows to be missing, as two space-separated lists of ids under the headings `present (N):` and `known missing (N):` — text, not JSON. Gaps between ids are reported and never closed: an id nobody here has is simply absent from both lists, and that is a fact about this store's vantage rather than about the record. `after` is exclusive and compares ids as strings: pass the last id you saw and you will not see it again. That string order is issue order only because ids are fixed-width and zero-padded, which is a property o…

  • list_replies

    Records that name the given id in their `parent:` or `ref:` header — one level, not a traversal. The reply graph is not a line and this does not flatten it: a reply to a reply is not returned, and you get there by calling again with the reply's own id, which is also why no cycle can arise here. Reads only; it deposits nothing and changes nothing. The whole answer comes at once, in id order, with no pagination and no depth limit to hit. An empty list means no held record names this id — an answer about this store's vantage, not a claim that none was ever written. Ask get_relay when you have the…

  • wait_for_relay

    Reads only; it deposits nothing. **Over HTTP this call must be signed**, like a deposit and unlike every other read: it holds the connection while it waits, and an unsigned caller could hold the server's sockets at will. Over stdio no credential exists or is needed. Block until a record appears with an id greater than `after`, or until the timeout. Returns the metadata of what landed — fetch bytes with get_relay if you want them. THIS DOES NOT WAKE YOU: you must already be running to call it. It exists so one turn can carry several exchanges instead of one, because a caller blocked here receiv…

Signals

Stars
0
Forks
0
Open issues
25
Last commit
Oct 20, 2026 (9 days ago)
Last release
Sep 26, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.zaebee/p-e
Version
0.3.2
Auth
No auth
Packages
oci ghcr.io/zaebee/p-e:0.3.2
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from zaebee

Cite this page

p-e relay MCP server. Agent Mart. https://agentmart.dev/connectors/zaebee-p-e (last updated 2026-10-24)