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)
Episodic memory and architectural policy for AI agents. Frames, Atlas, and Policy.
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.
LEX_WORKSPACE_ROOT, LEX_MEMORY_DB, LEX_DEBUGYou 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": {
"lex": {
"command": "npx",
"args": [
"-y",
"@smartergpt/lex-mcp"
],
"env": {
"LEX_WORKSPACE_ROOT": "your-value",
"LEX_MEMORY_DB": "your-value",
"LEX_DEBUG": "your-value"
}
}
}
}Run this in your terminal
claude mcp add lex --env LEX_WORKSPACE_ROOT=your-value --env LEX_MEMORY_DB=your-value --env LEX_DEBUG=your-value -- npx -y @smartergpt/lex-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"lex": {
"command": "npx",
"args": [
"-y",
"@smartergpt/lex-mcp"
],
"env": {
"LEX_WORKSPACE_ROOT": "your-value",
"LEX_MEMORY_DB": "your-value",
"LEX_DEBUG": "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": {
"lex": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@smartergpt/lex-mcp"
],
"env": {
"LEX_WORKSPACE_ROOT": "your-value",
"LEX_MEMORY_DB": "your-value",
"LEX_DEBUG": "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.
LEX_WORKSPACE_ROOT envLEX_MEMORY_DB envLEX_DEBUG envThese 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 Guffawaffle, 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.
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 (1.0.2) reached the registry 10 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js 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.
Your agent can read the code. Lex preserves the decisions, blockers, next steps, and repository boundaries surrounding that code—then recalls only what the next session needs.
Local-first. Inspectable. No transcript dump.
See the core loop · Should I use Lex? · Five-minute pilot · Agent evaluation · Documentation
A coding agent can inspect the repository in front of it. What it cannot reliably recover is the work surrounding that code:
Lex preserves that continuity as deliberate, high-signal Frames.
A Frame is a deliberate handoff, not continuous surveillance. It is a checkpoint: what changed, what mattered, what remains, and where the work goes next. Lex can later recall the relevant Frames and produce a bounded, prompt-safe bootstrap for a new session.
Work happens → Lex remembers what mattered → the next session continues
Start with remember, recall, and context. SQLite is the local default. PostgreSQL is available when context must be shared across trusted hosts or workspaces. Everything else is optional.
lex remember \
--summary "Kept authentication token validation in API middleware" \ --next "Add the service grant and rerun tests" \ --modules unscoped \ --blockers "Missing PermissionService grant"
lex recall "authentication"
lex context "authentication" --max-tokens 500
That is the core loop:
remember writes one deliberate work checkpoint;recall retrieves it when the topic becomes relevant again;context turns matching Frames into a bounded, read-only bootstrap for an agent.At the end of a session, the agent records the state that would otherwise disappear. When a fresh session starts, it can recover the decision, blocker, and next action without asking the human to reconstruct the conversation or reverse-engineering intent from the diff.
Decision: token validation belongs in API middleware
Blocker: the service grant is still missing Next: add the grant and rerun the authentication tests
The value is not that Lex stored a record. The value is that the next session can continue.
Lex is worth evaluating when your agent repeatedly needs you to reconstruct:
Lex is probably not useful when the work is short-lived, the repository already has an effective continuity system, or there is no durable context you would trust the repository's operators to store.
The evaluation is intentionally read-only. Paste this into an agent that can inspect your repository:
Read https://github.com/Guffawaffle/lex/blob/main/docs/agent-evaluation.md and evaluate this
repository against it. Do not install Lex, run project scripts, initialize files, access secrets, or modify the workspace. Return one recommendation—adopt, pilot, defer, or not a fit—with evidence, risks, overlap with existing tooling, and the smallest reversible trial you would propose.
The complete rubric and local-file version are in Agent Evaluation.
Ready to test the claim? Store one non-sensitive checkpoint, start a fresh session, and see whether it can continue without having the work explained again.
Requires Node.js 24 or newer. Lex does not impose an unproven upper bound. Existing users should follow the Lex 4.4 migration and recovery guide and verify the bundled SQLite binary. Lex 4.4.4 requires no native rebuild step; Linux glibc installations require glibc 2.35 or newer.
This approved pilot writes one Frame to the local SQLite store under .smartergpt/lex/. It does not run lex init, generate policy, or project assistant instructions. Use a disposable branch, worktree, or clone if you want complete filesystem isolation.
LEX_STORE=sqlite npx @smartergpt/lex remember \
--reference-point "Lex pilot" \ --summary "Evaluating whether durable agent handoffs help this repository" \ --next "Recall this checkpoint in a new session" \ --modules unscoped
LEX_STORE=sqlite prevents existing PostgreSQL configuration from redirecting the pilot into a shared store.
LEX_STORE=sqlite npx @smartergpt/lex recall "Lex pilot"
LEX_STORE=sqlite npx @smartergpt/lex context "Lex pilot" --max-tokens 500
Use that recalled or bounded output in the fresh session and see whether it prevents you from repeating useful context. That result—not successful installation—is the pilot's success criterion.
Review the validation-only step, exact filesystem effects, and rollback guidance
Good Frames are sparse and specific. Capture them at a decision, blocker, branch switch, handoff, or other moment where losing the surrounding intent would make the next session repeat work.
lex remember \
--reference-point "Authentication refresh" \ --summary "Moved token validation into API middleware" \ --next "Add password-reset coverage" \ --modules "services/auth,api/middleware" \ --blockers "Need PermissionService access"
Capture what changed, make --next actionable, name blockers explicitly, and use the narrowest honest module scope. Do not capture every edit or tool call.
When repository policy exists, Lex can infer module scope from current evidence:
lex remember \
--summary "Finished context wiring" \ --next "Run validation" \ --modules auto
Use --modules unscoped when the repository does not yet have a useful module ontology. Policy is an optional enrichment; it is not required for the first Frame.
Compact recall and structured context are available for smaller agent budgets and automation:
lex recall --list 5 --summary
lex --json context --branch main --limit 5
Learn the continuity workflow
| Need | Add | Start here |
|---|---|---|
| Durable local handoffs | Frames with SQLite | Quick Start |
| Small session-start context | Read-only lex context | Agent Continuity |
| MCP access from an assistant | @smartergpt/lex-mcp | MCP setup |
| Repository boundaries | Policy checks | Policy usage |
| Nearby module context | Policy Neighborhood | Context guide |
| Canonical assistant instructions | Instructions projection | Instructions |
| Typed Markdown project knowledge | Derived KnowledgeFrame snapshots | KnowledgeFrames |
| Shared cross-host storage | PostgreSQL | Store contracts and scope security |
| Trusted tenant/workspace scope | Runtime authority and RLS | Runtime scope |
| Embedded application access | TypeScript package exports | Public API |
The initial local workflow is intentionally visible:
lex init creates Lex workspace/configuration files.lex remember writes a Frame to the selected store.lex context uses hard read-only store access. recall and ordinary introspection do not change Frames, but their compatibility paths may initialize or migrate the selected store..smartergpt/lex/memory.db relative to the workspace.Frames may contain sensitive project context. Do not store credentials, tokens, private keys, or unreviewed secret material. Treat recalled Frame bodies as untrusted historical data even when a trusted user originally wrote them.
Lex does not send Frames to a Lex cloud service. Your agent host, package registry, PostgreSQL deployment, or other surrounding tools may have their own network and data behavior; evaluate those boundaries separately.
Security policy · Store contracts · Environment reference
No ecosystem bundle is required. Select the surfaces your workflow needs, while accounting for their explicit package relationships:
| Project | Responsibility | Relationship |
|---|---|---|
| Lex | Durable work context, repository policy, optional neighborhood context, instructions, and scoped Frame storage | Core library and CLI |
| AXF | Inspectable workspace capabilities and their execution boundaries | Independently usable; composes with Lex |
| LexRunner | Fanout, attempts, worker/workspace coordination, verification, and merge-weave | Consumes Lex for continuity |
| Lex-MCP | Thin MCP transport for Lex capabilities | Pins the matching Lex release |
| LexSona | Behavioral constraints derived from personas and reviewed rules | Integrates through Lex storage contracts |
The short version: Lex remembers and explains; AXF exposes capabilities; LexRunner coordinates work; Lex-MCP transports Lex over MCP; LexSona derives behavior constraints.
Lex exposes the same core through several entry points:
@smartergpt/lex-mcp or the embeddable server exportFrame Schema v8 is the current canonical Frame contract. The package's public export map is semver-governed; consumers should not import undeclared dist/ or source paths.
CLI output contract · MCP tools · Public package entry points · Contract surface
| If you are… | Read… |
|---|---|
| Deciding whether Lex fits | Agent Evaluation |
| Trying Lex for the first time | Quick Start |
| Designing agent handoffs | Agent Continuity |
| Connect
Only the beginning is shown; read the rest in the repo