Skip to main content
Glama
GeorgeTsakonas

code-atlas-mcp

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

고성능 AST 인지 Model Context Protocol 서버

License: MIT TypeScript Node.js MCP Standard Vitest

Claude Code, Claude Desktop, 자율 AI 에이전트를 구조적 AST 코드 맵, 토큰 효율적 스켈레톤, PR 블래스트 반경 영향 분석에 직접 연결하세요.


📖 개요

최신 LLM 코딩 에이전트는 컨텍스트 윈도우의 최대 70% 를 원시 파일 트리와 중복된 파일 내용을 읽는 데 소비합니다. 대규모 코드베이스를 수정할 때 AI 어시스턴트는 종종 다음에 대한 가시성이 부족합니다:

  1. 다운스트림 호출자 및 의존자: 내보낸 함수 시그니처를 수정하면 5개 디렉터리 떨어진 호출자가 깨집니다.

  2. 토큰 인플레이션: 전체 파일 덤프는 타입 정의와 시그니처 대신 구현 본문에 컨텍스트를 낭비합니다.

  3. PR 회귀 블래스트 반경: 수정된 AST 노드를 커버하는 단위 및 통합 테스트 스위트에 대한 인식 부족.

code-atlas-mcp 는 표준 Model Context Protocol (MCP) 을 통해 AST 인지 인텔리전스 레이어를 노출하여 이 문제를 해결합니다. 소스 파일을 구조적 심볼 트리로 파싱하고, 함수 본문을 토큰 효율적 코드 스켈레톤으로 정리하며, git diff 전반의 수정된 AST 노드를 분리하고, 전이적 회귀 블래스트 반경을 계산합니다.


Related MCP server: MCP Filesystem Server

🏛️ 아키텍처

┌────────────────────────────────────────────────────────────────────────┐
│                        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                 │
└────────────────────────────────────────────────────────────────────────┘

⚡ 핵심 MCP 도구

1. get_repo_structure

리포지토리의 계층적이고 AST 기반으로 정리된 구조 맵을 반환하며, 선택적으로 토큰 효율적 코드 스켈레톤을 포함합니다. 함수 본문을 제거하면서 완전한 시그니처, 내보낸 인터페이스, 타입, docstring을 보존합니다.

매개변수

매개변수

유형

필수

설명

기본값

rootDir

string

아니요

대상 리포지토리 디렉터리.

현재 작업 디렉터리

includeSkeletons

boolean

아니요

함수 본문이 제거된 토큰 효율적 코드 스켈레톤 생성 여부.

true

maxDepth

number

아니요

최대 디렉터리 탐색 깊이 (1-20).

5

ignorePatterns

string[]

아니요

무시할 폴더/파일 glob 패턴 배열.

[]

fileExtensions

string[]

아니요

허용할 확장자 배열 (예: ['.ts', '.tsx']).

표준 TS/JS

도구 출력 예시

{
  "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

브랜치, 커밋 또는 커밋되지 않은 작업 트리 간의 수정된 AST 노드를 분석하여 영향을 받는 다운스트림 함수, 클래스, 컴포넌트를 결정합니다.

매개변수

매개변수

유형

필수

설명

기본값

baseRef

string

아니요

기준 git 리비전 또는 브랜치 (예: 'main', 'HEAD~1').

커밋되지 않은 작업 트리

headRef

string

아니요

헤드 git 리비전 또는 브랜치 (예: 'feature-auth', 'HEAD').

작업 트리 상태

repoPath

string

아니요

git 리포지토리 루트 경로.

현재 작업 디렉터리

도구 출력 예시

{
  "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

대상 파일 변경에 대한 잠재적 회귀 지점, 전이적 다운스트림 의존자 (BFS 탐색), 깨진 테스트 스위트를 식별합니다. 핵심 요인과 함께 0-100 위험 점수를 계산합니다.

매개변수

매개변수

유형

필수

설명

기본값

targetFile

string

대상 소스 파일 경로 (예: 'src/services/ast-engine.ts').

repoPath

string

아니요

리포지토리 루트 경로.

현재 작업 디렉터리

도구 출력 예시

{
  "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"
    ]
  }
}

🚀 설치 및 빠른 시작

전역 CLI 설치

npm install -g code-atlas-mcp

NPX로 직접 실행

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

🤖 Claude 통합 설정

Claude Desktop 설정

code-atlas-mcpclaude_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"
      ]
    }
  }
}

특정 리포지토리 디렉터리를 고정하려면:

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

Claude Code CLI 설정

MCP 서버를 연결한 상태로 claude를 실행하세요:

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

🛠️ 개발 및 테스트

사전 요구 사항

  • Node.js >= 18.0.0

  • npm >= 9.0.0

  • Git CLI

설정

# 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

🗺️ 로드맵

  • TypeScript Compiler API AST 추출

  • 토큰 효율적 스켈레톤 생성 (본문 제거)

  • Git diff 라인 대 AST 노드 상관관계 매핑

  • 다운스트림 의존성 그래프 및 호출 지점 영향 분석

  • 전이적 블래스트 반경 검사 및 테스트 스위트 식별

  • MCP 표준 stdio 전송

  • Python AST 파서 엔진 지원 (ast / Tree-sitter)

  • Rust 및 Go AST 파싱 모듈

  • AST 심볼에 대한 의미론적 벡터 검색


🤝 기여

기여는 언제나 환영합니다! 자유롭게 Pull Request를 제출해 주세요.

  1. 프로젝트를 Fork 하세요

  2. 기능 브랜치를 생성하세요 (git checkout -b feature/AmazingFeature)

  3. 변경 사항을 커밋하세요 (git commit -m 'Add some AmazingFeature')

  4. 브랜치에 푸시하세요 (git push origin feature/AmazingFeature)

  5. Pull Request를 여세요


📄 라이선스

MIT License 하에 배포됩니다. 자세한 내용은 LICENSE를 참조하세요.

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