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)
Session memory for AI coding agents. Search past sessions, extract rules, and track what works.
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.
ANTHROPIC_API_KEY, OPENAI_API_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
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": {
"afterpaths": {
"command": "uvx",
"args": [
"afterpaths",
"afterpaths-mcp"
],
"env": {
"ANTHROPIC_API_KEY": "your-value",
"OPENAI_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add afterpaths --env ANTHROPIC_API_KEY=your-value --env OPENAI_API_KEY=your-value -- uvx afterpaths afterpaths-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"afterpaths": {
"command": "uvx",
"args": [
"afterpaths",
"afterpaths-mcp"
],
"env": {
"ANTHROPIC_API_KEY": "your-value",
"OPENAI_API_KEY": "your-value"
}
}
}
}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": {
"afterpaths": {
"type": "stdio",
"command": "uvx",
"args": [
"afterpaths",
"afterpaths-mcp"
],
"env": {
"ANTHROPIC_API_KEY": "your-value",
"OPENAI_API_KEY": "your-value"
}
}
}
}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 with the GitHub account burnssa, which owns the repo
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.
You need to fill in: ANTHROPIC_API_KEY, OPENAI_API_KEY
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.2.5) reached the registry 6 months 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.
Smarter with every session, automatically.
Extract rules from what worked. Track what didn't. Find the best models for your stack.
You're running Claude Code, Cursor and Codex, but which model actually works best for your stack? What approaches lead to breakthroughs vs. expensive dead ends? How do you stop your agents from making the same mistakes?
Afterpaths gives you a single view across all your AI coding tools: compare what's working, capture discoveries as rules, and guide your agent team away from costly diversions.
What you're seeing:
You're managing multiple agents - retaining critical context and learning from sessions is painful:
Afterpaths captures sessions across tools, surfaces what's working, and generates rules automatically—so your agents learn from every session, and you retain all your rich session context.
Your Sessions Afterpaths
─────────────── ────────────────────────────────────
Claude Code ──► ap log ──► Browse sessions across IDEs Cursor ap stats ──► Analytics: tokens, activity, errors Codex ap summarize──► Session summaries (what happened) ap rules ──► Rule files (what to remember) ap search ──► Find past discussions & discoveries │ ▼ .claude/rules/ · .cursor/rules/ │ ▼ Your next session is smarter
pip install afterpaths
cd ~/code/your-project
ap audit
The audit shows your sessions across all tools, model performance, and whether you have rules set up. No API key needed.
From there, the recommended flow:
# 1. Browse sessions and find significant work
ap log
export ANTHROPIC_API_KEY="sk-ant-..." ap summarize 1
ap rules
ap search "database schema" ap search "auth" --deep # also search raw transcripts
ap stats ap stats --daily
Tip:
apis the short alias forafterpaths. Both work identically.
All commands support --json for structured output (e.g., ap log --json, ap show 1 --json, ap search "query" --json).
See docs/commands.md for the full command reference and recipes.
Real example: A bug causing 76 missing sessions became a rule that prevents the same mistake.
While building afterpaths, sessions for a project weren't showing up. The path (let's call it) /Users/Code/foo_bar was being decoded as /Users/Code/foo/bar. After investigation, we discovered Claude Code uses lossy path encoding—both / and _ become -.
The summary captured the discovery:
## Discoveries
~/.claude/projects/ are encoded by replacing / with -, but underscores are ALSO converted to hyphens. Three different paths encode identically:/Users/Code/foo_bar → -Users-Code-foo-bar/Users/Code/foo-bar → -Users-Code-foo-bar/Users/Code/foo/bar → -Users-Code-foo-bar
`ap rules` extracted it into `.claude/rules/gotchas.md`:
- **Claude Code lossy path encoding**: Claude Code encodes project paths by
replacing both / and _ with -, making them indistinguishable when decoding. When decoding, try underscore variants alongside hyphen variants at each greedy step, preferring longer segments (single directories) over nested paths. _Source: 91b1ffbc_
Next time Claude works on path decoding in this codebase, it already knows about the lossy encoding—no need to rediscover it.
| Without | With Afterpaths |
|---|---|
| Discover gotcha, forget to document it | ap summarize captures it with full context |
| Hit the same issue 3 weeks later | Rule in .claude/rules/ prevents it |
| No idea what's working | ap stats shows tokens, sessions, error rates |
| Sessions scattered across IDEs | ap log unified view across Claude + Cursor |
| Learnings siloed per tool | Rules sync to .claude/rules/ and .cursor/rules/ |
| Category | What it captures | Example |
|---|---|---|
| Dead Ends | Approaches that failed | "Don't use X because Y" |
| Decisions | Architectural choices | "We chose Redis over Postgres because..." |
| Gotchas | Non-obvious warnings | "Watch out for X when doing Y" |
| Patterns | Techniques that worked | "For X, use pattern Y" |
Each rule includes source session references so you can trace back to the original context.
| Tool | Status | Location |
|---|---|---|
| Claude Code | ✅ Ready | ~/.claude/projects/*.jsonl |
| Cursor | ⚠️ Partial | ~/Library/Application Support/Cursor/User/workspaceStorage/ |
| Codex CLI | ✅ Ready | ~/.codex/ |
Cursor sessions: the adapter reads several known chat/composer formats from state.vscdb (including workbench.panel.aichat.view.aichat.chatdata, composer.composerData, and allComposers), but Cursor changes its storage schema often and some sessions will return Entries: 0 even when the state.vscdb file is present. When this happens, ap show --raw and the afterpaths_show_session MCP tool emit a warning rather than silently returning empty. The raw file is untouched — if you need that session, opening state.vscdb directly with sqlite3 will still work.
Tool provenance features (ap show --artifacts, commit tracing, file activity) only cover sessions whose entries the adapter can read.
Afterpaths includes an MCP server that puts session history directly into your agent's tool list. Instead of relying on agents to discover the CLI, the MCP server makes session search, summaries, and rules available as native tools.
# Install with MCP support
pip install afterpaths[mcp]
claude mcp add afterpaths -- afterpaths-mcp
python -m afterpaths.mcp_server
Tools exposed:
| Tool | Description |
|---|---|
afterpaths_list_sessions | List recent sessions for context recovery |
afterpaths_show_session | Read session summaries and transcripts |
afterpaths_show_artifacts | Show artifacts ledger: files written/edited with provenance |
afterpaths_summarize | Generate summaries for sessions |
afterpaths_search | Search across past sessions (auto-escalates to transcripts on 0 summary hits) |
afterpaths_get_rules | Get extracted rules (dead ends, decisions, etc.) |
Once configured, agents can ask "have we seen this before?" or "what were the dead ends?" and get answers from your session history.
.afterpaths/ excluded by defaultyour-project/
├── .afterpaths/ # Summaries (gitignored) │ ├── summaries/ │ └── meta.json ├── .claude/ │ └── rules/ # Generated rules (commit these!) │ ├── dead-ends.md │ ├── gotchas.md │ └── patterns.md └── src/
Each rule file is split into a manual section (preserved across ap rules runs) and an auto section (regenerated each run):
# Gotchas: Things to Watch For
_Add project-specific notes here — preserved across ap rules runs._
Auto-generated by
afterpaths distill| Updated: 2026-04-21 12:00
Sources: 3 session(s)
Put hand-curated rules or project-specific reminders between the manual:start / manual:end markers — they'll survive every ap rules run. Content *outside* those markers (and outside the recognized boilerplate) blocks the run as a safety check. Pass --force to overwrite anyway, or wrap the content in manual markers to preserve it.
If you're upgrading from an earlier version and your rule files contain only auto-generated content, markers are inserted automatically on the next ap rules run with an empty manual section — no action required.
ap search)--json flag)MIT
*Manage your AI coding agents. Learn what works. Stop repeating mistakes.*