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)
Graph-powered code intelligence with semantic search and knowledge graph for AI assistants
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.
You 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": {
"codeseeker": {
"command": "npx",
"args": [
"-y",
"codeseeker"
]
}
}
}Run this in your terminal
claude mcp add codeseeker -- npx -y codeseekerPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"codeseeker": {
"command": "npx",
"args": [
"-y",
"codeseeker"
]
}
}
}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": {
"codeseeker": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"codeseeker"
]
}
}
}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.
These 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 6, 2026
The registry name was verified with the GitHub account jghiringhelli, 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 (2.1.2) reached the registry last month.
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.
Four-layer hybrid search and knowledge graph for AI coding assistants. BM25 + vector embeddings + RAPTOR directory summaries + graph expansion — fused into a single MCP tool that gives Claude, Copilot, and Cursor a real understanding of your codebase.
Works with Claude Code, GitHub Copilot (VS Code 1.99+), Cursor, Windsurf, and Claude Desktop. One command to index; the Claude Code plugin keeps it in sync from there.
Built by PragmaWorks as part of Generative Specification — the discipline for building software with AI that doesn't drift. Two sibling MCP servers compose with this one, each solving a different half of the same problem:
| what it gives your assistant | |
|---|---|
| CodeSeeker (this) | *where things are* — semantic search and a knowledge graph over your code |
[Chronicle](https://github.com/jghiringhelli/chronicle-mcp) npm i -g chronicle-mcp | *what happened before* — tiered memory that survives context resets |
[Forgecraft](https://github.com/jghiringhelli/forgecraft-mcp) npm i -g forgecraft-mcp | *how it should be built* — SOLID, testing, architecture and CI/CD standards |
They are independent: install one, or all three.
CodeSeeker solves a retrieval problem, and that problem is shrinking.
If you run a spec-driven loop with a real harness — a specification precise enough that a stateless model derives from it, and quality gates that verify the result against a live system — or an intent-driven one, your assistant is being handed the structure it would otherwise have to go find. A sentinel tool that routes actions instead of sprawling across a dozen endpoints removes another slice of the searching. Frontier models with better navigation and larger effective context remove more. Past a certain point, semantic search over your own code stops being the bottleneck, and this server becomes something you could uninstall without noticing.
That is the intended outcome, not a defect: a method that works should make its own scaffolding unnecessary. Most teams do not start there, though, and until the process is in place CodeSeeker is the cheaper substitute — one command instead of a discipline.
If you would rather have the process than the substitute, start with the field guide: [Generative Specification — Field Guide (PDF)](https://github.com/jghiringhelli/generative-specification/blob/main/docs/white-paper/GenerativeSpecification_FieldGuide.pdf).
AI assistants are powerful editors, but they navigate code like a tourist:
"find authentication logic" returns every file containing the word "auth"CodeSeeker fixes this. It indexes your codebase once and gives AI assistants a queryable knowledge graph they can use on every turn.
A 4-stage pipeline runs on every query:
Query: "find JWT refresh token logic"
│ ▼ Stage 1 — Hybrid retrieval ┌─────────────────────────────────────────────────────┐ │ BM25 (exact symbols, camelCase tokenized) │ │ + │ │ Vector search (384-dim Xenova embeddings) │ │ ↓ │ │ Reciprocal Rank Fusion: score = Σ 1/(60 + rank_i) │ │ Top-30 results, including RAPTOR directory nodes │ └─────────────────────────────────────────────────────┘ │ ▼ Stage 2 — RAPTOR cascade (conditional) ┌─────────────────────────────────────────────────────┐ │ IF best directory-summary score ≥ 0.5: │ │ → narrow results to that directory automatically │ │ ELSE: all 30 results pass through unchanged │ │ Effect: "what does auth/ do?" scopes to auth/ │ │ "jwt.ts decode function" bypasses this │ └─────────────────────────────────────────────────────┘ │ ▼ Stage 3 — Scoring and deduplication ┌─────────────────────────────────────────────────────┐ │ Dedup: keep highest-score chunk per file │ │ Source files: +0.10 (definition sites matter) │ │ Test files: −0.15 (prevent test dominance) │ │ Symbol boost: +0.20 (query token in filename) │ │ Multi-chunk: up to +0.30 (file has many hits) │ └─────────────────────────────────────────────────────┘ │ ▼ Stage 4 — Graph expansion ┌─────────────────────────────────────────────────────┐ │ Top-10 results → follow IMPORTS/CALLS/EXTENDS edges │ │ Structural neighbors scored at source × 0.7 │ │ Avg graph connectivity: 20.8 edges/node │ └─────────────────────────────────────────────────────┘ │ ▼ auth/jwt.ts (0.94), auth/refresh.ts (0.89), ...
The knowledge graph is built from AST-parsed imports at index time. It's what powers the graph action, dead-code detection, and graph expansion in every search.
| Approach | Strengths | Limitations |
|---|---|---|
| Grep / ripgrep | Fast, universal | No semantic understanding |
| Vector search only | Finds similar code | Misses structural relationships |
| Serena | Precise LSP symbol navigation, 30+ languages | No semantic search, no cross-file reasoning |
| Codanna | Fast symbol lookup, good call graphs | Semantic search needs JSDoc — undocumented code gets no embeddings; no BM25, no RAPTOR, Windows experimental |
| CodeSeeker | BM25 + embedding fusion + RAPTOR + graph + coding standards + multi-language AST | Requires initial indexing (30s–5min) |
What LSP tools can't do:
What vector-only search misses:
npm install -g codeseeker
claude mcp add codeseeker --scope user -e CODESEEKER_STORAGE_MODE=embedded -- codeseeker serve --mcp
--scope user makes it available in every project you open, not just the current one.
Why global rather than `npx -y`: on a machine that has never seen the package, npx downloads it and builds native dependencies before the server can answer, which measured 13.7 seconds to a completed MCP handshake. Clients that give up sooner report that as a connection failure. A global install answers in 759 ms — the download happens once, at a moment when you are expecting it to.
Portable, and fine once the package is cached. Expect a slow first start.
{
"mcpServers": { "codeseeker": { "command": "npx", "args": ["-y", "codeseeker", "serve", "--mcp"], "env": { "CODESEEKER_STORAGE_MODE": "embedded" } } } }
Add this to your MCP config file (see below for per-client locations) and restart your editor.
npm install -g codeseeker
codeseeker install --vscode # or --cursor, --windsurf, --vs
For Claude Code CLI users — adds auto-sync hooks and slash commands:
/plugin install codeseeker@github:jghiringhelli/codeseeker#plugin
Slash commands: /codeseeker:init, /codeseeker:reindex
{
"name": "My Project", "image": "mcr.microsoft.com/devcontainers/javascript-node:18", "postCreateCommand": "npm install -g codeseeker && codeseeker install --vscode" }
Ask your AI assistant: *"What CodeSeeker tools do you have?"*
You should see a single tool named codeseeker. That is intentional: one tool with an action routing key keeps per-request token overhead low (ADR-002). The actions are search, sym, graph, analyze and index.
📋 MCP Configuration by client
The MCP config JSON is the same for all clients — only the file location differs:
| Client | Config file |
|---|---|
| VS Code (Claude Code / Copilot) | .vscode/mcp.json in your project, or ~/.vscode/mcp.json globally |
| Cursor | .cursor/mcp.json in your project |
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows) |
| Windsurf | .windsurf/mcp.json in your project |
{
"mcpServers": { "codeseeker": { "command": "npx", "args": ["-y", "codeseeker", "serve", "--mcp"] } } }
🖥️ CLI Standalone Usage (without AI assistant)
npm install -g codeseeker
cd your-project codeseeker init codeseeker -c "how does authentication work in this project?"
CodeSeeker exposes one MCP tool, codeseeker. You pick behaviour with action and fill only the matching nested parameter group:
codeseeker({ action, project, search?|sym?|graph?|analyze?|index? })
Always pass project (the absolute project root) — an MCP server cannot detect your working directory.
| action | Parameters | What It Does |
|---|---|---|
search | search:{q} | Hybrid search: BM25 + vector embeddings fused with RRF, then graph expansion; RAPTOR directory summaries surface for abstract queries |
search | search:{q, type:"vector"} | Pure embedding cosine-similarity search |
search | search:{q, type:"fts"} | Pure BM25 text search with CamelCase tokenisation |
search | search:{q, full:true} | Include a code snippet with each result (default: summaries only) |
search | search:{q, exists:true} | Quick yes/no — returns {found, count, top_file} |
sym | sym:{name} | Look up a class/function by name and show its graph neighbours |
graph | graph:{seed, depth, rel, dir} | Traverse the knowledge graph from a file (imports, calls, extends) |
graph | graph:{q} | Same, but find the seed files semantically first |
analyze | analyze:{kind:"standards"} | Your project's detected patterns (validation, error handling) |
analyze | analyze:{kind:"duplicates"} | Find duplicate/similar code blocks |
analyze | analyze:{kind:"dead_code"} | Detect unused exports, orphaned files, coupling issues |
index | index:{op:"init", path} | Build the index for a project (required once — see below) |
index | index:{op:"sync", changes} | Update the index for specific files |
index | index:{op:"exclude", paths} | Exclude/include paths from the index |
index | index:{op:"status"} | List indexed projects with file/chunk counts |
index | index:{op:"parsers"} | List/install Tree-sitter parsers |
You don't invoke these manually—Claude uses them automatically when searching code or analyzing relationships.
You do not have to index anything first. Searching a project CodeSeeker has never seen starts the index automatically and says so. Indexing runs in the background, so the call returns at once rather than blocking your assistant:
User: "Find the authentication logic"
│ ▼ ┌──────────────
Only the beginning is shown; read the rest in the repo