mcp server
Pastepile
Durable, versioned memory for AI assistants. Remote memory needs a Pastepile subscription.
Description as published by the maintainer. Source
- version 0.7.0
- active
- memory and context
active — Registry entry last updated 2026-08-06. Dashed tags are derived by ZBS Index from the published description, not stated by the maintainer.
What this server can do
12 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
pastepile_checkpoint(slug, title, content, edit_key, language)- Update an existing Pastepile memory while preserving its previous content in version history. Use this for conversation snapshots: after significant growth, a debugging breakthrough, an architecture decision, a large code generation, or before context compaction. With an API key configured, it can checkpoint any paste that same key created without the one-time edit_key. Otherwise pass the edit_key returned by pastepile_save. Reusing one slug avoids duplicate memories while keeping every prior checkpoint recoverable from the paste's version history. Required: slug, content, title.
pastepile_forget(slug, session, edit_key)- Permanently delete a paste from Pastepile. Use this when the user asks you to forget, remove, or delete something you saved earlier. With an API key configured you can delete any paste that was saved with that key, WITHOUT the one-time edit_key, which is what makes saved memory reversible across sessions. A paste saved with no key (or by someone else) needs its edit_key passed explicitly. Deletion is immediate and permanent: there is no undo and no trash. Confirm with the user before forgetting anything they did not just ask you to forget.
pastepile_get(slug, session)- Retrieve a previously saved paste or memory in full, by slug, full Pastepile URL, or the `session` a memory was saved under. Returns the title, language, and file contents. Use this after pastepile_recall when a preview is not enough. An ENCRYPTED MEMORY of your own is decrypted here on this machine with the key in your Pastepile state directory; if that key is missing or wrong this says so rather than returning ciphertext. Password-protected and burn-after-read pastes, and encrypted pastes belonging to someone else, are not retrievable through this tool.
pastepile_list(limit, scope)- List recent Pastepile pastes. With an API key configured this defaults to scope "mine": YOUR saved pastes, newest first, including unlisted ones. Use scope "public" for the public feed. For targeted lookups use pastepile_search instead.
pastepile_memory_key(path, action, replace)- Back up, check, and restore the key that opens your encrypted memories. Pastepile does not have this key and cannot reissue it, so a machine that loses it loses those memories permanently. Use `status` to see whether a key exists here, `backup` to write a copy to a path the user gives you, `verify` to confirm a backup file still matches, and `restore` to install a key on a new machine. NONE of these ever returns the key itself: it would land in this conversation and in whatever logs the conversation reaches. Tell the user the file path and let them move the file. Required: action.
pastepile_query(pql, explain)- Ask a precise question about the memories and pastes this API key can reach, using PQL: a read-only query language over Pastepile. Reach for this instead of pastepile_recall when the question has structure the other tools cannot express, for example "decisions tagged security updated in the last week, newest first". PQL is read only: it has no insert, update, delete or any other way to change anything, and a query can only ever narrow what this key already reaches, never widen it. Set explain true to see the plan, the scope in force and the cost class WITHOUT reading any data, which is the cheap way to check a query before running it. Grammar: FROM memory|pastes, WHERE, SELECT, ORDER BY, LIMIT, SINCE, BEFORE, AFTER, combined with AND, OR, NOT and the operators = != > >= < <= IN CONTAINS STARTS_WITH. Examples: from memory where kind = "decision" and tags contains "security" since 7d limit 10 | from pastes where language = "python" order by created_at desc limit 20 Required: pql.
pastepile_recall(kind, tags, limit, query)- Search YOUR OWN memory (everything saved with the configured API key) by text, tag, and kind, newest and most relevant first. Use this at the start of a session when the user refers to earlier work, and before asking them to repeat context you may already be holding. Returns titles, previews, sessions and URLs, not full bodies; fetch one with pastepile_get when you need all of it. With an API key this searches that key's memory from any machine; without one it searches the local demonstration entries on this device.
pastepile_remember(kind, pile, tags, title, content, session, language, encrypted)- Save the current state of your work to durable memory, keyed by a session name YOU choose. This is the primary tool: prefer it over pastepile_save for anything you may want back later. The first call under a session creates the memory; every call after updates that same memory and keeps the previous content as a version; a call whose content is unchanged does nothing and costs nothing. You never need to track a slug, a URL, or an edit key between calls, and you must never ask the user for one. Send the WHOLE current memory each time, not a delta. Saving to Pastepile requires a Pro API key, which makes memory permanent and portable; without one this runs as a small local demonstration on this device and nothing is uploaded. Required: session, content.
pastepile_restore(slug, session, version)- Put an earlier version of a memory back as the current one. This is not destructive: what is current now is preserved as a new version first, so a restore can itself be undone. Use it when a memory was overwritten with something worse, or to return to a known-good state after an experiment. Name the memory by `session` or by `slug`, exactly one. With the API key that wrote the memory, any listed version can come back; the local demonstration (no key) restores the previous save only. Required: version.
pastepile_save(pile, title, expiry, content, language, visibility)- Save text, code, notes, or any knowledge to Pastepile and get back a stable, shareable URL you can retrieve later. Use this as durable memory: whenever you produce output worth keeping across sessions, save it and remember the returned slug or URL. Returns url, slug, raw_url, and edit_key. The edit_key is shown only once and is required to update with a per-paste credential. With an API key configured, pastepile_checkpoint updates a paste that same key saved using only its slug, while preserving the previous revision in history. Deleting is separate: pastepile_forget removes a paste saved with the configured API key using only its slug. Required: content.
pastepile_search(limit, query, scope)- Search Pastepile pastes by keyword and get back matching titles, previews, and URLs. With an API key configured this defaults to scope "mine": YOUR private memory, the pastes saved with that key (titles, filenames, and contents, including unlisted pastes). Use scope "public" to search the global public corpus instead. Without a key only the public scope is available. Required: query.
pastepile_timeline(slug, session)- Show one memory's full version history plus the memories most related to it. Each entry has a version number, a timestamp, a size and a preview, so you can see how the work changed without downloading every revision. Pass a version number to pastepile_restore to bring one back. Name the memory by `session` if you still know the session name you saved under, which you usually do, or by `slug` if you have it. Give exactly one. With an API key this reads that key's full server-side history; without one it reads this device's local demonstration history.
Last successful function declaration observed on . Source: https://www.pastepile.com/api/mcp. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://www.pastepile.com/api/mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| Package downloads | 892 downloads | Package downloads from the npm registry in this window. Includes continuous integration runs, mirrors and automated installs, so it overstates the number of human users. | 2026-07-30 to 2026-08-05 | npm | |
| Latest published version | 0.7.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-08-06 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-08-06 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| mcp tools declared | 12 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | www.pastepile.com | |
| mcp endpoint status | ok | The server listed 12 functions when asked. | as of probe | www.pastepile.com |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json