Skip to main content
Glama
GeorgeTsakonas

code-atlas-mcp

  ██████╗ ██████╗ ██████╗ ███████╗      █████╗ ████████╗██╗      █████╗ ███████╗
 ██╔════╝██╔═══██╗██╔══██╗██╔════╝     ██╔══██╗╚══██╔══╝██║     ██╔══██╗██╔════╝
 ██║     ██║   ██║██║  ██║█████╗ █████╗███████║   ██║   ██║     ███████║███████╗
 ██║     ██║   ██║██║  ██║██╔══╝ ╚════╝██╔══██║   ██║   ██║     ██╔══██║╚════██║
 ╚██████╗╚██████╔╝██████╔╝███████╗     ██║  ██║   ██║   ███████╗██║  ██║███████║
  ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝     ╚═╝  ╚═╝   ╚═╝   ╚══════╝╚═╝  ╚═╝╚══════╝
                                 [ M C P ]

Servidor de Model Context Protocol de Alto Rendimiento y Consciente de AST

License: MIT TypeScript Node.js MCP Standard Vitest

Conecta Claude Code, Claude Desktop y Agentes de IA Autónomos directamente a mapas de código AST estructurales, esqueletos eficientes en tokens y análisis de impacto de radio de explosión de PR.


📖 Resumen

Los agentes de codificación LLM modernos gastan hasta el 70% de su ventana de contexto ingiriendo árboles de archivos sin procesar y contenidos de archivos redundantes. Al modificar bases de código grandes, los asistentes de IA a menudo carecen de visibilidad sobre:

  1. Llamadores y dependientes posteriores: Modificar la firma de una función exportada rompe a los llamadores a 5 directorios de distancia.

  2. Inflación de tokens: Los volcados de archivos completos desperdician contexto en cuerpos de implementación en lugar de definiciones de tipos y firmas.

  3. Radio de explosión de regresión de PR: Falta de conciencia sobre qué suites de pruebas unitarias y de integración cubren los nodos AST modificados.

code-atlas-mcp resuelve esto exponiendo una capa de inteligencia consciente de AST a través del estándar Model Context Protocol (MCP). Analiza archivos fuente en árboles de símbolos estructurales, poda cuerpos de funciones en esqueletos de código eficientes en tokens, aísla nodos AST modificados en diffs de git y calcula el radio de explosión de regresión transitiva.


Related MCP server: MCP Filesystem Server

🏛️ Arquitectura

┌────────────────────────────────────────────────────────────────────────┐
│                        AI Coding Clients                               │
│        (Claude Code CLI / Claude Desktop / Cursor / Custom Agents)     │
└──────────────────────────────────┬─────────────────────────────────────┘
                                   │  MCP Protocol (JSON-RPC over stdio)
                                   ▼
┌────────────────────────────────────────────────────────────────────────┐
│                          code-atlas-mcp                                │
│  ┌───────────────────────────────┬──────────────────────────────────┐  │
│  │      MCP Request Router       │      Tool Schema Validators      │  │
│  │ (ListTools / CallTool Handler)│          (Zod Runtime)           │  │
│  └───────────────┬───────────────┴──────────────────┬───────────────┘  │
│                  ▼                                  ▼                  │
│  ┌───────────────────────────────┐  ┌───────────────────────────────┐  │
│  │          AST Engine           │  │          Git Engine           │  │
│  │   • TypeScript Compiler API   │  │   • Unified Diff Parser       │  │
│  │   • Symbol & Hierarchy Extr.  │  │   • Line-to-AST Correlation   │  │
│  │   • Token-Efficient Skeletons │  │   • Working Tree / Ref Diffs  │  │
│  └───────────────┬───────────────┘  └───────────────┬───────────────┘  │
│                  └───────────────┬──────────────────┘                  │
│                                  ▼                                     │
│  ┌──────────────────────────────────────────────────────────────────┐  │
│  │                      Impact Analyzer                             │  │
│  │   • Downstream Callers Graph  • Transitive Dependency BFS        │  │
│  │   • Test Suite Coverage Map   • Risk Scoring & Assessment Engine │  │
│  └──────────────────────────────────────────────────────────────────┘  │
└──────────────────────────────────┬─────────────────────────────────────┘
                                   ▼
┌────────────────────────────────────────────────────────────────────────┐
│                          Local Codebase                                │
│               Filesystem (.ts, .tsx, .js, .jsx) & .git                 │
└────────────────────────────────────────────────────────────────────────┘

⚡ Herramientas principales de MCP

1. get_repo_structure

Devuelve un mapa estructural jerárquico y podado por AST del repositorio con esqueletos de código opcionales eficientes en tokens. Elimina los cuerpos de las funciones mientras conserva firmas completas, interfaces exportadas, tipos y docstrings.

Parámetros

Parámetro

Tipo

Requerido

Descripción

Por defecto

rootDir

string

No

Directorio del repositorio objetivo.

Directorio de trabajo actual

includeSkeletons

boolean

No

Generar esqueletos de código eficientes en tokens con cuerpos de funciones eliminados.

true

maxDepth

number

No

Profundidad máxima de recorrido de directorios (1-20).

5

ignorePatterns

string[]

No

Matriz de patrones glob de carpetas/archivos a ignorar.

[]

fileExtensions

string[]

No

Matriz de extensiones permitidas (p. ej. ['.ts', '.tsx']).

TS/JS estándar

Ejemplo de salida de la herramienta

{
  "rootDir": "/workspace/my-app",
  "totalFiles": 42,
  "totalSymbols": 318,
  "fileTree": {
    "name": "src",
    "type": "directory",
    "children": [
      {
        "name": "auth.ts",
        "type": "file",
        "symbolsCount": 4,
        "summary": {
          "language": "typescript",
          "linesOfCode": 120,
          "symbols": [
            {
              "name": "verifyJwt",
              "kind": "function",
              "signature": "export function verifyJwt(token: string): Promise<JwtPayload>",
              "startLine": 15,
              "endLine": 42,
              "isExported": true
            }
          ],
          "astSkeleton": "import { JwtPayload } from \"./types.js\";\n\nexport function verifyJwt(token: string): Promise<JwtPayload>;"
        }
      }
    ]
  }
}

2. analyze_diff_impact

Analiza los nodos AST modificados entre ramas, confirmaciones o el árbol de trabajo sin confirmar para determinar las funciones, clases y componentes posteriores afectados.

Parámetros

Parámetro

Tipo

Requerido

Descripción

Por defecto

baseRef

string

No

Revisión o rama base de git (p. ej. 'main', 'HEAD~1').

Árbol de trabajo sin confirmar

headRef

string

No

Revisión o rama de git head (p. ej. 'feature-auth', 'HEAD').

Estado del árbol de trabajo

repoPath

string

No

Ruta a la raíz del repositorio git.

Directorio de trabajo actual

Ejemplo de salida de la herramienta

{
  "baseRef": "main",
  "headRef": "HEAD",
  "changedFilesCount": 2,
  "modifiedFiles": ["src/auth/jwt.ts"],
  "modifiedAstNodes": [
    {
      "filePath": "src/auth/jwt.ts",
      "symbol": {
        "name": "verifyJwt",
        "kind": "function",
        "signature": "export function verifyJwt(token: string, options?: VerifyOptions): Promise<JwtPayload>",
        "startLine": 12,
        "endLine": 35,
        "isExported": true
      },
      "changeType": "modified",
      "modifiedLines": [12, 13, 14]
    }
  ],
  "affectedDownstream": [
    {
      "symbolName": "verifyJwt",
      "sourceFile": "src/auth/jwt.ts",
      "dependentFile": "src/middleware/auth.ts",
      "impactType": "direct_import",
      "reason": "File 'src/middleware/auth.ts' directly imports symbol 'verifyJwt' modified in 'src/auth/jwt.ts'"
    }
  ],
  "summary": "Diff Impact Analysis: 1 file(s) modified across 1 distinct AST symbol(s). Identified 1 downstream dependent reference(s) that require verification."
}

3. inspect_blast_radius

Identifica posibles puntos de regresión, dependientes posteriores transitivos (recorrido BFS) y suites de pruebas rotas para un cambio de archivo específico. Calcula una puntuación de riesgo de 0 a 100 con factores críticos.

Parámetros

Parámetro

Tipo

Requerido

Descripción

Por defecto

targetFile

string

Ruta al archivo fuente objetivo (p. ej. 'src/services/ast-engine.ts').

repoPath

string

No

Ruta a la raíz del repositorio.

Directorio de trabajo actual

Ejemplo de salida de la herramienta

{
  "targetFile": "src/services/user.ts",
  "targetSymbols": [ /* AST Symbols */ ],
  "directDependents": [
    {
      "filePath": "src/controllers/auth.ts",
      "importedSymbols": ["getUserById", "updateUser"]
    }
  ],
  "transitiveDependents": [
    {
      "filePath": "src/routes/api.ts",
      "depth": 2,
      "chain": ["src/services/user.ts", "src/controllers/auth.ts", "src/routes/api.ts"]
    }
  ],
  "affectedSuites": [
    {
      "testFile": "tests/auth.test.ts",
      "reliesOn": ["src/services/user.ts", "src/controllers/auth.ts"],
      "riskLevel": "HIGH",
      "potentialFailures": ["getUserById", "updateUser"]
    }
  ],
  "riskAssessment": {
    "score": 65,
    "level": "HIGH",
    "factors": [
      "Exports 4 symbol(s)",
      "High direct coupling: 3 direct dependent files",
      "Moderate cascade: 5 transitive dependents",
      "1 test suite(s) actively verify dependent code"
    ]
  }
}

🚀 Instalación y inicio rápido

Instalación global de CLI

npm install -g code-atlas-mcp

Ejecutar directamente mediante NPX

npx code-atlas-mcp --root /path/to/your/project

🤖 Configuración de integración con Claude

Configuración de Claude Desktop

Añade code-atlas-mcp a tu claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "code-atlas": {
      "command": "npx",
      "args": [
        "-y",
        "code-atlas-mcp"
      ]
    }
  }
}

Si deseas fijar un directorio de repositorio específico:

{
  "mcpServers": {
    "code-atlas": {
      "command": "npx",
      "args": [
        "-y",
        "code-atlas-mcp",
        "--root",
        "/absolute/path/to/your/repository"
      ]
    }
  }
}

Configuración de Claude Code CLI

Lanza claude con el servidor MCP adjunto:

claude --mcp-server "npx -y code-atlas-mcp"

🛠️ Desarrollo y pruebas

Requisitos previos

  • Node.js >= 18.0.0

  • npm >= 9.0.0

  • Git CLI

Configuración

# Clone the repository
git clone https://github.com/GeorgeTsakonas/code-atlas-mcp.git
cd code-atlas-mcp

# Install dependencies
npm install

# Build TypeScript to dist/
npm run build

# Run unit and integration tests with Vitest
npm test

# Run tests in watch mode
npm run test:watch

# Type check
npm run lint

🗺️ Hoja de ruta

  • Extracción de AST de TypeScript Compiler API

  • Generación de esqueletos eficientes en tokens (cuerpos eliminados)

  • Correlación de líneas de diff de git con nodos AST

  • Grafo de dependencias posteriores y análisis de impacto en sitios de llamada

  • Inspección de radio de explosión transitiva e identificación de suites de pruebas

  • Transporte stdio estándar de MCP

  • Soporte del motor de análisis AST de Python (ast / Tree-sitter)

  • Módulos de análisis AST de Rust y Go

  • Búsqueda semántica vectorial sobre símbolos AST


🤝 Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar un Pull Request.

  1. Haz un fork del proyecto

  2. Crea tu rama de características (git checkout -b feature/AmazingFeature)

  3. Confirma tus cambios (git commit -m 'Add some AmazingFeature')

  4. Sube a la rama (git push origin feature/AmazingFeature)

  5. Abre un Pull Request


📄 Licencia

Distribuido bajo la Licencia MIT. Consulta LICENSE para obtener más información.

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to understand and navigate codebases through structural analysis. Provides code mapping, symbol search, and impact analysis using ast-grep for accurate parsing of Python, JavaScript, TypeScript, and Go projects.
    4
    52
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides LLM-optimized tools for advanced code analysis, repository complexity evaluation, and call graph generation. It enables users to visualize directory structures, detect code patterns, and build semantic context with significant token savings.
    11
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Enables LLMs to efficiently read, write, and refactor code using precise AST-based operations, reducing token usage and context window waste.
    25
    57
    3
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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/GeorgeTsakonas/code-atlas-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server