Skip to main content
Glama

CodeHealth MCP

어디서나 작동하는 코드베이스 건강 분석. 죽은 코드, 순환 의존성, 결합도 문제, 아키텍처 드리프트 — Claude Desktop, Cursor, Windsurf, Slack용 MCP 도구로 제공됩니다.

npm MCP Registry MCP Node.js License: MIT awesome-mcp-servers


문제점

죽은 코드, 순환 의존성, 과도한 결합도, 아키텍처 드리프트는 일상적인 작업에서는 보이지 않습니다. 정적 분석 도구는 아무도 확인하지 않는 CI 대시보드에서 노이즈를 만들어냅니다. CodeHealth MCP는 Model Context Protocol을 통해 이러한 인사이트를 개발자가 실제로 사용하는 도구로 가져옵니다.


Related MCP server: arch-viewer

CodeHealth MCP가 하는 일

6가지 분석 도구, 모든 MCP 호환 클라이언트에서 사용 가능:

도구

발견 내용

analyze_dead_code

사용되지 않는 함수, 클래스, 모듈 (file:line + 수정 제안)

detect_circular_deps

DFS를 통한 모듈 import 순환 감지 및 영향 평가

analyze_coupling

모듈별 Fan-out, 밀집 클러스터 감지, 리팩토링 제안

detect_architectural_drift

레이어 경계 위반 (UI→Data, Business→UI 등)

full_health_scan

4가지 분석 모두 + 0–100 건강 점수 + 우선순위 조치 항목

explain_finding

AI 기반 모든 발견 사항에 대한 상세 설명


지원 환경

클라이언트

추가 방법

Claude Desktop

claude_desktop_config.json에 추가

Cursor / Windsurf

MCP 설정에 추가

Slack

Block Kit UI를 갖춘 내장 Agent Builder 통합

모든 MCP 클라이언트

표준 MCP 서버 (stdio)


설치

npm install -g @cubiczan/codesentinel-mcp
npx -y @cubiczan/codesentinel-mcp

MCP Registry: io.github.icohangar-ops/codesentinel-mcp
npm: @cubiczan/codesentinel-mcp 1.0.1

Claude Desktop / Cursor

{
  "mcpServers": {
    "codesentinel": {
      "command": "npx",
      "args": ["-y", "@cubiczan/codesentinel-mcp"]
    }
  }
}

빠른 시작 (소스에서)

git clone https://github.com/icohangar-ops/codesentinel.git
cd codesentinel
npm install
cp .env.sample .env
npm start

Claude Desktop에서 사용

Run a full health scan on /path/to/my/repo
Find circular dependencies in the frontend
Check coupling metrics in src/services

Daytona 샌드박스 스캔 (선택 사항)

DAYTONA_API_KEY를 설정하세요 (비공개 저장소의 경우 선택적으로 GITHUB_TOKEN도). MCP 도구와 Slack 분석은 Daytona VM에서 GitHub URL을 shallow-clone하여 데모 데이터 대신 실제 import-graph 결과를 반환합니다.

full_health_scan repo_path=https://github.com/org/repo

Slack에서 사용

Slack 앱 매니페스트를 추가하고, Agent Builder를 활성화한 후, 아무 채널에서 @CodeHealth를 멘션하세요.


아키텍처

┌──────────────────────────────────────────┐
│          MCP CLIENT (any)                │
│  Claude Desktop, Cursor, Slack, etc.     │
└──────────────────┬───────────────────────┘
                   │ MCP Protocol (stdio)
┌──────────────────▼───────────────────────┐
│         CODEHEALTH MCP SERVER            │
│                                          │
│  🔧 analyze_dead_code                    │
│  🔧 detect_circular_deps                 │
│  🔧 analyze_coupling                     │
│  🔧 detect_architectural_drift           │
│  🔧 full_health_scan                     │
│  🔧 explain_finding                      │
│                                          │
│  ┌──────────────────────────────────┐    │
│  │       Analysis Engine            │    │
│  │  dead-code | circular-deps       │    │
│  │  coupling | drift                │    │
│  └──────────────────────────────────┘    │
│                                          │
│  ┌──────────────────────────────────┐    │
│  │       LLM Provider               │    │
│  │  Deepseek / OpenAI / Anthropic   │    │
│  └──────────────────────────────────┘    │
└──────────────────────────────────────────┘

Slack 통합

CodeHealth MCP는 다음과 같은 기능을 갖춘 완전한 Slack Agent Builder 앱을 제공합니다:

  • Block Kit UI — 심각도 코드가 표시된 발견 사항, 건강 점수, 실행 가능한 제안

  • 스레드 기반 대화 — 스레드에서 후속 분석

  • 제안 프롬프트 — 원클릭 분석 트리거

  • MCP 서버 — 동일한 도구, 어디서나 사용 가능

데모 샌드박스 (Devpost 심사위원용)

라이브 데모 워크스페이스는 codehealthdemo.slack.com 입니다 — CodeSentinel 에이전트 (App ID A0BEHRDN5TQ)가 설치되어 권한이 부여되어 있습니다. 아무 채널에서 멘션하세요:

@CodeSentinel run a full health scan on https://github.com/icohangar-ops/codesentinel

샌드박스 구성:

샌드박스의 라이브 에이전트 응답#general에서 실제 @CodeSentinel 멘션이 Daytona 샌드박스 저장소 스캔을 트리거합니다:

CodeSentinel responding in #general

앱 자격 증명 및 App ID

에이전트 기능 활성화

Socket Mode 활성화

App Basic Information

Agent enabled

Socket Mode enabled


사용자 정의 분석기 추가

각 분석기는 간단한 인터페이스를 따릅니다:

function analyze(repoInfo) {
  return {
    type: "your_analysis_type",
    findings: [
      {
        type: "finding_type",
        severity: "critical" | "warning" | "info",
        file: "path/to/file.ts",
        line: 42,
        name: "symbol_name",
        reason: "Why this is a problem",
        suggestion: "How to fix it",
      },
    ],
    stats: { /* summary metrics */ },
  };
}

lib/analyzers/에 새 분석기를 추가하고 analysis-engine.js에 등록하면 Slack 및 MCP에서 자동으로 사용할 수 있습니다.


로드맵

  • 실제 AST 분석 — TypeScript용 ts-morph, 다중 언어용 tree-sitter

  • GitHub App — 인라인 댓글이 포함된 PR 자동 분석

  • 과거 추세 — 저장소별 시간에 따른 건강 점수 추적

  • 사용자 정의 아키텍처 규칙 — 구성 파일로 레이어 경계 정의

  • 팀 대시보드 — Slack Canvas에서 건강 상태 집계


프로젝트 구조

codesentinel/
├── app.js                    # Bolt app entry (Slack)
├── manifest.json             # Slack app manifest
├── lib/
│   ├── analysis-engine.js    # Analysis orchestrator + health score
│   ├── intent-parser.js      # NLP intent classification
│   ├── block-kit-builder.js  # Rich Slack UI
│   ├── llm-provider.js       # Multi-provider LLM
│   └── analyzers/            # dead-code, circular-deps, coupling, drift
├── mcp-server/
│   ├── index.js              # MCP server with 6 tools
│   └── package.json
└── functions/                # Slack function definitions

커뮤니티 및 레지스트리


라이선스

MIT. LICENSE 참조.

Available Tools

6 tools
analyze_couplingA

Analyze coupling metrics across the codebase. Identifies modules with high fan-out (too many dependencies) and tightly coupled clusters.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathNoPath or URL to the repository
fan_out_thresholdNoFan-out threshold for flagging modules

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden of disclosing behavior. It clearly states the tool identifies high fan-out and tightly coupled clusters, implying a read-only analysis, but it does not describe output format, repository access behavior, or any limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly worded sentences deliver purpose and output with no filler. The primary action is front-loaded, and every clause contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 2-parameter tool with 100% schema coverage, the description gives enough context for an agent to select and invoke it correctly. It identifies what will be analyzed and what findings will be surfaced, though a bit more detail about the returned report would fully complete the picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, providing baseline 3. The description adds semantic value by explaining 'high fan-out' as 'too many dependencies,' which helps the agent understand the fan_out_threshold parameter's intent beyond the schema's terse label.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: 'Analyze coupling metrics across the codebase.' It further identifies concrete outputs (high fan-out modules, tightly coupled clusters), which clearly distinguishes it from siblings like analyze_dead_code and detect_circular_deps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'across the codebase' implies this is a whole-repository analysis tool and gives some sense of when to use it. However, it does not explicitly state when to prefer this over alternatives such as detect_circular_deps or detect_architectural_drift.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_dead_codeA

Analyze a codebase for dead code — functions, classes, and modules that are defined but never referenced. Returns findings with file paths, line numbers, severity, and fix suggestions.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathNoPath or URL to the repository to analyze
include_suggestionsNoWhether to include fix suggestions

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It mentions the detection criteria and the 'returns findings' structure, which indicates a read-only analysis. However, it does not disclose potential limitations such as language support, repository size constraints, or whether it modifies files. It adds some behavioral context but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, with the core purpose front-loaded in the first sentence. It avoids redundancy and every phrase conveys essential information (scope, detection target, output contents).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is concise but covers the key invocation details: input (repo_path), an optional toggle, and the expected output fields (file paths, line numbers, severity, fix suggestions). Given the tool's simplicity and full schema coverage, this is arguably sufficient, though it omits any guidance on language support or when to choose this over siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters are already described in the schema with full coverage, so the baseline is 3. The description reinforces that include_suggestions controls fix suggestions, but adds no additional syntax or format details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb 'Analyze' with resource 'codebase' for 'dead code' and specifies the kinds of dead code (functions, classes, modules) and that they are 'defined but never referenced.' This clearly distinguishes from sibling tools like detect_circular_deps or analyze_coupling, which focus on different aspects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus siblings. It does not mention alternatives, exclusions, or prerequisites, leaving an agent to infer usage from the name and sibling titles alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

detect_architectural_driftB

Detect architectural drift — violations of intended layer boundaries (e.g., UI importing from data layer, reverse dependencies).

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathNoPath or URL to the repository
layers_configNoJSON string defining layer patterns, e.g. {"ui": ["src/components/"], "data": ["src/db/"]}

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden of behavioral disclosure. It's a detect tool, which hints at read-only behavior, but it never states that explicitly, nor does it describe what the output looks like, whether it mutates anything, or how it uses the configured layers. For an analysis tool with zero annotations, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One focused sentence with a concrete example. Front-loaded purpose, zero filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex analysis tool with no output schema and no annotations, this is thin. It doesn't clarify how layers_config is used, what the agent should pass, what the tool returns, or any prerequisites. With 100% schema coverage, the params are defined, but the tool's behavior and output are left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already covers both parameters at 100%, so baseline 3. The description mentions layer boundaries but doesn't explicitly explain how repo_path and layers_config interact. It adds context but doesn't materially improve on the schema's example.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Detect') and a specific resource ('architectural drift'), then clarifies the exact nature with concrete examples (UI importing from data layer, reverse dependencies). This clearly distinguishes it from siblings like analyze_dead_code or detect_circular_deps, which target different defect classes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used when checking layer-boundary violations, but it never explicitly says when to use it versus the sibling tools (detect_circular_deps, full_health_scan). It gives a clear purpose but no exclusions or conditions that would help an agent choose it over alternatives. It's adequate but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

detect_circular_depsA

Detect circular dependencies between modules using DFS-based cycle detection. Returns cycles with involved files and impact assessment.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathNoPath or URL to the repository

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the burden. It does disclose the algorithm (DFS-based cycle detection) and the return contents (cycles with involved files and impact assessment). However, it does not state whether the operation is read-only, whether it requires a local clone versus a URL, or what happens when repo_path is omitted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler. The main action is front-loaded and the return-value summary is compact. Every part of the text earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool, the description covers what it does and what it returns. Yet without an output schema or annotations it stays slightly incomplete: the fact that repo_path is not required is unexplained, and there is no mention of side effects or prerequisites. It is adequate but leaves a few gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter is fully described in the schema ('Path or URL to the repository'), so the description adds no extra parameter semantics. Baseline 3 applies; the description does not need to repeat what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Detect'), a precise object ('circular dependencies between modules'), and even names the algorithm and return contents. It is clear and task-specific, but unlike a 5 it does not explicitly contrast itself with sibling analysis tools such as analyze_coupling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use, when-not-to-use, or alternative routing. The intended use is only implied by the action word 'Detect'. An agent is given no guidance about when analyze_coupling or detect_architectural_drift would be more appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_findingB

Get a detailed explanation of a specific code health finding, including why it matters, potential risks, and detailed remediation steps.

ParametersJSON Schema
NameRequiredDescriptionDefault
finding_typeYes
codebase_contextNoAdditional context about the codebase (language, framework, etc.)
finding_descriptionYesDescription of the specific finding to explain

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It does convey that the tool is read-only ('Get') and what kind of content the explanation includes, which is useful. However, it does not disclose response format, behavior for unrecognized finding types, or whether the explanation is precomputed or generated, so significant behavioral detail is still missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler. The core action is front-loaded, and the added clauses about risks and remediation steps are concise and informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimally adequate: schema coverage provides parameter names and the description explains the return content. However, there is no mention of how this tool fits into a workflow with the sibling analysis tools, and there is no output schema to clarify the exact structure of the explanation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%, but the tool description adds no parameter-level meaning beyond the schema. It never names finding_type, finding_description, or codebase_context, and it does not explain how the enum values relate to the requested explanation. The phrase 'specific finding' only weakly maps to the required parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific action ('Get a detailed explanation') on a specific resource ('a specific code health finding') and outlines the content of the explanation (why it matters, risks, remediation). It is not a tautology, and the 'explain' framing distinguishes it from the sibling analysis/detection tools, though it does not explicitly name that distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance on when to use this tool instead of the sibling tools like analyze_dead_code or full_health_scan. It does not state whether this tool should be used after a finding is reported, nor does it mention any exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

full_health_scanA

Run a complete codebase health scan: dead code, circular dependencies, coupling metrics, and architectural drift. Returns an overall health score (0-100) and prioritized findings.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_pathNoPath or URL to the repository

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the behavioral burden. It clearly defines the operation as a scan, enumerates the analysis categories, and states the return contract: a 0–100 overall health score and prioritized findings. It does not mention side effects or repository-clone behavior for URLs, but for a read-only scanning tool the disclosed behavior is substantial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, dense sentence that front-loads the core action and immediately states the output format. Every word contributes; there is no repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description adequately explains the return shape, but it leaves the relationship to the four sibling scanners implicit and says nothing about how an omitted repo_path should be handled even though the schema marks it optional. This is adequate but with clear gaps for an aggregation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the sole parameter repo_path already has a clear description ('Path or URL to the repository'). The tool description adds no parameter-specific nuances, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is specific and informative: it names a verb ('Run'), a resource ('complete codebase health scan'), and the four concrete scan dimensions (dead code, circular dependencies, coupling metrics, architectural drift). This clearly differentiates this aggregator from its single-concern siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The usage context is implied rather than explicit: the word 'complete' and the listed scan areas suggest this tool subsumes the sibling analyses, but it never states when to choose full_health_scan over analyze_dead_code, detect_circular_deps, or the others. No exclusion or alternative guidance is included.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv1.0.1
    • First observedanalyze_coupling
    • First observedanalyze_dead_code
    • First observeddetect_architectural_drift
    • First observeddetect_circular_deps
    • First observedexplain_finding
    • First observedfull_health_scan

TDQS

A3.7/5.0
Disambiguation5/5

Each tool targets a distinct analysis concern: dead code, circular deps, coupling, architectural drift, combined scan, and explanation. No overlap in purpose; even full_health_scan is clearly a superset rather than a duplicative tool.

Naming Consistency4/5

Naming follows a strong verb_noun pattern but mixes 'analyze' and 'detect' as starting verbs, plus 'full_health_scan' and 'explain_finding' break the strict pattern slightly. Still, all names are descriptive and predictable.

Tool Count5/5

Six tools are well-scoped for a code health analysis server. Each tool covers a meaningful aspect, and the full scan consolidates several, avoiding redundancy.

Completeness4/5

The server covers the core analysis surface (dead code, circular deps, coupling, architecture) plus explanation and a comprehensive scan. Minor gaps like generating reports or managing ignore lists are not essential for the apparent scope.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Code dependency graph and AI context engine. 10 MCP tools that give Claude, Cursor, and any MCP client full codebase context — impact analysis, dependency tracing, architecture summaries, and interactive arc diagram visualization. Supports TypeScript, JavaScript, Python, and Go.
    24
    1,804
    60
    Business Source 1.1
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI-powered architecture analysis and visualization of codebases, exposing 17 MCP tools for querying components, dependencies, and generating interactive diagrams.
    0
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    AI code analysis tools that plug into Claude Code, Cursor, VS Code, and any MCP client, providing six specialized tools for explaining code, debugging, code review, security audit, automation script generation, and MCP blueprint design.
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Analyzes repositories, explains architecture, calculates change impact, and enforces guardrails for AI Agents like Claude Code, Cursor, and Codex via MCP tools.
    -

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/icohangar-ops/codesentinel'

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