Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Developer memory CLI and MCP server. Remember decisions, preferences, and lessons locally.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"poppy": {
"command": "uvx",
"args": [
"poppy-memory",
"serve"
]
}
}
}Run this in your terminal
claude mcp add poppy -- uvx poppy-memory servePaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"poppy": {
"command": "uvx",
"args": [
"poppy-memory",
"serve"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"poppy": {
"type": "stdio",
"command": "uvx",
"args": [
"poppy-memory",
"serve"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain trags.ai (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.3.6) reached the registry 12 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Poppy is a developer memory CLI and MCP server. Your AI coding agent stores decisions, preferences, and lessons in a local SQLite store, then recalls them when they're relevant. No cloud, no API keys, no per-query cost.
pipx install poppy-memory
Then wire up your agent, and restart it:
poppy setup claude-code # or: claude-desktop, cursor, vscode, windsurf, codex,
The package on PyPI is poppy-memory; the command it installs is poppy. No pipx? See Install for the other ways in, and for the one PATH check that saves most first-day trouble.
The order a new user walks, each step linking to its section:
command -v poppy should print a path. See Check your PATH.poppy setup . See Supported clients.poppy remember and poppy recall. See What it does.poppy setup trags, and approve it in the browser within five minutes. See Sync to Trags.poppy daemon install. See MCP daemon.Use the first option your machine already has:
pipx install poppy-memory. Needs pipx and Python 3.11 or newer.uv tool install poppy-memory. Needs only uv, which fetches its own Python. A fresh Mac has neither pipx nor uv.curl -fsSL https://trags.ai/install/poppy | sh. Needs Python 3.11 or newer. It uses pipx or uv when it finds one and otherwise installs into its own virtualenv.pipx and uv put the poppy command in ~/.local/bin. A fresh Mac often does not have that folder on its PATH, and the install still succeeds: uv only prints a warning. Check:
command -v poppy # prints a path such as /Users/you/.local/bin/poppy
If it prints nothing, add the folder to your shell profile and open a new terminal (pipx ensurepath or uv tool update-shell do the same):
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
This matters for your agent too. The hooks call poppy by name, so an agent that cannot find it fails every hook with poppy: command not found. An agent keeps the PATH it started with, so restart it after you fix PATH. poppy doctor checks only the PATH of the terminal you run it in, so it can report the hooks as fine while your agent still cannot find poppy.
poppy setup ends with Restart to activate. Do that. Agents read their MCP servers and hooks only when they start, so a session that was already open does not see Poppy until you quit and reopen it.
poppy remember "we always use uv for python deps" --type preference
poppy recall "python package manager"
poppy setup wires Poppy into a coding agent. Eleven clients have an integration today:
What supported means here: each integration is verified against its client at release time, and maintained best-effort between releases. These clients change on their own schedule, so when one of them breaks Poppy, that is a bug worth reporting as a GitHub issue rather than something that holds the next release back.
poppy doctor checks the integrations installed on your machine.
Setup treats any hook command of the form /poppy hook (including a versioned executable name such as poppy-0.3.3) as Poppy's own. It rewrites these commands to the current executable, so a deliberate pin to a development install is overwritten on the next setup and removed by --remove. Before downgrading, run poppy setup --remove with the current version, then set up again with the older version. Older versions do not recognise absolute-path hook entries and would add duplicates.
Claude Code can also load Poppy as a plugin, in place of poppy setup claude-code. Install poppy-memory first, as above. The plugin only connects Claude Code to the poppy command you already have.
claude plugin marketplace add trags-garden/poppy
claude plugin install poppy@trags-garden
Restart Claude Code afterwards.
The plugin gives Claude Code the same MCP server and the same five hooks that setup writes. It looks for poppy on the PATH and then in the folders pipx, uv and pip install --user install into, so it works when ~/.local/bin is not on Claude Code's PATH. In place of the CLAUDE.md block it ships a memory skill with the same text. Claude loads the skill when memory is relevant, and you can run it yourself with /poppy:memory. The plugin needs macOS or Linux. On Windows, use poppy setup claude-code.
Use the plugin or setup, not both. With the plugin installed, poppy setup claude-code does not add the MCP server or hooks and says so. Pass --claude-md to add the CLAUDE.md block next to the skill, so the primer loads in every session. If you ran setup before installing the plugin, run poppy setup claude-code --remove to remove setup's entries, or every hook runs twice. poppy doctor warns when it finds both, and fails when the plugin cannot find poppy.
The plugin does not ask for capture consent the way setup does. Answer the notice at session start, or run poppy autocapture on --global.
Remove client integrations before uninstalling the CLI, so leftover hooks do not fail with poppy: command not found on every session.
poppy setup claude-code --remove
poppy setup cursor --remove poppy setup codex --remove
This removes Poppy's MCP entry, hooks and managed primer blocks while preserving your other settings. If you installed the Claude Code plugin, also run claude plugin uninstall poppy@trags-garden. Other clients still need their Poppy entry and primer removed by hand: Claude Desktop's claude_desktop_config.json, VS Code's user-profile mcp.json, Windsurf, Gemini CLI, GitHub Copilot CLI ($COPILOT_HOME/mcp-config.json and copilot-instructions.md, default ~/.copilot), Pi ($PI_CODING_AGENT_DIR/mcp.json and AGENTS.md, default ~/.pi/agent), Goose, and Hermes Agent (plugin and SOUL.md guidance).
poppy daemon uninstall.pipx uninstall poppy-memory, or uv tool uninstall poppy-memory if you installed it with uv.rm -rf ~/.poppy. This permanently deletes your memories and local Poppy settings. If you use a custom POPPY_DIR, your data lives there instead.--remove leaves your memory store, daemon service, Trags key and capture consent untouched. It also keeps the .pre-poppy.bak backups that setup and removal write next to each client file; delete those too if you are removing Poppy for good, since a backup can hold the daemon token. Use it on its own, without installation flags such as --daemon, --hooks, --claude-md or --yes.
With the Claude Code, Cursor, or Codex hooks installed, Poppy can also extract durable memories from your sessions automatically: decisions, preferences, and lessons that would help a future session, written one sentence each.
Nothing is captured without your consent. Capture ships enabled by default but stays inert until you record a one-time consent. If you already had consolidate-enabled true set from an earlier version, that setting counts as your recorded consent and capture stays active with no new prompt. Setting POPPY_CONSOLIDATE=1 overrides the consent check entirely and turns capture on regardless. The unified command reports the resolved effect plus the project and global layers:
poppy autocapture # show resolved, project, and global status
poppy autocapture on --global # turn automatic capture on everywhere poppy autocapture off --global # opt out everywhere (persists across upgrades)
poppy setup claude-code asks once on a TTY (pass --yes for non-interactive installs). Until you decide, every session start shows a short notice and nothing runs. Opting out persists permanently; a later default change can never silently re-enable capture you turned off.
What fires when, once automatic capture is enabled globally:
Stop fires after each turn, so Poppy uses it only as a liveness signal and never as a flush.preCompact before compaction begins.Extraction runs through the coding-agent CLI you already use (claude, cursor-agent, codex, or gemini), on your existing login. That CLI sends the transcript excerpt to the model provider you already use, so no new third party sees your conversation. The store, your memories, and retrieval stay on your machine; retrieval runs on local ONNX models. Poppy sends nothing to Trags unless you turn sync on. It never auto-spends on a paid remote model: if only an AP
Only the beginning is shown; read the rest in the repo