Skip to main content
Glama

Mirdan

AI 코드 품질 오케스트레이터 — 트리아지(triage), 린팅, 타입 검사, 테스트 실행 및 검증을 처리하는 로컬 인텔리전스 계층을 실행하여 유료 AI 코딩 토큰 비용을 30-45% 절감하며, Claude Opus와 같은 고가의 모델은 코드 작성에만 집중할 수 있도록 합니다.

PyPI version Python 3.11+ License: MIT

uv tool install mirdan                  # Install mirdan
mirdan llm setup                        # Auto-installs backend, downloads model, configures
mirdan init --claude-code               # or --cursor
# Done. Quality enforcement + local intelligence is now automatic.

Claude Code, Cursor IDE, Cursor CLI와 함께 작동합니다. 16GB 노트북에서 실행되며 모든 데이터는 로컬에 유지됩니다.


로컬 인텔리전스 계층 (2.0 버전 신규)

Mirdan 2.0은 일상적인 작업을 사용자의 기기에서 실행되는 소형 로컬 모델(Gemma 4)로 오프로드합니다. 유료 모델은 복잡한 추론과 코드 작성에만 집중합니다.

코딩 전:

  • 트리아지(Triage) — 작업을 분류합니다. 사소한 작업(임포트 수정, 파일 포맷팅 등)은 유료 모델로 전달되지 않아 토큰이 전혀 소모되지 않습니다.

  • 연구(Research) — 코드베이스 컨텍스트, 라이브러리 문서 및 프로젝트 규칙을 로컬에서 수집합니다(64GB 이상 권장).

코딩 후:

  • 체크 러너(Check Runner) — ruff, mypy, pytest를 로컬에서 실행합니다. LLM이 출력을 파싱하여 린트 오류를 자동 수정하고 복잡한 실패 사례만 보고합니다.

  • 스마트 검증(Smart Validation) — 64개의 품질 규칙과 LLM 기반의 오탐지 필터링, 근본 원인 그룹화 및 수정 제안을 제공합니다.

  • 자동 수정(Auto-Fix)mirdan check --smart --fix를 통해 LLM이 생성한 검색/바꾸기 수정을 검증과 함께 적용합니다.

하드웨어

실행 내용

토큰 절감률

16GB 노트북

Gemma 4 E4B Q3 — 트리아지, 체크, 검증, 자동 수정

30-45%

32GB

Gemma 4 E4B Q3 — 동일 기능, 더 많은 여유 공간

35-50%

64GB+ Apple Silicon

+ Gemma 4 31B (프롬프트 최적화 및 연구용)

50-70%

빠른 설정

mirdan llm setup              # Detects hardware, installs backend, downloads model, configures
mirdan init --claude-code     # or --cursor
mirdan llm status             # Verify it's working

모든 것이 로컬에서 실행됩니다. 원격 서버는 없으며, 데이터는 기기를 벗어나지 않습니다.


왜 Mirdan인가?

AI 코딩 어시스턴트는 코드를 빠르게 생성하지만, 가이드라인이 없으면 **슬롭(slop)**을 만들어냅니다: 하드코딩된 비밀값, SQL 인젝션, 플레이스홀더 함수, 환각된 임포트, 빈 except 블록, 그리고 겉보기엔 멀쩡하지만 프로덕션에서 실패하는 코드들입니다.

Mirdan은 AI 워크플로우의 두 지점을 가로채어 이를 해결합니다:

  1. 코딩 전enhance_prompt가 품질 요구 사항, 보안 제약 조건 및 프레임워크별 표준을 추가하여 AI가 처음부터 더 나은 코드를 생성하도록 합니다.

  2. 코딩 후validate_code_quality가 놓친 부분을 잡아냅니다: 보안 취약점, AI 특유의 안티패턴, 언어 모범 사례를 포함한 64가지 규칙을 검사합니다.

설치 후에는 IDE 훅을 통해 보이지 않게 실행되므로, 평소처럼 코딩하기만 하면 됩니다.

무엇을 잡아내는가?

일반적인 AI 생성 코드의 단일 함수에서 mirdan이 플래그를 지정하는 항목은 다음과 같습니다:

API_KEY = "sk-proj-abc123456789"           # SEC001: hardcoded API key
def get_users(user_id):
    query = f"SELECT * FROM users WHERE id={user_id}"  # SEC005 + AI008: SQL injection
    result = eval(user_input)              # PY001: code injection via eval()
    data = requests.get(url, verify=False) # SEC007: SSL verification disabled
    try:
        process(data)
    except:                                # PY003: bare except
        pass

결과: 점수 0.0/1.0, 오류 6개, 경고 3개. 자동 수정 기능을 사용하면 mirdan이 이 중 5개를 자동으로 해결합니다.

프롬프트에 무엇을 추가하는가?

AI 어시스턴트에게 "FastAPI에서 JWT 토큰을 사용하는 사용자 인증 엔드포인트를 만들어줘"라고 요청하면, mirdan의 enhance_prompt가 보안 관련 사항임을 감지하고 다음을 주입합니다:

  • 프레임워크 표준: "타입 안전한 의존성 주입을 위해 Annotated와 함께 Depends()를 사용하세요"

  • 보안 제약: "비밀값이나 자격 증명이 하드코딩되지 않았는지 확인하세요"

  • 품질 요구 사항: "모든 요청 본문과 응답 스키마에 Pydantic 모델을 사용하세요"

  • 검증 단계: "오류 처리가 모든 비동기 작업을 포함하는지 확인하세요"

AI는 단순한 프롬프트 대신 구조화된 지침을 받아 첫 시도부터 더 나은 코드를 생성합니다.


빠른 시작

설치

uv tool install mirdan                   # Install mirdan
mirdan llm setup                         # Auto-installs LLM backend + downloads model

# Optional extras:
uv tool install 'mirdan[ast]'            # + tree-sitter for TS/JS AST analysis
uv tool install 'mirdan[enterprise]'     # + truststore for corporate SSL inspection

# Upgrade:
uv tool upgrade mirdan

# Or with pip:
pip install mirdan

IDE 설정

mirdan init --claude-code    # Claude Code: hooks, rules, skills, agents
mirdan init --cursor         # Cursor: hooks, rules, AGENTS.md, BUGBOT.md
mirdan init --all            # Both IDEs

이 과정은 MCP 서버 설정, 품질 훅, 규칙 파일 및 에이전트 정의 등 모든 것을 생성합니다. LLM이 활성화되면 훅이 로컬 트리아지와 체크 러너도 구성합니다. 초기화 후 IDE는 자동으로 다음을 수행합니다:

  1. 코딩 작업 전 품질 요구 사항으로 프롬프트 강화

  2. 편집 후 보안 및 품질 규칙에 따라 코드 검증

  3. 작업 완료 전 최종 품질 게이트 실행

명령줄에서 사용

mirdan validate --file src/auth.py     # Validate a file
mirdan validate --staged               # Validate git staged changes
mirdan fix --file src/auth.py          # Auto-fix violations (pattern-based)
mirdan check --smart                   # Run lint + typecheck + test with LLM analysis
mirdan check --smart --fix src/        # Run checks AND auto-fix with local LLM
mirdan gate                            # CI/CD quality gate (exit 0 or 1)
mirdan scan --dependencies             # Check deps for known CVEs
mirdan scan --directory src/           # Discover codebase conventions
mirdan llm setup                       # Configure local LLM
mirdan llm status                      # Show LLM health, model, hardware
mirdan llm metrics                     # Token savings dashboard

작동 원리

Mirdan은 MCP 서버입니다. AI 코딩 어시스턴트(Claude Code, Cursor, Claude Desktop 또는 모든 MCP 클라이언트)에 연결하여 품질 강제 도구를 제공합니다.

┌──────────────────────────────────────────────────┐
│  Your AI Assistant (Claude Code / Cursor / etc)  │
│                                                  │
│  1. You type a coding task                       │
│  2. Hook triages task via local LLM ────┐        │
│  3. AI generates code with guidance     │        │
│  4. Hook runs lint/typecheck/test ◄─────┘        │
│  5. AI fixes only complex issues                 │
│  6. Quality gate passes → task complete          │
└──────────────────────────────────────────────────┘
         │                        ▲
         ▼                        │
┌──────────────────────────────────────────────────┐
│  Mirdan MCP Server + Local Intelligence Layer    │
│                                                  │
│  MCP Tools (unchanged):                          │
│  enhance_prompt         → Quality requirements   │
│  validate_code_quality  → 64 rules + LLM enrich │
│  validate_quick         → Fast security checks   │
│  get_quality_standards  → Language/framework ref  │
│  get_quality_trends     → Historical analysis    │
│  scan_dependencies      → CVE detection (OSV)    │
│  scan_conventions       → Convention discovery   │
│                                                  │
│  Local LLM (Gemma 4, runs on your machine):      │
│  Triage          → Classify tasks, save tokens   │
│  Check Runner    → Run ruff/mypy/pytest locally  │
│  Smart Validator → FP filtering, root causes     │
│  Auto-Fix        → Search/replace code fixes     │
│  HTTP Sidecar    → <5ms hook integration         │
└──────────────────────────────────────────────────┘

검증 규칙

Mirdan은 10개 카테고리에 걸쳐 64개의 규칙을 제공합니다. 외부 서비스가 필요 없으며 모든 규칙은 로컬에서 실행됩니다.

AI 품질 (AI001–AI008)

AI 생성 코드 고유의 패턴을 잡아내는 규칙입니다:

규칙

감지 내용

AI001

플레이스홀더 코드 — raise NotImplementedError, TODO가 포함된 pass (@abstractmethod 제외)

AI002

환각된 임포트 — 표준 라이브러리나 프로젝트 의존성에 없는 패키지

AI003

과도한 엔지니어링 — 단순 작업에 불필요한 추상화

AI004

중복 코드 블록

AI005

일관성 없는 오류 처리 패턴

AI006

더 가벼운 대안이 있는데도 무거운 임포트를 사용하는 경우

AI007

보안 연극(Security theater) — 안전해 보이지만 보호 기능을 제공하지 않는 패턴

AI008

f-string을 통한 인젝션 — 보간법이 포함된 SQL, eval, exec, os.system

보안 (SEC001–SEC014)

규칙

감지 내용

SEC001–003

하드코딩된 비밀값 — API 키, 비밀번호, AWS 키

SEC004–006

SQL 인젝션 — 문자열 연결, f-string, 템플릿 리터럴

SEC007

SSL/TLS 검증 비활성화

SEC008–009

문자열 포맷팅을 통한 셸 명령 인젝션

SEC010

JWT 검증 비활성화

SEC011–013

그래프 데이터베이스 인젝션 — Neo4j Cypher, Gremlin

SEC014

취약한 의존성 — 알려진 CVE가 있는 패키지

언어별 규칙

언어

규칙

주요 검사 항목

Python

PY001–PY015

eval/exec, 빈 except, 가변 기본값, 폐기된 타이핑, 안전하지 않은 pickle/yaml, subprocess 셸, 죽은 임포트, 도달 불가능한 코드

JavaScript

JS001–JS005

var, eval, document.write, innerHTML, child_process.exec

TypeScript

TS001–TS005

eval, Function 생성자, @ts-ignore, as any, innerHTML

Go

GO001–GO003

무시된 오류, panic(), fmt.Sprintf를 통한 SQL

Java

JV001–JV007

String ==, 일반 Exception, System.exit, Runtime.exec, 안전하지 않은 역직렬화

Rust

RS001–RS002

.unwrap(), 빈 .expect()

또한 ARCH001–003 / TSARCH001–004 (함수 길이, 파일 길이, 중첩 깊이, 누락된 반환 타입), RAG001–002 (청크 중복, 폐기된 로더)가 포함됩니다.

Python 규칙 PY001–PY004는 AST 기반 검증을 사용하여 문자열이나 주석으로 인한 오탐지를 제거합니다. mirdan[ast]가 설치되면 TypeScript/JavaScript 아키텍처 검사는 tree-sitter를 사용하여 정확한 함수 길이, 중첩 깊이 및 반환 타입 분석을 수행합니다.

32개의 규칙mirdan fix를 통한 자동 수정을 지원합니다.


언어 및 프레임워크 지원

언어: Python, TypeScript, JavaScript, Go, Java, Rust

33개의 프레임워크 표준 — mirdan은 각 프레임워크의 관용구, 모범 사례 및 일반적인 함정을 알고 있습니다:

React, React Native, Next.js, Nuxt, Vue, SvelteKit, Astro, Flutter, Tailwind, FastAPI, Django, Express, NestJS, Echo, Gin, Spring Boot, Micronaut, Quarkus, Drizzle, Neo4j, Supabase, Convex, Pinecone, Qdrant, Milvus, Weaviate, ChromaDB, FAISS, LangChain, LangGraph, CrewAI, DSPy, tRPC

enhance_prompt가 프레임워크를 감지하면 프레임워크별 품질 요구 사항을 주입합니다 (예: FastAPI의 경우 "Annotated와 함께 Depends() 사용", Next.js의 경우 "서버 컴포넌트 선호").


품질 프로필

프로필은 8개 차원에 걸쳐 강제 수준을 조정합니다. 프로젝트에 맞는 프로필을 선택하세요:

프로필

보안

아키텍처

테스트

AI 슬롭

의존성 보안

용도

default

0.7

0.5

0.7

0.7

0.7

범용 프로젝트

startup

0.7

0.3

0.5

0.8

0.5

안전망을 갖춘 빠른 개발

enterprise

1.0

0.9

0.9

1.0

1.0

프로덕션 엔터프라이즈 코드

fintech

1.0

0.8

1.0

1.0

1.0

금융 등급의 정확성

library

0.8

0.9

0.9

0.8

0.8

공개 API 및 패키지

data-science

0.7

0.3

0.5

0.6

0.5

데이터 안전을 고려한 탐색

prototype

0.5

0.2

0.2

0.5

0.3

빠른 프로토타이핑

척도: 0.0–0.3 관대함 | 0.3–0.7 보통 | 0.7–1.0 엄격함

mirdan init --quality-profile enterprise
mirdan profile apply fintech          # Change later
mirdan profile suggest                # Let mirdan recommend one

IDE 통합

Claude Code

mirdan init --claude-code

.mcp.json, 훅, 규칙, 7가지 스킬(/code, /debug, /review, /plan, /quality, /scan, /gate) 및 5가지 에이전트(quality-gate, security-audit, test-quality, convention-check, architecture-reviewer)를 생성합니다.

훅의 엄격함 수준은 mirdan이 얼마나 적극적으로 개입할지 제어합니다:

수준

용도

MINIMAL

2 (PostToolUse, Stop)

낮은 마찰의 온보딩

STANDARD

5 (+ UserPromptSubmit, PreToolUse, SubagentStart)

일상적인 개발

COMPREHENSIVE

15 (컴팩션, 워크트리를 포함한 전체 수명 주기)

팀 및 프로덕션

Cursor

mirdan init --cursor

완벽한 Cursor 2.x 통합을 생성합니다:

  • 규칙.cursor/rules/*.mdc (상시 활성, 보안, 계획, 디버그, 에이전트, 언어별)

  • — 프롬프트 타입 + 명령 타입 훅이 포함된 .cursor/hooks.json, .cursor/hooks/*.sh 스크립트

  • 서브에이전트.cursor/agents/*.md (quality-validator, security-scanner, test-auditor, slop-detector, architecture-reviewer)

  • 스킬Agent Skills Standard를 따르는 .cursor/skills/*/SKILL.md (code, debug, review, plan, quality, scan, gate)

  • 명령.cursor/commands/*.md 슬래시 명령 (/code, /debug, /review, /plan, /quality, /scan, /gate)

  • 환경 — 클라우드 에이전트 환경을 위한 .cursor/environment.json

  • 설정.cursor/mcp.json, AGENTS.md, BUGBOT.md

Cursor에는 도구 슬롯 제한이 있습니다. MIRDAN_TOOL_BUDGET을 설정하여 노출할 도구를 제어하세요 (2 = 검증 전용, 5+ = 모든 도구).

Claude Desktop / 모든 MCP 클라이언트

MCP 설정에 다음을 추가하세요:

{
  "mcpServers": {
    "mirdan": {
      "command": "uvx",
      "args": ["mirdan"]
    }
  }
}

기업 네트워크 (Netskope, Zscaler, Artifactory 프록시): SSL 및 모델 다운로드를 위한 환경 변수를 전달하세요:

{
  "mcpServers": {
    "mirdan": {
      "command": "uvx",
      "args": ["mirdan"],
      "env": {
        "MIRDAN_HF_ENDPOINT": "https://artifactory.corp.com/hf",
        "MIRDAN_HF_TOKEN": "your-artifactory-token",
        "MIRDAN_SSL_CERT_FILE": "/path/to/corporate-ca-bundle.crt"
      }
    }
  }
}

엔터프라이즈 배포

관리형 설정을 통한 조직 전체 강제 적용:

macOS: /Library/Application Support/ClaudeCode/managed-mcp.json Linux: /etc/claude-code/managed-mcp.json

{
  "mcpServers": {
    "mirdan": {
      "command": "uvx",
      "args": ["mirdan"]
    }
  }
}

CI/CD 통합

GitHub Actions

.github/workflows/mirdan.yml에 다음 워크플로우를 추가하세요:

name: Mirdan Quality Gate
on: [pull_request]

jobs:
  quality:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: astral-sh/setup-uv@v4
      - run: uv tool install mirdan
      - run: mirdan gate

GitHub 코드 스캔을 위한 SARIF 내보내기

- run: mirdan export --format sarif > results.sarif
- uses: github/codeql-action/upload-sarif@v3
  with:
    sarif_file: results.sarif

Pre

Install Server
A
security – no known vulnerabilities
F
license - not found
A
quality - A tier

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/S-Corkum/mirdan'

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