Mirdan
Mirdan
Оркестратор качества ИИ-кода — экономит 30-45% ваших платных токенов на ИИ-кодинг за счет запуска локального уровня интеллекта, который берет на себя сортировку, линтинг, проверку типов, запуск тестов и валидацию, позволяя дорогим моделям, таким как Claude Opus, сосредоточиться на написании кода.
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. Запускается на ноутбуках с 16 ГБ ОЗУ. Все данные остаются локально.
Локальный уровень интеллекта (новое в версии 2.0)
Mirdan 2.0 перекладывает рутинную работу на небольшую локальную модель (Gemma 4), работающую на вашем компьютере. Платная модель фокусируется исключительно на сложных рассуждениях и написании кода.
Перед написанием кода:
Сортировка (Triage) — классифицирует задачи. Тривиальные задачи (исправление импорта, форматирование файла) никогда не доходят до платной модели. Ноль потраченных токенов.
Исследование (Research) — собирает контекст кодовой базы, документацию библиотек и проектные соглашения локально (только для систем с 64 ГБ+ ОЗУ).
После написания кода:
Запуск проверок (Check Runner) — локально запускает ruff, mypy, pytest. LLM анализирует вывод, автоматически исправляет линтинг и сообщает только о сложных сбоях.
Умная валидация (Smart Validation) — 64 правила качества + фильтрация ложноположительных срабатываний с помощью LLM, группировка первопричин и предложения по исправлению.
Автоисправление (Auto-Fix) —
mirdan check --smart --fixприменяет сгенерированные LLM исправления (поиск/замена) с последующей верификацией.
Оборудование | Что запускается | Экономия токенов |
Ноутбук 16 ГБ | Gemma 4 E4B Q3 — сортировка, проверки, валидация, автоисправление | 30-45% |
32 ГБ | Gemma 4 E4B Q3 — те же функции, больше свободного места | 35-50% |
64 ГБ+ 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?
ИИ-ассистенты пишут код быстро, но без ограничений они создают мусор: захардкоженные секреты, SQL-инъекции, функции-заглушки, несуществующие импорты, пустые блоки except и код, который выглядит правильно, но не работает в продакшене.
Mirdan исправляет это, перехватывая ваш рабочий процесс с ИИ в двух точках:
Перед написанием кода —
enhance_promptобогащает вашу задачу требованиями к качеству, ограничениями безопасности и стандартами конкретного фреймворка, чтобы ИИ с самого начала создавал лучший код.После написания кода —
validate_code_qualityловит то, что проскользнуло: 64 правила, охватывающие уязвимости безопасности, антипаттерны, специфичные для ИИ, и лучшие практики языка.
После установки он работает незаметно через хуки IDE. Вы просто пишете код как обычно.
Что он находит
Вот что 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 из них.
Что он добавляет в ваши промпты
Когда вы просите ИИ-ассистента «Создать эндпоинт аутентификации пользователя в FastAPI с JWT-токенами», enhance_prompt от mirdan обнаруживает, что это касается безопасности, и внедряет:
Стандарты фреймворка: «Используйте
Depends()сAnnotatedдля типобезопасного внедрения зависимостей»Ограничения безопасности: «Проверьте, что секреты или учетные данные не захардкожены»
Требования к качеству: «Используйте модели Pydantic для всех тел запросов и схем ответов»
Шаги верификации: «Убедитесь, что обработка ошибок охватывает все асинхронные операции»
ИИ получает структурированное руководство вместо пустого промпта, создавая лучший код с первой попытки.
Быстрый старт
Установка
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 автоматически:
Обогащает промпты требованиями к качеству перед выполнением задач по кодингу
Валидирует код на соответствие правилам безопасности и качества после каждого редактирования
Запускает финальный контроль качества перед завершением задачи
Использование из командной строки
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-сервер — он подключается к ИИ-ассистентам (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 поставляется с 64 правилами в 10 категориях. Внешние сервисы не требуются — все правила работают локально.
Качество ИИ (AI001–AI008)
Правила, которые ловят паттерны, уникальные для кода, сгенерированного ИИ:
Правило | Что ловит |
AI001 | Код-заглушка — |
AI002 | Несуществующие импорты — пакеты, которых нет в стандартной библиотеке или зависимостях проекта |
AI003 | Избыточное проектирование — ненужные абстракции для простых операций |
AI004 | Дублирующиеся блоки кода |
AI005 | Непоследовательные паттерны обработки ошибок |
AI006 | Ненужные тяжелые импорты при наличии легких альтернатив |
AI007 | Имитация безопасности — паттерны, которые выглядят безопасными, но не обеспечивают защиты |
AI008 | Инъекции через f-строки — SQL, eval, exec, os.system с интерполяцией |
Безопасность (SEC001–SEC014)
Правило | Что ловит |
SEC001–003 | Захардкоженные секреты — API-ключи, пароли, ключи AWS |
SEC004–006 | SQL-инъекции — конкатенация строк, f-строки, шаблонные литералы |
SEC007 | Отключенная проверка SSL/TLS |
SEC008–009 | Инъекция команд оболочки через форматирование строк |
SEC010 | Отключенная проверка JWT |
SEC011–013 | Инъекция в графовые базы данных — Neo4j Cypher, Gremlin |
SEC014 | Уязвимые зависимости — пакеты с известными CVE |
Специфичные для языка
Язык | Правила | Ключевые проверки |
Python | PY001–PY015 | eval/exec, пустой except, изменяемые значения по умолчанию, устаревшая типизация, небезопасный pickle/yaml, subprocess shell, мертвые импорты, недостижимый код |
JavaScript | JS001–JS005 |
|
TypeScript | TS001–TS005 | eval, конструктор Function, @ts-ignore, |
Go | GO001–GO003 | Игнорируемые ошибки, panic(), SQL через fmt.Sprintf |
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 обнаруживает фреймворк, он внедряет специфичные для него требования к качеству (например, «Используйте Depends() с Annotated» для FastAPI, «Предпочитайте серверные компоненты» для Next.js).
Профили качества
Профили настраивают уровни контроля по 8 измерениям. Выберите тот, который соответствует вашему проекту:
Профиль | Безопасность | Архитектура | Тестирование | ИИ-мусор | Безопасность зависимостей | Лучше всего для |
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)Навыки —
.cursor/skills/*/SKILL.md, следующие стандарту навыков агентов (code, debug, review, plan, quality, scan, gate)Команды —
.cursor/commands/*.mdслэш-команды (/code,/debug,/review,/plan,/quality,/scan,/gate)Окружение —
.cursor/environment.jsonдля сред Cloud AgentКонфигурация —
.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-m
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