Context+ is a Model Context Protocol (MCP) server that turns a large codebase into a queryable structure, so a coding agent asks for what it needs instead of reading whole files. It parses source with tree-sitter abstract syntax trees across 43 file extensions, embeds file headers and symbols for meaning-based retrieval, groups related files with spectral clustering, and links features through Obsidian-style hub files carrying wikilinks to the code they cover.
Seventeen tools cover four areas. Discovery returns a pruned structural tree, per-file skeletons of signatures and type definitions with line ranges, semantic file and identifier search, and cluster-based navigation. Analysis traces every place a symbol is used and runs native linters and compilers — TypeScript, Python, Rust and Go — for dead code and type errors. Code operations route writes through a single validating tool that creates a shadow restore point first, so a change can be undone without touching git history. A memory layer stores nodes with generated embeddings and typed edges, searches them with graph traversal, adds nodes in bulk with automatic similarity linking above a cosine threshold, and prunes decayed edges and orphaned nodes.
Embeddings come from a local server by default, or from any OpenAI-compatible endpoint including Gemini's compatibility API, OpenAI itself, and self-hosted gateways; a chat model labels the clusters. A runtime cache directory keeps file, identifier and call-site embeddings so work is not repeated, refreshed incrementally by a tracker as files change. Configuration is written into the MCP config of Claude Code, Cursor, VS Code, Windsurf or OpenCode, and paths excluded by a workspace ignore file can be added back as extra roots, each walked with its own ignore scope.
Features
- Structural tree: an abstract-syntax-tree view of the project with file headers and symbol line ranges, pruned to fit
- File skeleton: function signatures, class methods and type definitions with line ranges, without reading bodies
- Semantic search: file- and identifier-level retrieval by meaning, returning definition lines and ranked call sites
- Cluster navigation: spectral clustering groups semantically related files into labeled clusters to browse
- Blast radius: every file and line where a symbol is imported or used
- Static analysis: native linters and compilers for TypeScript, Python, Rust and Go
- Guarded writes: the single write tool validates a change against rules before saving it
- Restore points and undo: shadow snapshots taken before each change, restorable without affecting git
- Memory graph: nodes with embeddings, typed edges, decay-scored traversal and pruning of stale links
- Embedding backends: a local server by default, or any OpenAI-compatible endpoint
- Incremental cache: embeddings persisted to disk and refreshed as changed files are detected
- Editor setup: MCP configuration generated for Claude Code, Cursor, VS Code, Windsurf and OpenCode

