Skip to main content
Glama

Attocode Intelligence

Codebase understanding for Codex, Claude Code, Cursor, and other MCP clients. Run it on your working tree, or connect a team to a self-hosted service that analyzes committed repositories.

The intelligence engine now lives in packages/code-intel and ships as attocode-code-intel, independently of the legacy coding agent. AST navigation and keyword search need no model API key. Local embedding search, graph analysis, and team hosting are optional extras.

Get started from this checkout

Requires Python 3.12+ and Git.

uv tool install ./packages/code-intel
cd /path/to/your/project
attocode-code-intel init --client all
attocode-code-intel doctor --client codex

Use --client claude or --client cursor to configure one client. init installs the MCP connection and managed agent instructions, preserving unrelated configuration. Restart your agent after installation. Project-level Codex configuration requires a trusted project; Claude Code may ask you to enable the project MCP server.

For an installation shared across repositories:

attocode-code-intel init --global --client codex
attocode-code-intel doctor --global --client codex --project /path/to/repo

Global servers select the explicit workspace, an advertised MCP root, or the repository containing their working directory. If a client supplies multiple roots, the agent must select one. Cursor's automatic instruction file is project-scoped even when its server connection is global; run init --client cursor in each project where you want those rules.

The latest published release is on GitHub Releases and PyPI, available with uv tool install attocode-code-intel. CHANGELOG.md lists the changes in each release. The source installation above uses this checkout.

Related MCP server: DevContext

Everyday use

Ask your agent to start with bootstrap(task_hint="what you are changing"). It receives relevant code, structure, recalled knowledge, and index coverage within a token budget. Follow with symbol search, references, dependencies, impact analysis, and test suggestions. review_change reports structured findings and identifies failed analysis passes.

Local file watchers and per-operation filesystem checks pick up edits, new files, deletions, and import-only changes. With watching disabled, notify_file_changed offers an explicit refresh. Learnings persist in the existing .attocode/cache/memory.db, so different agents can reuse them. The full profile provides record_learning, recall, update_learning, and learning_feedback to maintain knowledge.

New installations and direct server invocations use the compact daily tool profile. init --profile full exposes the complete local catalog, including rules and security analysis, history, architecture, retrieval pins, snapshots, overlays, and cache maintenance. The shipped local lean profile is opt-in with init --profile lean; remote profiles remain daily and full. capabilities reports the actual catalog and optional enhancements.

The change investigation workflow (attocode-code-intel changes) combines a Git diff with changed definitions, caller evidence, import impact and candidate tests. attocode-code-intel trace follows static caller paths. You can export JSON/Markdown, check saved evidence for stale source, or refresh the original request. Use --file/--symbol for exact selection and --class-mode expand for class-wide callers. Local full-profile MCP offers change_context and trace_flow; the daily list stays unchanged.

Teams and remote agents

Self-hosting and migration covers PostgreSQL, Redis, workers, authentication, and the dashboard. Native Streamable HTTP MCP is served 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. Shared knowledge is stored in PostgreSQL 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.

Package and development

Component

Location

Status

Intelligence engine, MCP, REST, workers

packages/code-intel/src/attocode_intel

Active product

Dashboard

frontend

Active product

Agent, TUI, swarm and lessons

agent-archive-2026-10-16 tag

Archived

Old agent compatibility imports

Archive tag only

Use attocode_intel on main

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

The standalone workflow tests Python 3.12/3.13, real stdio and HTTP MCP, repository isolation, PostgreSQL knowledge operations, budgets, and wheel independence. Releases use intel-v* tags; the agent release workflow is retired.

Product and operations guide · Generated tool catalog · Legacy agent documentation · MIT license

Development and archived agent

This repository develops the standalone intelligence product. The root is a virtual uv workspace; it does not build or publish the old attocode package.

uv sync --locked --package attocode-code-intel --extra dev --extra service
uv run --no-sync python -m eval.quality local

See contributing for the full engine, integration and PostgreSQL checks. Optional embedding models are not installed by these commands.

The Python agent, swarm, TypeScript implementation and teaching lessons are preserved at agent-archive-2026-10-16. See the archive and migration notes. Existing package names, versions, intelligence imports and MCP tool names have not been repurposed.

Available Tools

17 tools
bootstrapB
Read-only

Find where a behavior is implemented in an unfamiliar repository.

With task_hint, the result has the code that matches the task, a project summary, a map and the conventions.

Args: task_hint: What you want to find or change. indexing_depth: "auto" (default), "eager", "lazy" or "minimal".

Inputs: task_hint, workspace, max_tokens, indexing_depth.

call_graphB
Read-only

Follow the calls of a function or method.

Args: symbol: Function or method name, qualified or bare. direction: "callees" (what it calls) or "callers" (what calls it). depth: Maximum number of hops (default 1).

Inputs: symbol (required), depth, direction, workspace, +1 more.

capabilitiesC
Read-only

Available tools, profiles, workspace selection, and optional enhancements.

Inputs: workspace, max_tokens.

cross_referencesA
Read-only

Find where a symbol is defined and each place that references it: calls, imports and attribute accesses.

Args: file_path: When names collide, select the definition in this repository-relative file. line: Select the definition by its start line. cursor: Continue a paged result. page_size: References per page, 1 to 100 (default 20).

Inputs: symbol_name (required), line, cursor, file_path, +3 more.

dependenciesC
Read-only

Show what a file imports and which files import it.

Inputs: path (required), workspace, max_tokens.

explore_codebaseB
Read-only

List one directory level: subdirectories with file counts and languages, and files with importance and top symbols.

Args: path: Directory relative to the project root ("" for the root). importance_threshold: Minimum file importance, 0.0 to 1.0. task_hint: Optional task text that orders the files.

Inputs: path, max_items, task_hint, workspace, +2 more.

impact_analysisA
Read-only

List the files that a change to the given files can affect: the files that import them, directly or through other files.

Inputs: changed_files (required), workspace, max_tokens.

inspect_symbolA
Read-only

Get a symbol in one call: definition, source excerpt, references, imports and candidate tests.

A name is enough. For an ambiguous name, the result lists choices: give the repository-relative file_path and the definition start line to select one. Add task_hint to order the excerpts and tests for your task. For a long definition, follow next_source or set source_start_line. Keep each context_ranges group with its excerpt. Missing relationships do not prove absence.

Inputs: symbol_name (required), line, file_path, task_hint, +3 more.

notify_file_changedA

Tell the server which files changed, so that the index and search read the new content.

A server that watches the project finds edits without this call.

Args: files: Changed file paths, relative or absolute.

Inputs: files (required), workspace, max_tokens.

project_summaryB
Read-only

Summarize the project: purpose, size, entry points, architecture, layout, dependency layers, tech stack, tests and build.

Inputs: workspace, max_tokens.

relevant_contextB
Read-only

Show the files around the given files: what they import and what imports them, with their top symbols.

Args: files: Center file paths. depth: Number of hops, 1 or 2 (default 1). task_hint: Optional task text that orders the files.

Inputs: files (required), depth, task_hint, workspace, +2 more.

review_changeB
Read-only

Review changed files for security issues, rule violations and convention problems in one report.

Args: files: Files to review (default: the files that git reports as changed). mode: "quick" (security only) or "full".

Inputs: mode, files, workspace, max_tokens.

search_symbolsB
Read-only

Find symbol definitions by name, best match first: exact, prefix, substring, case-insensitive and camelCase or snake_case parts.

Args: name: A name or part of one, for example "parse_file" or "Router". kind: Optional filter: function, class, method, variable, constant, interface or type. task_hint: Optional task text that orders equal matches.

Inputs: name (required), kind, limit, task_hint, +2 more.

suggest_testsB
Read-only

Suggest candidate tests using imports and syntax; optionally focus on a symbol and task.

Inputs: files (required), task_hint, workspace, max_tokens, +1 more.

symbolsB
Read-only

List the functions, classes and methods that a file defines.

Inputs: path (required), workspace, max_tokens.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 17 tools

    Disambiguation4/5

    Most tools have a distinct angle: symbol-name search (search_symbols), regex content search (fast_search) and meaning search (semantic_search) are clearly separated, as are call_graph and cross_references. There is real overlap among the neighborhood/context tools (dependencies, impact_analysis, relevant_context, explore_codebase) and between the bundle tool inspect_symbol and the specialized reference/test tools, but descriptions give enough cues to choose correctly in most cases.

    Naming Consistency4/5

    All names are snake_case with no style mixing, which makes the set readable. However the conventions are blended: some are verb_object (search_symbols, inspect_symbol, review_change, suggest_tests, notify_file_changed) while others are bare noun phrases (symbols, dependencies, capabilities, project_summary, call_graph), a minor inconsistency rather than a usability problem.

    Tool Count4/5

    At 17 tools the server is slightly above the comfortable range, but each tool maps to a real code-intelligence capability (search, symbols, graphs, context, review, tests). A few could be folded together—bootstrap overlaps project_summary/explore_codebase, and inspect_symbol duplicates parts of cross_references and suggest_tests—so the surface is a touch heavier than necessary.

    Completeness4/5

    Coverage is broad for a code-intelligence domain: three search modes, symbol definition/reference lookup, call graph, dependency and impact analysis, contextual exploration, review and test suggestion, plus index notification and a capabilities tool. Minor gaps remain—no explicit file-content read or manual re-index/status tool, and no symbol-level write operations—but these are largely outside the stated read-oriented purpose.

    Maintenance

    ActivityActive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI clients to perform local code search, indexing, and analysis across Java, JavaScript/TypeScript, .NET/C#, and Python projects through the MCP protocol.
      1
      Apache 2.0
    • F
      license
      Not graded
      quality
      D
      maintenance
      Workspace-aware MCP server that provides AI clients with structural code understanding via AST parsing, hybrid retrieval, and git history, enabling accurate code search, definition lookup, and blame analysis.
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Multi-language code intelligence MCP server providing structured code analysis including symbol search, references, hierarchies, and change impact. Supports 25 languages with persistent indexing and LSP integration.
      51 npm
      MIT