Persistent memory and codebase knowledge graph for AI coding assistants — delivered as a single MCP server.
One shared context store across Claude Code, VS Code Copilot, Google Antigravity (2.0 / IDE / CLI), Codex CLI, Hermes Agent, Claude.ai, and ChatGPT. Save context from one AI, pick it up in another.
The Problem
Persistent AI memory + codebase knowledge graph MCP server. Works across Claude Code, VS Code Copilot, Google Antigravity, Codex CLI, Hermes Agent, Claude.ai, and ChatGPT.
2026-11-15
스타
—
도구
—
가동 시간
—
Every conversation with an AI assistant starts from zero. The AI re-reads files it already read yesterday, re-discovers architecture it already understood, re-derives decisions that were already made. You repeat context. You paste the same background.
This gets worse as projects grow — reading 20 files to answer "what calls this function?" burns thousands of tokens every time.
What It Solves
Persistent memory — decisions, bugs, notes, and config saved across sessions, loaded automatically at conversation start
Shared store — ~/.context-mcp/projects/<name>/ per-project on your machine; all AI tools read and write it
ContextGraph — build a knowledge graph of your codebase once, answer structural questions in ~500 tokens instead of ~50,000
Real measured reduction on this project: 162× fewer tokens, 99.38% reduction per conversation.
Installation
npm install -g context-mcp-server
Requires Node.js ≥ 18. Installs context-mcp, context-mcp-http, and the ctx CLI.
ContextGraph requires uv (Python runner). Memory tools work without it.
# macOS / Linux
curl -Ls https://astral.sh/uv/install.sh | sh
# Windows
winget install astral-sh.uv
Quick Start
Run from your project root:
ctx install --initial
This installs Node.js + Python (ContextGraph) dependencies. Run once after installing the npm package.
Then write MCP config + AI instruction files:
ctx install --all
To install for a specific platform only:
ctx install --claude # Claude Code
ctx install --vscode # VS Code Copilot
ctx install --antigravity # Google Antigravity (2.0 / IDE / CLI)
ctx install --codex # Codex CLI
ctx install --hermes # Hermes Agent
For Codex project installs, ctx install --codex writes:
.codex/config.toml with [mcp_servers.context-mcp] MCP configuration.
AGENTS.md with Context-MCP usage rules for Codex.
.codex/hooks/ pre/post shell hook scripts for project-local Codex sessions.
For web clients (Claude.ai, ChatGPT), start the HTTP server:
ctx online # start in background, prints OAuth credentials + URL
ctx online --restart # force restart
ctx online --port 3200 # different port
Claude Code plugin
This repo is also a self-hosted Claude Code plugin marketplace — an alternative to ctx install --claude that doesn't require cloning or npm-installing anything yourself:
claude plugin marketplace add vibhasdutta/context-mcp
claude plugin install context-mcp@context-mcp-marketplace
or from inside a session: /plugin marketplace add vibhasdutta/context-mcp then /plugin install context-mcp@context-mcp-marketplace. This installs the context-mcp skill, the Bash pre/post-tool-use hooks, and registers the MCP server (still launched via npx context-mcp-server@latest) — everything ctx install --claude writes into ~/.claude/, bundled as one installable unit. ctx install --initial is still required once to install the ContextGraph Python environment.
CLI Reference
Both ctx and context are aliases for the same CLI.
ctx # interactive mode (UI)
# Context
ctx list [project] # list entries by tree: graph / context / summary / plans
ctx projects # all projects with graph status + recent entries
ctx search "query" # keyword → semantic fallback search
ctx add # add entry interactively
ctx summary [project] # summarize recent entries
# Delete
ctx delete <id-prefix> # delete one entry
ctx delete project <name> # delete all entries for a project
# Server
ctx online # start HTTP server (idempotent)
ctx online --restart # force stop + restart
ctx settings # view and edit config interactively
# Install
ctx install --initial # install / update Node.js + Python deps
ctx install --all # write config + rules for all platforms
Security
File and git tools are sandboxed to your project root. Pass rootPath when calling context.resume:
Any file or git operation outside that directory is rejected. Applies to all HTTP-connected clients.
Features
Memory
context.resume — loads recent entries, active plans, and graph status; registers rootPath for sandboxing
context.save — store context as note (or compaction for session summaries); categorize with free-form tags
context.get / context.update / context.delete — full CRUD, single or batch
search — keyword-first, semantic fallback
plan — auto-triggered when AI makes any plan; saves a markdown summary to a planDir you specify
Auto-deduplication on save; auto-compact at 20 entries → stored in summary.json
ContextGraph
Also called CodeGraph. MCP tools use the codegraph_* prefix — both names mean the same thing.
Step 1 — Build (once per project, runs locally, no API cost):
codegraph_build(path)
Parses codebase via tree-sitter AST (16 languages, regex fallback). Extracts functions, classes, imports, call edges, and inheritance. Every node carries a full enriched schema: signature, params, return_type, docstring, side_effect, exported, complexity, last_modified. PageRank scores all nodes by connectivity. Metadata saved to <project>/codegraph-cache/.
Step 2 — Query (instant, forever):
codegraph_arch(path, limit?) → module map: every file, its exports, its imports
codegraph_query(path, question?, node?) → structural question OR single-node lookup (or both)
codegraph_nodes(path, type, token_budget?) → all nodes of a type, sorted by PageRank
codegraph_filter(path, node_type?, exported?, → predicate filter: side_effect, return_type,
side_effect?, return_type?, called_by?, called_by, file_pattern — rank-sorted output
calls?, file_pattern?, token_budget?)
codegraph_report(path) → god nodes, clusters, surprising connections
codegraph_affected(path, node, depth?) → BFS blast radius — what breaks if you change X?
codegraph_query accepts question (natural language), node (exact/partial name), or both. codegraph_filter answers property questions ("which functions have side effects?", "all exported async handlers") without reading any files. Pass token_budget to any tool to get the highest-rank results within a token limit.
What's in each node (v1.2+):
Field
Example
signature
function fetchUser(id: string): Promise<User>
return_type
Promise<User>
side_effect
true (db write, HTTP call, fs op detected)
exported
true
docstring
first comment or JSDoc string
rank
PageRank score — higher = more connected
inherits / implements
parent class / interface names
Step 3 — Visualize (auto-generated on every build):
codegraph_html(path, formats?) → regenerate visualizations on demand
Every codegraph_build automatically writes to <project>/codegraph-cache/:
graph.html — interactive vis.js force graph (dark theme, search, community toggle)
tree.html — D3 collapsible file hierarchy
callflow.html — Mermaid architecture diagrams per community
graph.graphml — Gephi / yEd export
obsidian/ — per-node .md vault with [[wikilinks]]
File & Git Tools
Available to HTTP-connected clients (Claude.ai, ChatGPT). Local AI clients use their native IDE tools.
Persistent AI memory + codebase knowledge graph MCP server. Works across Claude Code, VS Code Copilot, Google Antigravity, Codex CLI, Hermes Agent, Claude.ai, and ChatGPT.
이 페이지에서 Cursor, Claude Desktop, Claude Code 또는 VS Code용 stdio 설정을 복사합니다. PlugMCP 프록시가 아니라 게시자의 설치 방식을 사용합니다.
Context에 API 키가 필요한가요?
이 레코드에는 필수 환경 변수가 등록되어 있지 않습니다.
Context은(는) 어떤 전송 방식을 사용하나요?
Context은(는) stdio를 통해 로컬에서 실행됩니다.
Context은(는) 마지막으로 언제 확인되었나요?
마지막 확인: 2026-11-15. Persistent AI memory + codebase knowledge graph MCP server. Works across Claude Code, VS Code Copilot, Google Antigravity, Codex CLI, Hermes Agent, Claude.ai, and ChatGPT.