Skip to main content
Glama
LuisCarlosLopes

codesteer-atlas

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ATLAS_INDEX_DIRNoPath to the .code-index directory. If not provided, the server will search for a .code-index directory in the current working directory or parent directories.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
atlas_searchA

Search code AND documents in the project's local index — your FIRST tool to find, explore or investigate anything here, before broad file reads or grep.

Runs a semantic hybrid search (vector + BM25, fused via RRF) over pre-indexed chunks of source code (classes/functions/methods) and documents (Markdown, text, JSON/YAML/ TOML). Pass natural language or exact symbols. To get your bearings in an unfamiliar project first, use atlas_brief.

Token-efficient two-pass pattern: by default this returns metadata only (file_path, lines, symbol, type, score). Locate first, then read the exact lines with Read, or re-call with include_content=true for the few results whose content you actually need.

Call directly — do NOT call atlas_status first "just to check". If the index does not exist yet, this raises an actionable error explaining how to build it (see atlas_index).

atlas_graphA

Query the derived knowledge graph for hubs, paths, or neighborhood explanations.

Call this directly when the question is about connectivity, rationale, or centrality in the indexed workspace. It reads the derived graph.json produced by atlas_index; it does not rebuild the graph itself.

atlas_briefA

Get a pre-computed, token-bounded briefing that orients you in an unfamiliar project.

Call this FIRST, once, when you start working on a project you do not already know. It replaces the usual orientation ritual (listing directories, reading the README, opening several files just to get your bearings) with a single small response.

Returns a ranked summary: identity (repo, language distribution, size), layers (the main directories, what role each plays, and their most important files), entrypoints (how the project is actually started), and hubs (the most connected files — the ones whose change propagates furthest). Every list is ranked and capped, so the response size does NOT grow with the size of the repository.

Do NOT call this to enumerate symbols or files: by design it reports at most a handful of layers and a few files per layer. Use atlas_search (optionally with path_prefix) to find a specific implementation, and atlas_graph to explore connectivity. Do NOT call it more than once per session — the briefing only changes after atlas_index re-runs.

Facts are derived deterministically from the index; nothing is guessed. Entries carry confidence (declared when read from a manifest such as pyproject/package.json, inferred when detected in code) and warnings reports known gaps, e.g. graph_unavailable, no_import_edges, low_symbol_coverage, index_stale.

Staleness is detected by comparing the indexed git HEAD with the current one, so uncommitted edits are not detected (same limitation as atlas_status).

atlas_statusA

Get diagnostic metadata and health status of the local vector index.

Use this only for explicit diagnostics (e.g. the user asks about index health, staleness, or which repos/languages are indexed) or to decide whether atlas_index should be run. It is NOT a precondition for atlas_search/atlas_brief — call those directly; they raise an actionable error themselves if the index is missing. Never indexes anything itself.

Returns: JSON string with index_exists, total_chunks, repos_indexed, languages_indexed, embedding_model, embedding_backend, storage_backend, index_path, index_resolution (how the index directory was resolved: "cli-arg" | "env" | "discovery" | "editor-project-dir" | "roots" | "roots-fallback" | "editor-project-dir-fallback" | "cwd-fallback" — useful to diagnose client misconfiguration when index_exists is unexpectedly false), last_indexed_at, git_head_sha, is_stale (true when the indexed git HEAD differs from the workspace's current HEAD), and reindexing (true when another process currently holds the reindex lock for this index).

atlas_indexA

Index (or re-index) source code and documents into the local search index.

Use to build the index the first time, or to refresh it after atlas_status reports is_stale: true or large changes.

IMPORTANT: unless the user already said what to index, call with dry_run=true first, show the candidate folders, and ASK whether to index everything or specific folders. Then call again with the chosen 'paths' (or none for the whole workspace).

Incremental by default: unchanged files (by content hash) are skipped, so re-runs are fast. full=true forces a complete rebuild.

full=true or empty/omitted 'paths' (whole-workspace) run asynchronously in a background subprocess and return immediately — poll atlas_status (reindexing: true while running). A non-empty 'paths' with full=false runs synchronously and returns stats directly.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
get_status_resourceRead-only alias of the index status, exposed as an MCP resource.

Latest Blog Posts

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