Skip to main content
Glama
Aditya31398

repo-atlas-mcp

by Aditya31398

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
NEO4J_URIYesThe connection URI for the Neo4j instance (e.g., neo4j+s://xxxxxxxx.databases.neo4j.io)
NEO4J_USERYesThe username for the Neo4j instance (typically 'neo4j')
NEO4J_PASSWORDYesThe password for the Neo4j instance

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
}

Tools

Functions exposed to the LLM to take actions

NameDescription
index_repoA

Parse a repository and build its code graph in Neo4j. Run this once per project, and again after significant changes — unchanged files are skipped by content hash, so re-indexing is cheap. Supports Python, TypeScript, TSX and JavaScript.

find_symbolA

Locate the definition of a function, class or method by name. Accepts a bare name (fetch_info) or a qualified one (MarketData.fetch_info), and falls back to substring matching.

who_callsA

Every symbol that reaches this one through the call graph, nearest first. This is the question grep answers badly: it finds the name, not the callers.

what_it_callsB

Everything this symbol calls, transitively — the downstream surface of a function.

impact_ofA

What breaks if this symbol changes. Returns everything transitively upstream, split into production callers and the tests that reach it. An empty test list means the change is unguarded — check this before editing shared code.

path_betweenB

How control actually flows from one symbol to another — e.g. from an HTTP handler to a database write.

hotspotsA

Symbols with the most distinct callers — the code where a mistake propagates furthest. Ranked by in-degree, which works on Neo4j AuraDB Free (no GDS required).

module_mapB

Import edges aggregated to top-level directories — a quick read on the architecture and on which packages depend on which.

list_reposA

Which repositories are in the graph, and how many files each has.

drop_repoB

Delete every node belonging to a repository. Irreversible.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 10 tools

Disambiguation3/5

Tools like who_calls, impact_of, and hotspots all concern callers of a symbol, which could cause an agent to pick the wrong one. However, their descriptions clarify distinctions (nearest callers vs. full upstream impact vs. ranked by caller count), reducing ambiguity.

Naming Consistency3/5

Names are all snake_case and readable, but they mix verb_noun patterns (list_repos, index_repo, find_symbol) with question-style phrases (who_calls, what_it_calls) and noun phrases (hotspots, module_map, path_between). The inconsistency is noticeable but not chaotic.

Tool Count5/5

With 10 tools, the server is well-scoped for its purpose of code graph analysis and repository management. Each tool addresses a distinct need, and the count falls comfortably within the ideal range.

Completeness4/5

The tool surface covers repository lifecycle (list, index, drop) and key graph queries (find, callers, callees, impact, paths, hotspots). Minor gaps exist, such as lacking a dedicated 'get single repo' tool, but the coverage is sufficient for core workflows.

Maintenance

ActivityStale
ResponsivenessNo issues