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)
Explainable graph-retrieval memory engine with an RL-trained management 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.
LLM_API_KEY, LLM_BASE_URL, LLM_MODELValues 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 …”.
Works in Claude on the web, desktop and mobile:
https://api.yliuai.com/mcpOpen Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"spomory": {
"command": "uvx",
"args": [
"spomory"
],
"env": {
"LLM_API_KEY": "your-value",
"LLM_BASE_URL": "your-value",
"LLM_MODEL": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http spomory https://api.yliuai.com/mcpclaude mcp add spomory --env LLM_API_KEY=your-value --env LLM_BASE_URL=your-value --env LLM_MODEL=your-value -- uvx spomoryFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"spomory": {
"url": "https://api.yliuai.com/mcp"
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"spomory": {
"command": "uvx",
"args": [
"spomory"
],
"env": {
"LLM_API_KEY": "your-value",
"LLM_BASE_URL": "your-value",
"LLM_MODEL": "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": {
"spomory": {
"type": "http",
"url": "https://api.yliuai.com/mcp"
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"spomory": {
"type": "stdio",
"command": "uvx",
"args": [
"spomory"
],
"env": {
"LLM_API_KEY": "your-value",
"LLM_BASE_URL": "your-value",
"LLM_MODEL": "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.
ChatGPT connects only to servers on the internet:
https://api.yliuai.com/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
LLM_BASE_URL envLLM_MODEL envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
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 8, 2026
The publisher (lyf-wxy) is not the repo owner (yliuai); someone else may have listed it
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 0 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: LLM_API_KEY
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.3.1) reached the registry 26 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
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.
English | [中文](README.zh-CN.md)
Spomory gives AI clients a memory that persists across sessions — and is shared between all of them. Tell one of them something once (a project detail, a preference, a fact about yourself) and any of them can recall it later, without you repeating yourself. It's an MCP server, so it works with any MCP-compatible client: Claude Desktop, Cursor, Codex CLI, and Doubao (豆包) have each been verified end-to-end with a real client session (see "What it can do" below); ModelScope, Coze, and 阿里云百炼 (Alibaba Cloud Bailian) are also known-compatible, connecting the same way any remote MCP client does (Streamable HTTP, or SSE for 百炼 specifically, which doesn't support Streamable HTTP yet).
It runs as an MCP server, either locally on your own machine (free, nothing leaves your computer) or as a hosted cloud service (free signup, memory follows you across devices) — every client above supports both. The rest of this README walks through the local path (that's what "Get started" below covers); the fastest way into the cloud path is the web app at spomory.yliuai.com/get-started/remote. Exact local/cloud configuration for each individual client lives in docs/mcp_quickstart.en.md (organized one section per client — Claude Desktop/Cursor/Codex CLI/Doubao — each covering both connection methods).
Curious what it actually does before installing anything? There's a no-signup demo at spomory.yliuai.com — paste in some text and see it turned into the structured facts that would then follow you across Claude, Cursor, Codex CLI, and every other client you connect, persisting across sessions instead of resetting each time.
Requires Python 3.11+.
1. Install. Or skip this step entirely — step 3's config can point straight at uvx, which fetches and runs it on demand, nothing to pre-install:
pip install "spomory[llm,embedding,mcp]"
2. Give it an LLM. Spomory uses an LLM to turn what you tell it into structured facts. Any OpenAI-compatible API works — OpenAI, DeepSeek, Qwen, etc.:
export LLM_API_KEY=sk-...
export LLM_BASE_URL=https://api.deepseek.com # optional, defaults to OpenAI export LLM_MODEL=deepseek-chat # optional, defaults to gpt-4o-mini
3. Connect it to your client. Claude Desktop, Cursor, and Codex CLI each need a few lines added to a config file, pointing at the spomory-mcp command. The exact steps, a config file example for each client, and a real gotcha we hit (macOS blocking a venv that lives under ~/Documents) are in docs/mcp_quickstart.en.md.
Clients without a config file — Doubao (豆包), Coze, ModelScope — connect instead through a point-and-click "custom connector" form (URL + headers, or command + args + env for a local process); see the Doubao section in the same doc (each client — Claude Desktop, Cursor, Codex CLI, Doubao — now has its own section there, with STDIO/HTTP/OAuth grouped underneath it).
The one thing that trips people up: the config needs the **absolute
path** to
spomory-mcp(runwhich spomory-mcpto find it) — the
client doesn't necessarily launch it with your shell's
PATHset. This
whole gotcha (and step 1) disappears if
commandisuvxinstead — see
the quickstart guide for the exact JSON.
That's it. Data lives locally in ~/.memory-core/ by default (override with MEMORY_CORE_DATA_DIR). A Dockerfile is also included, for MCP directories/hosts that deploy from a container image instead.
Two more things worth doing right after connecting: copy skill/spomory/SKILL.md into your client's skills directory so it actually calls these tools on its own instead of sitting there unused; and if you're already using Claude Code, Codex, or Cursor, run spomory-import-sessions --client claude-code (or codex/cursor) to seed the graph from real session history instead of starting from nothing. Both covered in the quickstart guide.
Want the LLM calls local too, instead of a cloud API? Point LLM_BASE_URL at any local OpenAI-compatible server — vLLM, Ollama, llama.cpp, or MLX all work — and set EMBEDDING_PROVIDER=openai_compatible to route embedding the same way instead of the local sentence-transformers model, dropping the torch dependency entirely. Details and per-engine examples in docs/mcp_quickstart.en.md.
Once connected, six tools become available inside the client:
| Tool | What it does |
|---|---|
add_memory | Remembers something you tell it |
search_memory | Recalls whatever's relevant to a question |
forget_memory | Deletes the one thing that best matches what you asked to forget |
forget_all_memory | Wipes the entire memory graph in one call |
get_graph | Shows the memory graph around something, for inspection |
export_memory | Exports everything you've stored, as JSON — your data, portable |
All six are verified working end-to-end against real Claude Desktop, Cursor, Codex CLI, and Doubao sessions, both local and remote — see docs/mcp_quickstart.en.md for what "verified" means for each client.
You don't need any of this to use Spomory — it's here for people who want to know what's actually happening underneath.
sentence-transformers (default bge-m3, bilingual Chinese/English).LocalGraphStore (networkx + SQLite); a PostgresGraphStore cloud implementation also exists, and both share the same behavioral contract test suite.RuleBasedPolicy) and a full GRPO training pipeline (memory_manager/train_grpo.py, actually run and verified on a real GPU).Real runs against DeepSeek on 84 QA pairs from LoCoMo-10 (conv-26, first 150 turns) — not cherry-picked, and not competitive with the bigger players' published numbers yet:
| Metric | Value |
|---|---|
| Recall@10 (did the right evidence turn make it into context) | 52.4% |
| Accuracy — strict substring match | 19.0% |
| Accuracy — LLM-judged (looser, wording-tolerant) | 44.0% |
A prior run (before a fix that folds dates into extracted predicates so "when" questions are answerable) scored lower on accuracy but higher on recall (62.0%) — the fix traded some retrieval recall for a real +14.3-point accuracy gain, and we went and found out exactly why instead of just reporting the accuracy number: the date-folding instruction sometimes misfires on content-free small talk ("Thanks!" → "thanked on 2023-07-03"), and those extra low-value triples crowd out relevant ones out of the fixed top-10 retrieval window. Full numbers, per-category breakdown, and the side-by-side extraction comparison that found this are in docs/benchmark_smoke_test.md.
LongMemEval (xiaowu0162/longmemeval-cleaned oracle variant, first 10 of 500 questions):
| Metric | Value |
|---|---|
| Recall@10 | 100% (10/10) |
| Accuracy — strict substring match | 30% |
| Accuracy — LLM-judged | 80% |
The limitations here matter as much as the numbers:
multi-session type; load_longmemeval(limit=10) takes the first 10 entries in file order with no stratified sampling, so this sample isn't representative of the dataset as a whole.Raw data: benchmarks/results/longmemeval_oracle_subset.json; the run script is benchmarks/run_longmemeval_subset.py.
Everything below is for people who want to hack on the internals, run the test suite, or reach dependency groups beyond what running the MCP server needs (GPU training, the cloud API skeleton, multimodal verification). If you just want to use Spomory, you don't need any of this — see "Get started" above.
src/
├── memory_core/ │ ├── graph/ # entity/relation models, storage adapters (local SQLite / cloud Postgres), incremental writes │ ├── retrieval/ # query→triple matching, personalized PageRank, context assembly │ ├── memory_manager/ # action space, reward functions, GRPO training script, policy inference │ ├── multimodal/ # image captioning + CLIP verification │ ├── mcp_server/ # MCP Server (the distribution entry point) │ ├── export/ # memory passport export format + true delete │ ├── llm/ # pluggable LLM/embedding providers │ ├── audit.py # deletion audit log │ └── usage.py # retention/usage tracking └── cloud_api/ # FastAPI cloud service skeleton (auth, quotas, billing) benchmarks/
Only the beginning is shown; read the rest in the repo