codesteer-atlas
The CodeSteer Atlas server provides a local, fully offline solution for semantic code search, indexing, and navigation over source code repositories. All operations run 100% locally — code is never sent to external services.
atlas_search: Perform hybrid semantic search combining vector similarity and full-text keyword search (BM25 + RRF) on indexed code. Filter by repository, language, or path prefix; optionally include source content in results.atlas_map: Retrieve a hierarchical tree map of classes, methods, and functions across the workspace — token-efficient for understanding architecture without reading full files. Supports filtering by path prefix and max directory depth.atlas_index: Index or re-index source code into the local LanceDB vector database. Supports incremental updates (only new/changed files), full rebuild, dry-run preview, and selective subfolder indexing. An incremental reindex runs automatically in the background on server startup if an index exists.atlas_status: Get diagnostic metadata on the local index — existence, chunk count, indexed repositories, active embedding model (all-MiniLM-L6-v2via fastembed), last indexing timestamp, git HEAD SHA, and staleness relative to the current workspace.
Additional features: AST-based indexing via Tree-sitter for coherent code chunks; multi-language support (Python, JS, TS/TSX, Go, Java, C#, Dart, and more); and .atlasignore support for excluding files/folders.
Allows AI agents in GitHub Copilot (VS Code) to search and index codebases using semantic search, AST parsing, and hybrid retrieval.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@codesteer-atlasfind all usages of the authenticate method"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
CodeSteer Atlas
Servidor MCP local para busca semântica em código. Usa Tree-sitter (AST), embeddings locais (fastembed/ONNX) e LanceDB. Tudo roda 100% offline — o código-fonte nunca sai da sua máquina.
Documentação
Recurso | Descrição |
Conceitos MCP, busca híbrida e indexação | |
Pipeline, diagramas, multi-repo e |
Funcionalidades
Indexação por AST (Tree-sitter): chunks por classe/função/método, não por blocos arbitrários de linhas.
Busca híbrida: similaridade vetorial + BM25, fundidas via RRF.
Indexação incremental: só arquivos novos/alterados (hash sha256).
Embeddings locais:
all-MiniLM-L6-v2(384 dims) viafastembed, com lazy loading.Grafo de conhecimento:
.code-index/graph.json+ visualizadorgraph.html(abre viafile://).Rationale em código:
NOTE/WHY, citesDEC/ADR/RFCe wikilinks nos resultados de busca.Multi-linguagem: Python, JS/TS, Go, Java, C#, Dart, Pascal, VB6, Razor, XML, Markdown e mais.
Related MCP server: embecode
Começar (3 passos)
Pré-requisitos: Python 3.11–3.13 e uv (fornece o uvx).
Você não precisa clonar este repositório para usar o Atlas. O índice fica em .code-index/ na raiz do seu projeto (adicione essa pasta ao .gitignore).
1. Conectar o MCP no seu projeto
Importante — não instale o plugin em escopo global (user).
Plugins/MCP globais costumam iniciar o servidor com CWD =
$HOME, sem a raiz do projeto aberto. Nesse caso o Atlas não consegue inferir de forma confiável a pasta.code-indexdo workspace (e pode criar ou achar um índice no lugar errado).Use sempre uma destas opções:
Plugin no projeto atual (escopo project ou local), ou
Configuração manual via
mcp.json/.mcp.jsonna raiz do projeto.
Opção A — Plugin no projeto atual (Claude Code)
/plugin marketplace add LuisCarlosLopes/codesteer-atlas
# ou pasta local: /plugin marketplace add /caminho/para/codesteer-atlas
/plugin install codesteer-atlasQuando o Claude Code pedir o escopo, escolha Project (compartilhado no repo) ou Local (só neste workspace). Não escolha User.
Pela CLI:
claude plugin install codesteer-atlas --scope project
# ou: --scope localOpção B — mcp.json manual (recomendado para Cursor, VS Code, Kiro, OpenCode…)
Copie o manifest para a raiz do seu projeto (não para a config global do editor) e reinicie o cliente:
Cliente | Copiar de | Para |
Cursor |
| |
GitHub Copilot (VS Code) |
| |
Kiro |
| |
OpenCode |
| |
Claude Code |
|
Exemplo mínimo (Claude Code / vários clientes com chave mcpServers):
{
"mcpServers": {
"codesteer-atlas": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/LuisCarlosLopes/codesteer-atlas.git",
"atlas-serve"
]
}
}
}Detalhes por cliente e modo instalado (uv tool install): examples/clients/ e CONTRIBUTING.md.
Outros canais (também por projeto)
Kiro Power: Add Custom Power → Import from GitHub →
https://github.com/LuisCarlosLopes/codesteer-atlas.git, e associe ao workspace atual.Copilot CLI plugin: prefira instalar no contexto do repositório em que você vai trabalhar; se o índice não for encontrado, use a Opção B (
.vscode/mcp.jsonou equivalente).
copilot plugin install LuisCarlosLopes/codesteer-atlas2. Indexar o projeto
Na raiz do seu projeto (não do repositório do Atlas, a menos que seja esse o alvo):
cd /caminho/para/seu-projeto
# Uma vez: instala atlas-index / atlas-serve no PATH
uv tool install git+https://github.com/LuisCarlosLopes/codesteer-atlas.git
atlas-index --workspace .Sem instalar no PATH (baixa o pacote a cada execução):
uvx --from git+https://github.com/LuisCarlosLopes/codesteer-atlas.git atlas-index --workspace .Ao terminar: mensagem Indexação Concluída com Sucesso! e pasta .code-index/ com manifest.json, lancedb/, graph.json e graph.html.
Atualizar o Atlas depois: uv tool upgrade codesteer-atlas.
3. Usar
Com o MCP conectado e o índice criado, o agente passa a ter as tools atlas_*. Nas próximas vezes:
atlas-index --workspace . # incremental (padrão)
atlas-index --workspace . --full # rebuild completo
atlas-index --workspace . --paths src --paths docsOu peça ao agente para usar a tool atlas_index.
Reindex automático: ao iniciar o
atlas-serve(abrir/reiniciar o editor), se.code-index/já existir, roda uma reindexação incremental em background. A primeira indexação (passo 2) continua manual. Log:.code-index/background_reindex.log.
Uso
Tool | Descrição |
| Busca híbrida. Por padrão retorna só metadados; use |
| Briefing do projeto (identidade, camadas, entrypoints, hubs). Chame primeiro em projeto desconhecido. |
| Grafo: |
| Indexa/reindexa; regenera |
| Diagnóstico do índice ( |
Recurso somente leitura: atlas://status.
Após indexar, abra .code-index/graph.html no navegador (file://) para inspecionar o grafo.
Rationale e grafo
Em resultados de código, atlas_search pode incluir rationale_refs (DECISAO-002, ADR-001, [[wikilinks]], # NOTE: / # WHY:).
atlas_graph(mode="hubs", top_n=10)
atlas_graph(mode="path", source="src/app.py", target="dec-002")
atlas_graph(mode="explain", target="AuthService.login")Upgrade:
atlas_graph/graph.htmlexigem reindex em índices antigos (<2.1.0).
Instruções para agentes de IA (AGENTS.md / CLAUDE.md)
Copie o bloco abaixo para as instruções do seu projeto:
Cliente / IDE | Arquivo |
Cursor, Copilot (VS Code), genérico | |
Claude Code | |
Kiro | regras do Power / instruções do agente |
GitHub Copilot CLI | instruções do plugin ou regras do projeto |
# Busca de código com `codesteer-atlas`
Este repositório é indexado pelo MCP `codesteer-atlas`. Para entender, planejar, pesquisar ou explorar código, use Atlas antes de `grep`, `rg`, `find`, glob ou leitura em massa.
## Use assim
- `atlas_brief`: orientar-se num projeto desconhecido — chame primeiro, uma vez
- `atlas_search`: localizar função, classe, método, símbolo ou conceito
- `atlas_graph`: hubs, paths e conexões (código, markdown, rationale)
- `atlas_status`: só se houver suspeita de índice ausente ou desatualizado
- `atlas_index`: reindexar após mudanças grandes ou índice stale
## Fluxo padrão
1. `atlas_search` para descoberta (metadados).
2. Restrinja com `path_prefix` e `language` quando fizer sentido.
3. Leia os hits com `Read`, ou repita com `include_content=true`.
## Quando pode pular o Atlas
- o usuário já informou o caminho exato
- confirmação de string literal exata
- edição, diff, commit, git, CI, testes ou instalação de deps
- MCP indisponível ou índice vazio/desatualizado
## Índice desatualizado
1. `atlas_status`
2. Se necessário, `atlas_index`
3. Fallback local só se o problema persistirComo funciona
O Atlas divide cada arquivo em CodeChunks no nível de símbolo via Tree-sitter, gera embeddings locais e indexa em LanceDB (vetorial + BM25 / RRF):
src/auth/service.py
├── class AuthService (linhas 10–45)
├── AuthService.login (linhas 20–35)
└── AuthService.logout (linhas 37–44)Detalhes do pipeline: CONTRIBUTING.md.
Excluindo arquivos com .atlasignore
Na raiz do workspace (sintaxe igual à do .gitignore):
*.log
fixtures/
/dist
**/*.generated.py
!important.logÉ um filtro adicional — .git, node_modules, .venv, __pycache__ e .code-index continuam sempre ignorados.
Onde fica o .code-index?
Ordem de resolução:
--index-dir(CLI)ATLAS_INDEX_DIR(env)Busca ascendente a partir do CWD
Busca a partir da raiz do editor (
CLAUDE_PROJECT_DIR,WORKSPACE_FOLDER_PATHS)Fallback
.code-indexrelativo à raiz conhecida (ou ao CWD)
Com MCP ligado ao projeto (plugin project/local ou mcp.json na raiz), o item 3 ou 4 costuma bastar após atlas-index --workspace ..
Se o servidor nascer com CWD errado (caso típico de instalação global), o Atlas tenta recuperar via MCP roots/list quando o cliente suporta. Mesmo assim, prefira instalação por projeto — é o caminho estável.
Para forçar um caminho explícito no mcp.json do projeto:
{
"mcpServers": {
"codesteer-atlas": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/LuisCarlosLopes/codesteer-atlas.git",
"atlas-serve"
],
"env": {
"ATLAS_INDEX_DIR": "${workspaceFolder}/.code-index"
}
}
}
}No Cursor,
${workspaceFolder}é a forma mais segura de amarrar o índice ao projeto aberto. Veja CONTRIBUTING.md — Cursor.
Diagnóstico: atlas_status → index_resolution.
Contribuindo
Clonar o repo, testes, lint e configuração avançada: CONTRIBUTING.md e CLAUDE.md.
Licença
Veja LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server with local vector search for your codebase. Smart indexing, semantic search, Git history — all offline.747MIT
- AlicenseAqualityDmaintenanceLocal-first MCP server for semantic + keyword hybrid code search. Zero external services, no API keys required.2MIT
- AlicenseAqualityAmaintenanceMCP server for semantic code search with AST-aware chunking, hybrid vectors, and query syntax.111Apache 2.0
- FlicenseAqualityBmaintenanceSelf-hosted hybrid code search MCP server with text, symbol, and semantic search layers. Runs locally, no third-party MCP servers, LSP, or SaaS.8
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/LuisCarlosLopes/codesteer-atlas'
If you have feedback or need assistance with the MCP directory API, please join our Discord server