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)
Local code search, symbol navigation and change impact for coding agents. No model, no API key.
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": {
"attocode-code-intel": {
"command": "uvx",
"args": [
"attocode-code-intel"
]
}
}
}Run this in your terminal
claude mcp add attocode-code-intel -- uvx attocode-code-intelPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"attocode-code-intel": {
"command": "uvx",
"args": [
"attocode-code-intel"
]
}
}
}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": {
"attocode-code-intel": {
"type": "stdio",
"command": "uvx",
"args": [
"attocode-code-intel"
]
}
}
}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 eren23, 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 (0.1.26) reached the registry 2 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) 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.
Local code search and navigation for coding agents and for people. It runs as an MCP server for Codex, Claude Code, Cursor and other MCP clients, and as a command in your terminal. It needs no model, no API key and no network.
Status: beta. We measured the search quality (see What we measured). We have not shown that it makes agents faster or more accurate.
You need Python 3.12 or later and Git.
uv tool install attocode-code-intel
cd /path/to/your/project attocode-code-intel init
Then restart your agent. init configures Codex, Claude Code and Cursor. Use --client claude, --client codex or --client cursor for one client. Codex needs a trusted project for a project configuration. Claude Code can ask you to enable the project MCP server.
To check the setup, run attocode-code-intel doctor. It starts the configured server, calls two tools and shows the result for each client. The probe also reports the executable and server version returned by that new probe. An already running client session must be checked separately.
For other clients (VS Code, Zed, Windsurf, Claude Desktop and more), run attocode-code-intel install . attocode-code-intel commands lists the targets.
To run the server without an installation, use uvx. This is a configuration for any MCP client that starts a local command:
{
"mcpServers": { "attocode-code-intel": { "command": "uvx", "args": ["attocode-code-intel", "--project", "/absolute/path/to/your/project"] } } }
You can omit --project if the client sends one workspace root. Otherwise the server looks for a repository marker such as .git in the working folder and its parents, but never selects your home folder. If it finds no repository, it stops with an error.
To use the latest source, install from a clone of this repository: uv tool install /path/to/attocode/packages/code-intel.
Version 0.1.26 gives Rust precision lookups a shared five-second budget and fixes cancelled startup cleanup when a child retains inherited pipes. Other languages keep two seconds; longer reloads still return partial evidence.
Version 0.1.25 uses OpenAI embeddings only when you set ATTOCODE_EMBEDDING_MODEL=openai. Before, an OPENAI_API_KEY in the environment was enough to send code chunks to OpenAI at index time. Rust references are also more reliable while rust-analyzer loads.
Version 0.1.24 adds ATTOCODE_INTEL_RANKING_PROVIDER=openrouter, a preset for the opt-in hosted rerank. In a frozen trial with 24 short questions, the rerank found 24 of 26 labeled files in the first five results, against 20 without it; see Hosted rerank. Rerank stays off by default, because it sends source excerpts to OpenRouter.
Version 0.1.23 is listed in the official MCP Registry and documents a uvx quick start. The opt-in hosted rerank now accepts the dated model ID that OpenRouter returns; see Hosted rerank. Rerank stays off by default.
Version 0.1.22 adds an opt-in discovery budget of up to 100,000 files (ATTOCODE_INTEL_DISCOVERY_MAX_FILES; the default stays 50,000). It also packages the LLM client, so ATTOCODE_FLAG_CONFIDENCE=llm and LLM rule synthesis work from a PyPI install when an OpenRouter or Anthropic key is set.
Version 0.1.21 includes configured search-discovery coverage, OCaml interface parsing and more conservative Go/Rust fallback evidence. The existing 100 ms native budget and 50,000-file discovery safety ceiling remain; bounded fallback is heuristic.
Version 0.1.20 improves native OCaml/Perl call candidates and conservative workspace import candidates for OCaml, Perl and Crystal. Physical paths and ambiguity remain guarded; native limits, ranking and dependencies are unchanged. Optional grammars must be explicitly available before analysis; navigation never downloads them.
Version 0.1.19 restores source text into spare space after fitting a complete compact search page. Existing hits, visible text, source lines and continuations remain protected within the same response budget; ranking and retrieval are unchanged.
Version 0.1.7 also provides changes and trace commands: investigate a diff, follow source-backed caller paths, export JSON/Markdown, and check or refresh saved evidence. MCP equivalents change_context and trace_flow are local full-profile tools. Version 0.1.8 adds exact file/symbol selection and bounded changed-class summaries, with --class-mode expand for class-wide callers. Version 0.1.9 keeps Python docstrings and parameter types, and lists impact results nearest first. Version 0.1.10 shows the best test hit second for "tested" searches, and counts Swift Tests/ folders as tests. Version 0.1.11 counts more test file names as tests, such as _test.dart and Perl .t scripts and t/ modules. Version 0.1.12 makes doctor --client claude read the local-scope entry that claude mcp add writes to ~/.claude.json. Version 0.1.13 fills compact search pages within their budget, offers bounded deeper searches, and repairs stale navigation indexes after successful restart parsing. Version 0.1.18 restores the ready phase after a failed snapshot load is followed by a complete fallback rebuild. Incomplete recovery stays guarded.
Version 0.1.17 lets a later explicit inspection retry a failed selected-file parse after a one-second cooldown, preserving immediate-repeat and source guards. Version 0.1.16 stabilizes tied symbol pages and reduces the Docker image while preserving runtime contracts. It adds bounded online maintenance evidence; the preview and restart experiments did not justify product changes. Version 0.1.15 adds parser ownership by thread, one language-server stderr reader, bounded native recovery without static callers and release install verification on GitHub runners. Version 0.1.14 adds bounded selected-file recovery, safe navigation publication, guarded Elixir definitions and doctor probe identity. See the change investigation guide.
The agent sees 16 tools (the daily profile):
| Use | Tools |
|---|---|
| Find code | semantic_search, fast_search, search_symbols, bootstrap, relevant_context |
| Read a symbol | inspect_symbol, symbols, cross_references, call_graph |
| See structure | dependencies, explore_codebase, project_summary |
| Plan a change | impact_analysis, suggest_tests, review_change |
| Check the server | capabilities |
inspect_symbol(symbol_name="...", task_hint="...") gives the definition, the source, the references and candidate tests in one call.bootstrap(task_hint="...") finds the relevant code and gives a map.impact_analysis and suggest_tests help plan the checks for a change.For all tools (about 140: rules, security scans, history, snapshots and more), add --profile full to init. The tool catalog lists them. The search details page describes ranking, the response format and the experimental rerankers.
For an experimental local seven-tool surface (0.1.5 or later), use init --profile lean and restart your client. It advertises bootstrap, search_symbols, inspect_symbol, semantic_search, impact_analysis, suggest_tests and capabilities, with conditional routing instructions and 2,000-token responses. Without file watching, notify_file_changed is an eighth tool. Advanced tools require a full-profile session. This opt-in profile has no demonstrated completion benefit; see the completed pilot.
Run these in your project:
attocode-code-intel query "parse config" # search the code with its own words
attocode-code-intel symbols src/app.py # the symbols of a file attocode-code-intel symbols --search greet # find a symbol by name attocode-code-intel impact src/app.py # the files that a change can affect attocode-code-intel deps src/app.py # what a file imports, and what imports it attocode-code-intel hotspots # the files with the most risk or complexity
Search matches the words of the code and its paths. It does not use embeddings unless you install the semantic extra.
The R6 review study found no demonstrated review benefit. The completed R7 repair pilot also found no demonstrated benefit; its reviewed decision is to stop expansion. The 2026-10-22 investigation pilot stopped incomplete after its first task pair because structured-output/tool calls failed the frozen protocol. It provides no quality, cost or time benefit evidence.
.attocode/ in your project. When the server makes that folder, it adds a .gitignore, so the index stays out of commits..gitignore ignores, and folders that start with a dot. It also skips folders named dist, build, out, output, target, env, tmp, vendor or coverage, and binary, media and lock files. If a build-named folder contains real source, explicitly re-include it with a root .gitignore entry such as !dist/; discovery and edit refresh honor that override.Only the beginning is shown; read the rest in the repo