Skip to main content

attocode-code-intel

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.

Quickstart

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.

For other clients (VS Code, Zed, Windsurf, Claude Desktop and more), run attocode-code-intel install <target>. attocode-code-intel commands lists the targets.

To use the latest source, install from a clone of this repository: uv tool install /path/to/attocode/packages/code-intel.

What your agent gets

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
  • When the agent knows a symbol, inspect_symbol(symbol_name="...", task_hint="...") gives the definition, the source, the references and candidate tests in one call.
  • In an unfamiliar repository, 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.

Commands for people

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.

What we measured

  • Search. We ran the 560 issues of Loc-Bench V1, with the full issue as the query. For 53.2% of them, the first five files held all files of the fix (file Acc@5 0.532). On a mix of 10 public benchmarks, file Acc@5 was 0.425. See the first-stage results and the matrix results.
  • Agents. In four studies, Claude Code (Sonnet 5.5) named the files to edit for an issue. The server did not raise file Acc@5. Each run with the server cost 1.4 to 2.1 times as much. When the agent could choose, it seldom called the server. See the agent pilot and study R3.

We have not tested longer agent tasks, such as edits or reviews.

Limits and troubleshooting

  • First search. The first tool call starts the index build. A search waits up to 15 seconds for the index. On a large repository, a search can report that the index is warming. Then search again. An empty result during warm-up does not prove that the code is absent.
  • Index location. The index is in .attocode/ in your project. When the server makes that folder, it adds a .gitignore, so the index stays out of commits.
  • What the index reads. The server reads at most 50,000 files and skips files over 1 MB. It skips files that .gitignore ignores, and folders that start with a dot. It also skips folders named build, out, output, target, env, tmp, vendor or coverage, and binary, media and lock files.
  • Languages. The base install parses Bash, C, C#, C++, CSS, Elixir, Go, HCL, HTML, Java, JavaScript, JSON, Kotlin, Lua, PHP, Python, Ruby, Rust, Scala, Swift, TOML, TypeScript, YAML and Zig. The tree-sitter-all extra adds about 170 more.
  • Remove the setup. Run attocode-code-intel init --remove. It restores an entry that existed before init.
  • Server does not answer. Run attocode-code-intel doctor. If a client shows "not configured", run init for it. After a change, restart the agent. In Claude Code, /mcp shows the server state.
  • HTTP server. attocode-code-intel --transport http needs the http extra. It serves only this computer unless you set ATTOCODE_API_KEY.

For one installation for all repositories, use init --global. A global server works on the repository of its working directory, or on the workspace that a tool call names.

Teams and remote agents

Self-hosting and migration covers PostgreSQL, Redis, workers, authentication, and the dashboard. The service serves native Streamable HTTP MCP at /mcp/. The dashboard provides connection snippets and knowledge editing.

attocode-code-intel init --client all --server https://intel.example.com --repo REPOSITORY_UUID
attocode-code-intel doctor --client codex --remote

Set ATTOCODE_API_KEY in the agent's environment. Use intelligence:read for analysis and add intelligence:write for knowledge changes. Every repository operation checks membership and scope before using cached analysis. Results identify repository, source, commit, index coverage, and truncation. PostgreSQL stores shared knowledge with authorship, revision, and file anchors.

Local and remote entries coexist. Remote calls analyze committed branches or explicit revisions. Local edits remain local. To copy a particular learning to your team, review and run an explicit share:

attocode-code-intel share --project . --learning 12 --server https://intel.example.com --repo REPOSITORY_UUID --dry-run
attocode-code-intel share --project . --learning 12 --server https://intel.example.com --repo REPOSITORY_UUID

cross_repo_search searches explicitly selected authorized repositories and retains provenance on each result.

Development

The package is in packages/code-intel of the attocode repository.

uv sync --extra dev --extra code-intel
uv run pytest -c packages/code-intel/pyproject.toml --confcutdir=packages/code-intel/tests packages/code-intel/tests
uv build --package attocode-code-intel

Releases use intel-v* tags (release guide).

Product and operations guide · Tool catalog · Search details · Changelog · MIT license

Metadata

Release files for attocode-code-intel 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for attocode-code-intel 0.1.1
File Size Uploaded
attocode_code_intel-0.1.1.tar.gz 931.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for attocode-code-intel 0.1.1
File Interpreter ABI Platform
attocode_code_intel-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.8 MB

Release files / attocode_code_intel-0.1.1.tar.gz

Download URL attocode_code_intel-0.1.1.tar.gz
Size 931.2 kB
Tags Source
SHA-256 checksum
How to use checksums
727d92cc390e024b8b8307a512904960e561a00acac30d5982cb7856ff94cae2
BLAKE2b-256 checksum
How to use checksums
ef6b90664eb0b18692cae88d91c4919f2fc1b60732930728e6c2219e74b6ef0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release files / attocode_code_intel-0.1.1-py3-none-any.whl

Download URL attocode_code_intel-0.1.1-py3-none-any.whl
Size 893.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
00008caa27f510b38a4af655f3462550ede7d6fd9659cf476488d5f7dd66a087
BLAKE2b-256 checksum
How to use checksums
bbacb9d6d26397dd61f543d4cb91e0bbd4fe28196472678076a600ac7f6f66bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page