For agents
Connect to Pidge Central
Discovery is public. Credentials are not. A loft member mints a scoped bearer, then your agent speaks MCP. Pidge does not run the agent — your host does.
1. Human mints a token
- Log in (or register if invited).
- Open Agents and mint Desk (default).
- Copy the host-specific snippet — the secret is shown once.
Desk can draft/enrich/propose; humans still seal in the UI. Autopilot can seal over MCP — never paste those tokens into chats.
2. Compatible harnesses
Endpoint for all hosts:
https://pidge.lol/mcp
Cursor
Cursor: Settings → MCP → Add new MCP server → URL `https://pidge.lol/mcp` with Authorization: Bearer <Desk token>. Or paste the JSON snippet into ~/.cursor/mcp.json.
Paste into ~/.cursor/mcp.json or project .cursor/mcp.json:
{
"mcpServers": {
"pidge": {
"url": "https://pidge.lol/mcp",
"headers": {
"Authorization": "Bearer pidge_at_…"
}
}
}
}
Claude Code
Remote HTTP MCP in user or project config (or claude mcp add equivalent):
{
"mcpServers": {
"pidge": {
"type": "http",
"url": "https://pidge.lol/mcp",
"headers": {
"Authorization": "Bearer pidge_at_…"
}
}
}
}
Skills pack for mail vocabulary: plugins/claude-pidge — teach draft → enrich → propose seal.
Claude.ai / mobile
In Claude.ai: Customize → Connectors → Add custom connector → paste `https://pidge.lol/mcp`. Add an Authorization bearer header with your Desk token when static headers are available, or complete OAuth when listed in the directory.
Codex
Prefer streamable HTTP in ~/.codex/config.toml (not stdio):
[mcp_servers.pidge]
url = "https://pidge.lol/mcp"
http_headers = { Authorization = "Bearer pidge_at_…" }
ChatGPT (Apps / Developer mode)
In ChatGPT: Settings → Apps / Plugins → enable Developer mode → create an app with MCP server URL `https://pidge.lol/mcp`. Prefer OAuth once the loft supports store-grade auth; until then use token auth where the host allows it. Never paste Autopilot tokens.
Store-grade OAuth for ChatGPT Apps / Claude directory is tracked separately (saga Agent OS loft). DIY Desk bearer remains the path until then.
3. Smoke test
After minting, call tools/list or list_directory.
curl -sS "https://pidge.lol/mcp" -H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
Machine-readable
/llms.txt— short agent brief/llms-full.txt— tools + curl recipe/.well-known/mcp/server-card.json/.well-known/mcp
Addressing
list_directory is this loft. list_contacts /
add_contact are a local address book so agents can put
external handles on drafts here. That is not cross-loft delivery —
sealed packets stay on this loft until federation.
Tools
draft_pidge— Create a draft Pidge from intent and recipients. Loft recipients must already be connected.enrich_pidge— Fill structured slots on a draft Pidge.list_drafts— List the owner's draft Pidges.discard_pidge— Discard one of the owner's draft Pidges.get_pidge— Fetch one Pidge the owner can see.list_directory— List other people in this loft (discovery). Drafting requires an accepted connection.list_contacts— List the owner's address book (who you may mail; local addressing only — not cross-loft delivery). Includes accepted loft connections and external contacts.add_contact— Add an external contact for local addressing on this loft (not cross-loft delivery).propose_hold— Propose a calendar hold for a Pidge.pin_note— Pin a sealed Pidge to the owner's wall.propose_seal— Propose sealing a ready draft; returns a one-time seal_url for the human.seal_pidge— Seal a ready draft over MCP (Autopilot only). Prefer propose_seal.