Skip to main content

Atlas

Stop your AI from reading your codebase on every question.

Atlas is a local MCP server that indexes your codebase into a structured search database. Instead of opening files and grepping for context, your AI assistant asks Atlas once and gets the answer.


The problem

Every time you ask your AI assistant a question about your code, it reads files:

Tool: Read(src/auth/middleware.py)
Tool: Read(src/auth/tokens.py)
Tool: Grep(pattern="verify_token", path="src/")
Tool: Read(src/users/models.py)
Tool: Read(tests/test_auth.py)
...

That's 5–15 tool calls, thousands of tokens, and several seconds — for a single question.

The fix

Tool: atlas_query(project_id="my-app", question="what functions handle token verification")

→ Result in 2ms. 0 files read.

Benchmark

Without Atlas With Atlas
Tool calls 15 1
Files opened 5 0
Grep operations 7 0
Time ~8s ~2ms
Tokens used ~18,000 ~2,300

Token cost saving: ~$30/month on a normal workload. The Pro subscription costs $19/month.


Install

pip install "hornsa-atlas[parsers]"

Python 3.11+ required.

Quick start

# Inside your project directory:
atlas init

# Reload your AI assistant (VS Code: Ctrl+Shift+P → Reload Window)
# Then ask your assistant anything about your codebase.

atlas init handles everything: downloads Meilisearch, indexes your project, writes the MCP config for your client automatically.


MCP Tools

Tool What it does
atlas_ingest Index your codebase (AST parsing, 18 languages)
atlas_query Natural language question → structured results
atlas_impact Find all functions affected by a change
atlas_edge_check Full impact analysis + edge case detection
atlas_status Check index status for a project

Supported languages

Python, JavaScript, TypeScript, Go, Rust, Java, C#, C, C++, Ruby, PHP, Swift, Kotlin, Scala, Lua, Elixir, Dart, Zig

Supported clients

Claude Code, Claude Desktop, Cursor, Continue (VS Code), Zed — any MCP-compatible client.


How it works

Atlas parses your codebase using tree-sitter and stores every function, class, method, and module in a local Meilisearch index. Re-ingesting prunes entities for files that have since been removed or moved. At query time, the project-trained BiLSTM extracts likely search terms and predicts result kinds; natural-language queries also retrieve lexical candidates expanded with identifier pieces and common aliases, then rerank those candidates locally with sentence-transformers/all-MiniLM-L6-v2. atlas init downloads and validates the pinned public model into the Hugging Face cache so the first query does not need to download it; query text and source code are not sent to the model host, and inference runs locally on CPU. If model setup is offline or unavailable, init reports a warning and Atlas uses lexical results until you rerun init successfully. If the model cannot be loaded at query time, Atlas returns lexical results and includes a ranking_warning in the response. The MiniLM encoder is a pretrained semantic retrieval model, not a substitute for a code-specific relevance benchmark. Training data combines project entities with varied natural-language templates, common software concepts, and multi-topic queries; generated-data validation scores do not guarantee real-world retrieval quality. Space-separated symbol lists are searched independently and merged with exact-name matches prioritized, while broad auth searches keep their dedicated account-flow expansion.

Run the atlas_ingest MCP tool after adding or changing code to refresh indexed identifier pieces and aliases. Run atlas retrain to regenerate project-specific training examples and update the query parser. Training uses CUDA when available and otherwise falls back to CPU. The parser has about 1.1M parameters; the MiniLM encoder is downloaded on first semantic use and remains suitable for CPU inference.

No code leaves your machine. Meilisearch runs locally. The model runs locally. The only data sent to Atlas servers is your licence key (once per day for validation) and your project ID (for free-tier limit enforcement). No source code. Ever.


Pricing

Tier Price Projects Languages Query model
Free $0 1 Python Keyword search
Pro $19/month Unlimited All 18 Trained BiLSTM
Team $49/seat/month Shared indexes All 18 Trained BiLSTM

Get Atlas Pro →


Pro activation

After purchase, you receive a licence key by email. Activate it once:

atlas activate ATLAS-xxxx.xxxx

The key is stored locally in ~/.atlas/config.json. No ongoing server call after activation.


Commands

atlas init              # Set up Atlas for the current project
atlas status            # Check index status
atlas activate <key>    # Activate a Pro licence key
atlas guard on          # Block Grep/Glob to enforce atlas_query usage
atlas guard off         # Remove the guard
atlas retrain           # Retrain the query model on updated codebase (Pro)

Architecture

  • Ingest layer: tree-sitter AST parsing for 18 languages, stored in Meilisearch (code_{project_id} index)
  • Query layer: BiLSTM token classifier extracts KEEP tokens from natural language, fires structured query at Meilisearch
  • Edge layer: call graph walker for impact analysis, bridge resolver for cross-language detection (HTTP routes, env vars, config files, DB schemas, shared types)
  • Transport: MCP stdio (works with all MCP clients on Windows, Mac, Linux)
  • Local-only: Meilisearch runs at 127.0.0.1:7700, auto-started by Atlas

Licence

The ingest engine, server scaffolding, and MCP tool definitions are open source (Apache 2.0).
The trained query model weights, training pipeline, and bridge resolver are proprietary (see Commercial Licence).


Built by Horn Software Architects · hornsa.com/atlas

Metadata

Release files for hornsa-atlas 0.1.10

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

Source distribution (sdist)

Source distribution for hornsa-atlas 0.1.10
File Size Uploaded
hornsa_atlas-0.1.10.tar.gz 57.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hornsa-atlas 0.1.10
File Interpreter ABI Platform
hornsa_atlas-0.1.10-py3-none-any.whl Python 3 none any Details

Total release size: 119.3 kB

Release files / hornsa_atlas-0.1.10.tar.gz

Download URL hornsa_atlas-0.1.10.tar.gz
Size 57.5 kB
Tags Source
SHA-256 checksum
How to use checksums
cf60501c49f966a913aa8f6c2a1eae13772e9b818744e8362cf2e70868d65be1
BLAKE2b-256 checksum
How to use checksums
e8d26fdfa83a4c55e8bd397499a7e50e1d29181eece6b7c66d1fedfdc2359ad7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / hornsa_atlas-0.1.10-py3-none-any.whl

Download URL hornsa_atlas-0.1.10-py3-none-any.whl
Size 61.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e1ab144a16751bb6adb5ead7525faf9a55943730cda881ff3e8b0faa1b9e4c4e
BLAKE2b-256 checksum
How to use checksums
36a044eb08a1a8225a432dcace370fc7413611545044193d0ef19d05afa1bb1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

0.1.10 This release

2 release files

0.1.9

1 release file

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

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