Skip to content

v1.0 shipped · 2,800+ tests · 93% coverage

Give your AI assistant a map of your code.

BBM-Atlas turns a repository into a knowledge graph of what calls what, what imports what and what breaks when something changes, then serves it to any AI assistant over MCP, REST and a CLI. Local-first and LLM-agnostic.

Speaks MCP to Claude Code, Cursor and JetBrains · Python 3.11+

languages parsed with tree-sitter

languages parsed with tree-sitter

plus 7 indexed as whole-file modules

retrieval sources ranked together

retrieval sources ranked together

structure, memory, graph, semantic

MCP tools for AI assistants

MCP tools for AI assistants

alongside 37 REST routes and 39 CLI commands

automated tests

automated tests

93% line and branch coverage

Why BBM-Atlas

Similar text is not the same as how code connects

Most AI coding tools retrieve whatever text looks closest to the question. BBM-Atlas also knows the structure: who calls a function, what imports a module, and what a change will ripple into.

Similarity search alone

What breaks if I change invoice.total()?

  • billing/README.mdsim 0.82

    …the invoice total is computed from line items…

  • tests/test_invoice.pysim 0.79

    def test_total_includes_tax(invoice): …

  • docs/pricing.mdsim 0.77

    Totals are rounded to two decimals…

Plausible passages, but no callers, no ripple effects, and no way to tell a hunch from a fact.

BBM-Atlas impact analysis

What breaks if I change invoice.total()?

● billing.invoice.total

  • ├─calls ←billing.invoice.finalizeextracted
  • ├─calls ←api.checkout.submitextracted
  • └─calls ←api.routes.post_checkoutinferred
  • ├─imports ←reports.monthly.summaryextracted

Every caller and importer, hop by hop, each edge tagged with how certain it is. An answer your assistant can act on.

How it works

From source files to answers you can trust

Six stages, each deterministic where it can be. The same pipeline runs whether you index a side project or a monorepo.

  1. 01

    Parse

    Tree-sitter reads every file into a language-independent model.

  2. 02

    Map

    Calls, imports and inheritance are resolved across files.

  3. 03

    Remember

    Summaries, facts and lessons accumulate alongside the code.

  4. 04

    Retrieve

    Four sources are fused into one ranked answer.

  5. 05

    Serve

    The same engine behind MCP, REST, the CLI and the console.

  6. 06

    Economise

    Compression shrinks what reaches the model, reversibly.

Use it anywhere

One engine, four doors

The MCP server, the REST API and the CLI call the same code, and the web console runs on the REST API, so every client gets the same answer.

terminal
# Write a bbm-atlas entry into this project's .mcp.jsonbbm-atlas mcp install --host claude# Claude Code can now call, for example:#   search(repository_id, "where are sessions refreshed?")#   analyze_impact(repository_id, "auth.tokens.refresh", max_depth=3)#   graph_path(repository_id, "api.login", "db.users.lookup")

Web console

See your codebase the way your assistant does

The API serves a browser console: index repositories, search them, explore the graph and trace impact, each result one click from the next. No build step and no extra service.

localhost:8000/console/#/
The BBM-Atlas web console's overview view

Store health and indexed repositories at a glance, with background indexing and live progress.

Reads the languages your team writes

Twelve languages parsed symbol by symbol with tree-sitter · seven more (dashed) indexed as whole-file modules

  • Python
  • JavaScript
  • TypeScript / TSX
  • Go
  • Rust
  • Java
  • C#
  • Ruby
  • PHP
  • Kotlin
  • C
  • C++
  • Swift
  • Scala
  • Dart
  • Elixir
  • Lua
  • Shell
  • SQL

Index your first repository in minutes

A fresh checkout runs entirely in memory, with no services to set up. Add Postgres, Neo4j, Qdrant and Redis when you are ready.