Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Graph-powered code intelligence with semantic search and knowledge graph for AI assistants
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"codeseeker": {
"command": "npx",
"args": [
"-y",
"codeseeker"
]
}
}
}在终端中运行这条命令
claude mcp add codeseeker -- npx -y codeseeker粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"codeseeker": {
"command": "npx",
"args": [
"-y",
"codeseeker"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"codeseeker": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"codeseeker"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过 GitHub 账户 jghiringhelli 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(2.1.2)于上个月进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有:Context7, Codebase Memory, Exa
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况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、图片和脚本已被移除。链接会离开本站。
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"
│ ▼ ┌──────────────
只显示了开头部分;其余内容请在仓库中阅读