Context7
Up-to-date docs for AI agents
作者による説明(英語の原文)
Persistent memory for AI coding agents — past bugs, decisions, and your corrections, in your repo.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
PROJECT_MEMORY_ROOT必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"project-memory": {
"command": "npx",
"args": [
"-y",
"@kaaustubh/project-memory-mcp"
],
"env": {
"PROJECT_MEMORY_ROOT": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add project-memory --env PROJECT_MEMORY_ROOT=your-value -- npx -y @kaaustubh/project-memory-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"project-memory": {
"command": "npx",
"args": [
"-y",
"@kaaustubh/project-memory-mcp"
],
"env": {
"PROJECT_MEMORY_ROOT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"project-memory": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@kaaustubh/project-memory-mcp"
],
"env": {
"PROJECT_MEMORY_ROOT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
PROJECT_MEMORY_ROOT envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント kaaustubh で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.6.0)がレジストリに届いたのは4 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Context7, Codebase Memory, Exa
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Up-to-date docs for AI agents
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.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A small, local MCP server that gives AI agents (Claude Code, Cursor, VS Code / GitHub Copilot, …) a shared, persistent memory of the projects in a code folder — what each project is, decisions made, and every bug/issue faced during development.
It is stateless: every tool reads/writes plain files on disk, so multiple clients (and multiple machines) share one source of truth.
| Layer | Lives in | Auto-loaded into context? | For |
|---|---|---|---|
| Project memory | /AGENTS.md | ✅ yes (via CLAUDE.md → @AGENTS.md) | identity, stack, run cmds, concise decisions/learnings — keep lean |
| Issue log | /issues.jsonl | ❌ no | high-volume bug/issue history — fetched on demand |
Design rule: durable, low-volume facts go in AGENTS.md (auto-loaded). High-volume history (bugs) goes in issues.jsonl (queried via search_issues). This keeps the always-loaded context small while keeping everything searchable.
Some orgs disable third-party MCP servers via policy (e.g. GitHub Copilot's MCP allowlist enforcement). Because the memory is plain files, not a service, the core value survives that:
AGENTS.md is auto-loaded by the editor reading it — no MCP call involved — so a project's identity, decisions, learnings, and preferences still land in the agent's context.io.github.kaaustubh/project-memory-mcp).Only the interactive tools (log_issue, search_issues, …) go over the MCP channel; the file-based memory keeps working without it.
list_projects, get_project, search_memory — read project memoryappend_decision, append_learning — append a dated bullet to AGENTS.mdremember_preference — turn a correction / stated habit into a remembered pattern (## Preferences in the root AGENTS.md for a global habit, or a project's for a local one); rides the auto-load, so it comes back next sessionlog_issue — record a bug/problem → issues.jsonlsearch_issues — "have we hit this before?" across all projects (field-scoped; optional tags filter)list_open_issues, resolve_issue — track / close bugssync_registry — reconcile the root AGENTS.md projects table with what's on disk (adds rows for new projects, flags stale ones)find_by_file — given a file path, surface the issues + decisions/learnings that touch it ("why is this code like this?")start_initiative, get_initiative, list_initiatives, update_initiative — track a named, multi-session effort (a codename, a plan, an evolving todo list) so it's resumable from any future session by name, not just within the one that started it; see Initiatives belowcheck_in, check_out — stamp the start/end of the working day and record a standup summary composed from evidence harvested off disk (git commits across every repo, uncommitted WIP, memory writes, initiative progress); the next morning's check_in hands the summary back — that's your standup. Print it any time, no agent needed: npx -y @kaaustubh/project-memory-mcp standupYou don't call these directly — you talk to your agent in natural language and it picks
the tool. See Using it day to day below for what to actually say.
Most of it runs itself: opening a project auto-loads its AGENTS.md (the agent already knows the project), and capture is proactive (plus the optional Stop hook). Your job is mainly to pull memory at the right moments. Just talk to your agent:
| When | Say something like | What fires |
|---|---|---|
| Before debugging anything | *"Have we hit this before? "* | search_issues across all projects |
| Starting something you've done elsewhere | *"How did I do Stripe webhook verification in any project?"* | search_memory (cross-project) |
| Landing on confusing code | *"Why is index.js like this? Check the memory."* | find_by_file |
| You made a real decision / fixed a real bug | *(nothing — it logs on its own and tells you)* | append_decision / log_issue |
| You correct how the agent works | *"No, always run the typecheck before committing — remember that."* | remember_preference (global or per-project) |
| Triage | *"What's still open across my projects?"* | list_open_issues |
| A bug is fixed | *"Resolve pulse_stripe-004 — fixed by …"* | resolve_issue |
| Added a new project | *"Sync the registry."* | sync_registry |
The one habit that matters: make *"have we hit this before?"* reflexive before every debugging session. That's where a memory tool earns its keep; the rest the system handles.
Capture is confirming, not silent — when the agent logs something it tells you in one line. Correct it freely: *"don't log that"*, or *"actually, log this too."*
Escape hatches: PROJECT_MEMORY_HOOK=off silences the Stop hook for one session; uninstall-hook removes it entirely.
From your code/projects folder, run:
cd ~/code # the folder that holds your projects
npx -y @kaaustubh/project-memory-mcp install
That registers the server, using the current directory as your projects root, with every client that has an MCP config location on this machine:
| Client | Config written |
|---|---|
| Claude Code | user scope, via claude mcp add |
| Cursor | ~/.cursor/mcp.json |
| VS Code / GitHub Copilot Chat | user-profile mcp.json (applies to every workspace) |
| GitHub Copilot CLI | ~/.copilot/mcp-config.json (or $COPILOT_HOME) |
| JetBrains Copilot plugin (IntelliJ, PyCharm, WebStorm, …) | ~/.config/github-copilot/intellij/mcp.json |
| Visual Studio (Windows) | %USERPROFILE%\.mcp.json — global, all solutions |
| Kimi Code CLI | ~/.kimi-code/mcp.json (or $KIMI_CODE_HOME) |
| Gemini CLI | ~/.gemini/settings.json |
| OpenAI Codex CLI | ~/.codex/config.toml (the only non-JSON client — merged as TOML) |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
Each write merges into the existing file (other MCP servers you've already configured are left alone) and is independently best-effort — a client that isn't installed on this machine is silently skipped, the rest still get registered. Restart whichever app(s) you use, then ask your agent *"set up project memory for this folder"* to scaffold AGENTS.md for each project.
Copilot surfaces (VS Code, CLI, JetBrains, Visual Studio): tools only run in
Agent mode, and config changes need a restart to take effect.
No clone, no global install — the MCP config just runs
npx, which fetches and runs
the latest version on demand.
Team memory (beta signup): want this memory shared across your team instead of
just your machine? Register your interest: https://github.com/kaaustubh/project-memory-mcp/issues/1
git clone https://github.com/kaaustubh/project-memory-mcp.git ~/code/.memory-server
cd ~/code/.memory-server && ./install.sh
A common question: *"once I install it, does it just start doing things?"* Not quite — the server is passive. Here's the actual flow:
AGENTS.md (via CLAUDE.md → @AGENTS.md) into the model's context for you. This is why the agent "just knows" what your project is — it's a built-in editor feature.Day one is empty. A fresh setup has no
AGENTS.mdfiles yet, so the auto-load has
nothing to load and
log_issuewill refuse until a project's memory exists. Bootstrap
once by asking your agent: *"set up project memory for this folder"* — it creates the
AGENTS.mdfiles. After that, everything works.
In short: a convention (auto-loaded files) + a tool the agent chooses to use + a one-time setup. No magic, no daemon.
The server ships a standing capture policy (sent to the client on connect, plus directive tool descriptions), so the agent records things on its own instead of waiting for you to ask:
search_issues for a prior fix.log_issue.append_decision / append_learning.remember_preference, so the one-time correction becomes a pattern it brings back next session.It's proactive but not silent: the agent tells you in one line what it recorded, asks when unsure rather than logging noise, and skips trivia and secrets. You can always override — "log this", or "don't bother". The standing policy is best-effort (it depends on the model following it); for a hard guarantee, add the opt-in Stop hook below.
The standing policy can be forgotten mid-session. The Stop hook makes capture non-optional: when the agent tries to end a turn, it runs once and blocks the stop to ask for one capture pass when either (a) real work happened (file edits or a commit) and nothing was written to project memory, or (b) you corrected how it works and no preference was saved. If memory was already written, or nothing changed and you didn't correct it, the hook stays silent and lets the turn end.
npx -y @kaaustubh/project-memory-mcp install-hook # turn it on (then restart Claude Code)
npx -y @kaaustubh/project-memory-mcp uninstall-hook # turn it off
install does not add it; you enable it explicitly.stop_hook_active), then lets the agent stop.PROJECT_MEMORY_HOOK=off to disable without uninstalling.Capture is only half the loop — the other half is *remembering to look*. The recall hook closes it: every time you submit a prompt, it matches your request against your issue history and decisions/learnings/preferences, and silently injects the strongest hits as context. So a prior fix or decision surfaces without you (or the agent) remembering to search — the "have we hit this before?" habit becomes automatic.
npx -y @kaaustubh/project-memory-mcp install-recall # turn it on (then restart Claude Code)
npx -y @kaaustubh/project-memory-mcp uninstall-recall # turn it off
@xenova/transformers) is installed, recall matches by meaning, so *"the build is broken"* still surfaces an issue logged as *"compile failure"* even冒頭だけを表示しています。続きはリポジトリで読めます