Perma.cc
Perma.cc
- providers.permacc({ apiKey })
- provider: "permacc"
- Index
- REST
- Bodies
- listing only
- provider=all
- left out
Operations
- Listsnapshots()
- Readunsupported
- Diffunsupported
Access
- Load
createArchive(providers.permacc({ apiKey })) - Needs
apiKey - Replay
no bodies to read, the capture opens on the archive
Load it
import { createArchive, providers } from "@agntn/archives";
const archive = createArchive(providers.permacc({ apiKey: process.env.PERMA_CC_API_KEY! }));
Without a key, at construction or per call, snapshots() returns an error response rather than sending an unauthenticated request.
What it lists
snapshots asks api.perma.cc for archives of one exact URL. A bare domain is normalised to its HTTPS root. Only archives the account behind the key can access are returned. Each page carries guid, title, created_by and Perma's own string status in _meta; the snapshot is perma.cc/<guid>.
Reading bodies
The API returns metadata only. content() answers unsupported with that reason.
Over MCP
The key is read from PERMA_CC_API_KEY or PERMACC_API_KEY and never accepted as a tool argument. archives_providers reports whether one is set; the options in every result are redacted before they reach a transcript.
Gotchas
- Exact URL, not prefix.
example.comfinds archives ofhttps://example.com/and nothing beneath it. statusis a string here, unlike the numeric HTTP status on the CDX providers.
Where it lives
src/providers/permacc.ts.