AI代码质量检测工具

Mirdan是一款本地运行的AI代码质量检测工具,提供64条安全与质量规则、AI代码检测器及无LLM计划验证器,适用于Claude Code和Cursor等AI编程助手。

  • by S-Corkum
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 S-Corkum/mirdan

使用说明

米尔丹

AI代码质量编排器-- 确定性质量实施与Haiku证明规划 Claude Code和Cursor。64条安全和质量规则、一个AI漏洞检测器和一个无LLM计划验证器作为零令牌挂钩在本地运行,因此廉价的模型可以在不产生漏洞的情况下进行规划和构建。

uv tool install mirdan                  # Install mirdan
mirdan init --claude-code               # or --cursor
# Done. Quality enforcement is now automatic.

使用 克劳德代码, 光标IDE,以及 光标CLI.确定性检查-一切都保持本地,没有外部API调用。


规划管道——俳句验证图

Mirdan的规划工作流程是 平坦、接地、设计优先 --没有内裤,就没有生意 仪式。计划是研究笔记→ 低层次设计→ 基于原子的步骤,格式如此 便宜的型号可以冷执行 并在实施之前进行机械验证。

这是2.3.0(克劳德代码)和2.4.0(游标)重新排列的核心。两位编辑现已发货 本地计划模式 用坚固的模型计划,用廉价的模型建造 --克劳德代码 opusplan (Opus计划,Sonnet/Haiku构建),Cursor的跨模型计划模式(用Haiku构建/ 作曲家)。米尔丹提供了安全的东西:一种廉价的执行者不会产生幻觉的计划格式 针对LLM验证器,加上确定性的LLM验证器。

/plan <slug> <description>     → flat grounded plan (format_version 2) with a Low-Level Design
/plan-verify <plan-path>       → mechanical self-check (local, deterministic, no LLM)
/plan-review --stakes high <p> → escape hatch: model-judgment review on the shared rubric

Haiku证明格式(format_version: 2)

每 Action: Edit step带有文字 anchor/replace 配对——确切的存在 文本及其替换——因此,廉价的构建模型将其作为查找和替换来应用,而不是 猜测。锚必须 独特 在目标文件中;决策是 预先解决 (没有 “待定”/“稍后决定”);步骤是原子性的。标记了一个无法锚定的判断步骤 [target: capable] 并计数——因此,一个并非完全冷可执行的俳句目标计划就是这么说的。 在克劳德代码中,格式存在于 /plan 技能;在Cursor上,它位于所请求的代理中 mirdan-planning.mdc 本机计划模式读取的规则。

什么 /plan-verify 捕获量(确定性、局部、无LLM)

  • phantom_files --一步 **File:** 指向一条不存在的路径
  • dependency_errors — **Depends On:** 参考缺失的步骤或循环
  • vague_cross_references --“如前所述”、“见上文”——读者无法理解
  • missing_grounding --缺少文件/操作/详细信息/验证/接地步骤
  • missing_edit_anchors --一个编辑步骤,没有 anchor/replace 对
  • anchor_uniqueness_errors --找不到锚点,或与文件中的多个位置匹配
  • atomicity_violations --每个步骤有多个文件/操作,或复合“然后”步骤
  • unresolved_decisions --“待定”/要么/“稍后决定”留在计划中
  • lld_gaps (咨询) [EXISTING] 没有引用的界面,或 [NEW] 无步骤创建

这 低级设计 部分是工程物质的栖息地——接口和签名 (每个标签 [NEW]/[EXISTING] 带着一个 file:line 引文)、错误分类和设计 决策浮出水面 enhance_prompt.各小节都有适用性限制——只有在以下情况下才能包含一个小节 适用,无需填写“填写每个标题”。

MCP工具

工具 退货
verify_plan(plan_path) {verified, coverage_score, format_version, phantom_files, dependency_errors, vague_cross_references, missing_grounding, missing_edit_anchors, anchor_uniqueness_errors, atomicity_violations, unresolved_decisions, capable_steps, lld_gaps, summary}

确定性+内容,而非局部模型(2.3.0)

当地法学硕士“情报层”(Gemma通过Ollama/llama cpp)是 在2.3.0中删除. 米尔丹现在 确定性检查+固执己见的内容 --快速、轻松、完全 本地(无模型下载,无外部调用)。这 智能 来自你的编码 助理自己的模型;米尔丹供应他们所缺乏的东西 利用它们的原生机制 (Claude Code 2.x和Cursor 2.x计划模式、子代理、命令挂钩、规则/技能)而不是 重新实施它们:无LLM计划验证器、Haiku证明计划格式、计划审查量规, 人工智能斜坡规则集和精心策划的质量标准。


为什么是米尔丹?

AI编码助手生成代码很快,但没有护栏 污水:硬编码的秘密、SQL注入、占位符函数、幻觉导入、裸露的异常块,以及看似正确但在生产中失败的代码。

Mirdan通过在两点拦截你的AI工作流程来解决这个问题:

  1. 编码前 — enhance_prompt 通过质量要求、安全约束和特定于框架的标准丰富您的任务,以便AI从一开始就生成更好的代码
  2. 编码后 — validate_code_quality 抓住漏洞:涵盖安全漏洞、特定于AI的反模式和语言最佳实践的64条规则

一旦安装,它就会通过IDE挂钩隐形运行。你只是正常地编码。

它捕获了什么

以下是mirdan在典型AI生成代码的单个函数上标记的内容:

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令牌创建用户身份验证端点”时,mirdan enhance_prompt 检测到这会触及安全并注入:

  • 框架标准: “使用 Depends() 和 Annotated 用于类型安全依赖注入”
  • 安全约束: “检查是否没有硬编码机密或凭据”
  • 质量要求: “对所有请求体和响应模式使用Pydantic模型”
  • 验证步骤: “确保错误处理涵盖所有异步操作”

AI会得到结构化的指导,而不是简单的提示,在第一次尝试时就能生成更好的代码。


快速开始

安装

uv tool install mirdan                   # Install mirdan

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

# 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服务器配置、命令类型质量挂钩、规则文件、技能和代理定义。初始化后,IDE会自动:

  1. 根据安全+质量规则(PostToolUse钩子,零模型令牌)验证每个编辑的文件
  2. 在回合/任务完成之前运行最终质量门(停止/任务完成挂钩)
  3. 展示规则、技能(/plan, /code),并选择加入 enhance_prompt 对于非琐碎的工作

从命令行使用

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                           # Run lint + typecheck + test
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

运作原理

米尔丹是一个 MCP服务器 --它连接到AI编码助手(Claude Code、Cursor、Claude Desktop或任何MCP客户端),并提供质量执行工具。

┌──────────────────────────────────────────────────┐
│  Your AI Assistant (Claude Code / Cursor / etc)  │
│                                                  │
│  1. You type a coding task                       │
│  2. AI generates code                            │
│  3. PostToolUse hook validates the edited file   │
│  4. AI fixes the flagged issues                  │
│  5. Stop hook runs the quality gate → complete   │
└──────────────────────────────────────────────────┘
         │                        ▲
         ▼                        │
┌──────────────────────────────────────────────────┐
│  Mirdan MCP Server (deterministic + content)     │
│                                                  │
│  MCP Tools:                                       │
│  enhance_prompt         → Quality requirements   │
│  validate_code_quality  → 64 deterministic rules │
│  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   │
│  verify_plan            → No-LLM plan verifier   │
└──────────────────────────────────────────────────┘

验证规则

Mirdan船与 64条规则 横跨10个类别。不需要外部服务——所有规则都在本地运行。

AI质量(AI001–AI008)

捕获AI生成代码特有模式的规则:

规则 它捕获了什么
AI001 占位符代码-- raise NotImplementedError, pass 使用TODO(跳过 @abstractmethod)
AI002 幻觉导入——不在stdlib或项目依赖关系中的包
AI003 过度工程化——简单操作的不必要抽象
AI004 重复代码块
AI005 错误处理模式不一致
AI006 在存在较轻替代品的情况下,不必要的重型进口
AI007 安全剧场——看似安全但无法提供保护的模式
AI008 通过f字符串注入——SQL、eval、exec、os.system插值

安全(SEC001–SEC014)

规则 它捕获了什么
SEC001–003 硬编码机密-API密钥、密码、AWS密钥
SEC004–006 SQL注入--字符串concat、f-string、模板文本
SEC007 SSL/TLS验证已禁用
SEC008–009 通过字符串格式注入Shell命令
SEC010 JWT验证已禁用
SEC011–013 图形数据库注入——Neo4j Cypher、Gremlin
SEC014 易受攻击的依赖关系——具有已知CVE的包

特定语言的

语言 规则 关键检查
Python PY001–PY015 eval/exec,裸机除外,可变默认值,弃用类型,不安全的pickle/yaml,子进程shell,死导入,无法访问的代码
JavaScript JS001–JS005 var、eval、document.write、innerHTML、child_process.exec
TypeScript TS001–TS005 eval,函数构造函数,@ts忽略, as any,innerHTML
Go GO001–GO003 通过fmt忽略错误、panic()、SQL。Sprintf
Java JV001–JV007 字符串==,通用异常,System.exit,Runtime.exec,不安全的反序列化
Rust RS001–RS002 .unwrap(),空.expect()

加 001年3月至003年3月 / 沙皇001–004 (函数长度、文件长度、嵌套深度、缺少返回类型), RAG001–002 (块重叠,已弃用的加载器)。

Python规则PY001–PY004的使用 基于AST的验证 --消除字符串和注释中的误报。当 mirdan[ast] 安装后,Types/JavaScript架构检查使用情况 树保姆 用于精确的函数长度、嵌套深度和返回类型分析。

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、Converx、Pinecone、Qdrant、Milvus、Weaviate、ChromaDB、FAISS、LangChain、LangGraph、CrewAI、DSPy、tRPC

当 enhance_prompt 检测框架,它注入框架特定的质量要求(例如,“使用 Depends() 和 Annotated对于FastAPI,“首选服务器组件”对于Next.js)。


质量配置文件

配置文件在8个维度上调整执行级别。选择一个与您的项目相匹配的:

配置文件 安全性 架构 测试 AI斜率 Dep安全性 最适合
默认 0.7 0.5 0.7 0.7 0.7 0.7
初创公司 0.7 0.3 0.5 0.8 0.5 带着安全网快速行动
企业 1.0 0.9 0.9 1.0 1.0 生产企业代码
金融科技 1.0 0.8 1.0 1.0 1.0 财务等级正确性
图书馆 0.8 0.9 0.9 0.8 0.8 公共API和包
数据科学 0.7 0.3 0.5 0.6 0.5 数据安全探索
原型 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集成

克劳德代码

mirdan init --claude-code

生成 .mcp.json,命令型钩子,规则,4种技能(/code, /plan, /plan-review, /plan-verify)以及3名代理人(质量门、安全审计、计划审查员)。

钩子是 命令类型 --确定性外壳检查在模型上下文之外运行(零模型令牌),并在失败时阻止:

钩子 奔跑
PostToolUse 验证刚刚编辑的文件(mirdan validate --quick --scope security)
停止 转弯完成前,对分段/变更组进行质量检查
TaskCompleted 任务完成时的最终验证门

质量指导(AI/SEC规则、规划格式) .claude/rules/ 以及技能,而不是象征性的消费。 enhance_prompt 选择加入——建议在安全敏感、多文件或新库工作之前加入; validate_code_quality 写作后,必须遵守规定。

光标

mirdan init --cursor

生成完整的Cursor 2.x集成:

  • 规则 — .cursor/rules/*.mdc (始终在线、安全、计划、计划审查、计划验证、代理、特定语言)—— mirdan-planning.mdc 规则携带本地plan Mode读取的Haiku证明计划格式
  • 钩子 — .cursor/hooks.json 具有零令牌命令类型挂钩(编辑时验证、shell保护、停止时分阶段验证), .cursor/hooks/*.sh 脚本
  • 子代理 — .cursor/agents/*.md (质量验证器、安全扫描器、计划审查员)
  • 技能 — .cursor/skills/*/SKILL.md 跟随 代理技能标准 (代码、计划审查)
  • 命令 — .cursor/commands/*.md 斜线命令(/code, /plan, /plan-verify, /plan-review, /automations)
  • 环境 — .cursor/environment.json 适用于云代理环境
  • 配置 — .cursor/mcp.json, AGENTS.md, BUGBOT.md

光标有工具槽限制。集 MIRDAN_TOOL_BUDGET 控制暴露哪些工具(2=仅验证,5+=所有工具)。

克劳德桌面/任何MCP客户端

添加到MCP配置中:

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

企业部署

对于通过托管配置在整个组织范围内执行:

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

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

CI/CD集成

GitHub 操作

将此工作流添加到 .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

SARIF导出用于GitHub代码扫描

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

预提交钩子

# .pre-commit-config.yaml
repos:
  - repo: local
    hooks:
      - id: mirdan
        name: mirdan quality gate
        entry: mirdan validate --staged --quick
        language: system
        types: [python]

质量徽章

mirdan export --format badge > .mirdan/badge.json

配置

mirdan init 生成 .mirdan/config.yaml.关键部分:

version: "1.0"

project:
  name: "MyApp"
  primary_language: "python"
  frameworks: ["fastapi", "react"]

# Quality enforcement levels
quality:
  security: "strict"           # strict|moderate|permissive
  architecture: "moderate"
  documentation: "moderate"
  testing: "strict"

# Or use a named profile (overrides quality section)
quality_profile: "default"

# Semantic validation and dependency scanning
semantic:
  enabled: true
  analysis_protocol: "security"  # none|security|comprehensive

dependencies:
  enabled: true
  osv_cache_ttl: 86400           # 24 hours
  scan_on_gate: true
  fail_on_severity: "high"       # critical|high|medium|low|none

# Score thresholds
thresholds:
  severity_error_weight: 0.25
  severity_warning_weight: 0.08
  arch_max_function_length: 30
  arch_max_file_length: 300
  # Per-file threshold overrides (glob patterns)
  file_overrides:
    - pattern: "tests/**"
      arch_max_function_length: 60
    - pattern: "scripts/**"
      arch_max_file_length: 500

# Hook behavior
hooks:
  enabled_events: ["PostToolUse", "Stop"]
  quick_validate_timeout: 5000
  auto_fix_suggestions: true

高级功能

基于AST的验证

Python规则PY001–PY004通过 ast 模块,消除字符串中eval/exec的误报、注释中的空异常等。另外两条AST规则:

  • 第014页 (死导入)--检测未使用的导入,尊重 TYPE_CHECKING 阻碍, __all__,以及别名导入
  • 2015年4月 (无法访问的代码)--检测以下代码 return/raise/break/continue,跳过 finally 块

对于Types/JavaScript,安装可选 ast 额外启用树保姆解析:

uv tool install 'mirdan[ast]'

这提供了精确的函数长度、嵌套深度和缺失返回类型检测,而不是正则表达式近似。当未安装树保姆时,优雅地回退到正则表达式。

完整文件差异验证

验证差异时(通过钩子或 validate_code_quality 和 input_type="diff"),mirdan在可用时从磁盘读取完整文件。这允许进行需要完整文件上下文的架构检查(函数长度、嵌套深度)。违规仅过滤到更改的行,文件范围规则(文件太长)从差异结果中排除。

自适应文件路径阈值

使用以下命令覆盖特定文件模式的阈值 file_overrides 在您的配置中:

thresholds:
  arch_max_function_length: 30
  file_overrides:
    - pattern: "tests/**"
      arch_max_function_length: 60    # Tests can be longer
    - pattern: "migrations/**"
      arch_max_file_length: 1000      # Migration files are naturally long

模式使用glob语法,并与文件路径匹配。覆盖仅替换它们指定的字段——所有其他阈值都继承自基本配置。

会议发现

扫描您的代码库以发现隐式模式并生成自定义规则:

mirdan init --learn              # During init
mirdan scan --directory src/     # Standalone

发现命名模式、导入样式、文档字符串约定和重复模式。生成 .mirdan/rules/conventions.yaml 根据项目特定规则。

依赖漏洞扫描

检查与的依赖关系 OSV数据库 (免费,不需要API密钥):

mirdan scan --dependencies                # Standalone scan
mirdan gate --include-dependencies        # Quality gate + vuln check

支持PyPI、npm、crates.io、Go和Maven。结果将缓存24小时。导入包中的漏洞会在代码验证期间触发SEC014违规。

语义验证

validate_code_quality 回报 semantic_checks --由代码模式(SQL查询、身份验证逻辑、加密操作、文件I/O)生成的有针对性的审查问题。这些指导人工智能调查具体问题,而不是进行浅层模式匹配。对于安全关键代码 analysis_protocol 提供结构化的深度分析步骤。

质量预测

get_quality_trends 分析验证历史以跟踪随时间变化的分数,预测轨迹,检测会话之间的回归,并计算通过率。

会话跟踪和反馈循环

每 enhance_prompt 呼叫返回a session_id。将其传递给 validate_code_quality 在整个任务生命周期中跟踪质量。将其传递回 enhance_prompt 在下一次呼叫关闭反馈循环时:

enhance_prompt(task)                   → session_id, enhanced_prompt
  ↓ implement code
validate_code_quality(code, session_id) → violations, session_context
  ↓ fix issues, iterate
enhance_prompt(task, session_id=...)   → persistent violations injected
                                          as priority quality requirements

当违规在两个或多个连续验证中重复出现时,mirdan会将其作为优先级显示出来 quality_requirement 在下一个增强的提示中,确保人工智能解决根本原因,而不是在破碎的基础上添加新代码。

多智能体协调

钩子配置为自主代理(光标背景代理、克劳德代码子代理)提供了护栏,确保了在没有人为监督的情况下执行质量。

跨项目情报

当与 恩亚尔 (持久知识图MCP),mirdan将项目约定存储为知识条目,并在项目之间调用模式。

升级

uv tool upgrade mirdan     # Upgrade to latest version
mirdan init --upgrade      # Regenerate IDE integration files

uv tool upgrade 更新包。 mirdan init --upgrade 将新配置字段合并到现有配置字段中 .mirdan/config.yaml,重新生成集成文件,并保留您的自定义设置。


MCP工具参考

enhance_prompt

编码任务的入口点。用质量要求、安全约束和工具建议丰富提示。

Parameters:
  prompt (required)     — The coding task description
  task_type             — generation|refactor|debug|review|test|planning|auto
  context_level         — minimal|auto|comprehensive
  max_tokens            — Token budget (0=unlimited)
  model_tier            — auto|opus|sonnet|haiku
  session_id            — Resume an existing session to thread validation
                          feedback into this prompt. Persistent violations
                          from prior validate_code_quality calls are injected
                          as priority quality requirements.

Returns:
  enhanced_prompt       — Enriched prompt with quality guidance
  detected_language     — Primary language detected
  detected_frameworks   — Frameworks to query docs for
  task_type             — Primary detected task type
  task_types            — All detected task types (compound detection). A
                          prompt like "add tests for the new feature" returns
                          ["test", "generation"] and unions verification steps
                          from both types.
  touches_security      — Whether task involves security-sensitive code
  quality_requirements  — Constraints to follow during implementation
  verification_steps    — Checklist before marking complete. Compressed to a
                          single re-validation step when a prior session passed,
                          reducing context waste on iterative work.
  tool_recommendations  — Which MCPs to call for context. Session-aware:
                          targets enyal recall to failure patterns on re-calls
                          with errors; suppresses redundant recalls after a pass.

validate_code_quality

出口门——根据质量标准验证代码。返回分数、违规和语义审查问题。

Parameters:
  code (required)       — Code to validate
  language              — python|typescript|javascript|rust|go|java|auto
  check_security        — Enable security rules (default: true)
  check_architecture    — Enable architecture rules (default: true)
  check_style           — Enable style rules (default: true)
  severity_threshold    — error|warning|info
  input_type            — code|diff|compare
  session_id            — Session ID from enhance_prompt

Returns:
  passed                — Whether validation passed
  score                 — Quality score (0.0–1.0)
  violations            — List of rule violations with details. Each violation
                          includes verifiable: false when the check is
                          pattern-based (AI001–AI008) rather than AST-verified,
                          so the AI knows to confirm semantically before fixing.
  semantic_checks       — Targeted review questions from code patterns
  summary               — Human-readable summary

validate_quick

钩子集成的快速安全验证(<500ms)。运行SEC001–SEC014、AI001和AI008。

get_quality_标准

查找语言/框架组合的质量标准。

get_quality_trends

验证历史中的质量分数趋势和预测。

扫描依赖性

通过OSV数据库扫描项目依赖关系以查找已知漏洞。

scan_惯例

发现隐式代码库约定并生成自定义规则。


CLI参考

命令 目的
mirdan serve 启动MCP服务器(默认)
mirdan init 初始化项目——生成配置、钩子、规则、IDE集成
mirdan validate 验证代码质量(--file, --staged, --stdin, --diff, --quick)
mirdan gate CI/CD质量门(--include-dependencies 用于vuln检查)
mirdan fix 自动修复违规行为(--dry-run, --auto, --staged)
mirdan check 运行lint+类型检查+测试
mirdan scan 发现惯例(--directory)或扫描deps(--dependencies)
mirdan profile 管理质量档案(list, suggest, apply)
mirdan export 导出结果(--format sarif|badge|json)
mirdan report 质量报告(--session, --compact-state, --format)
mirdan standards 查看语言的质量标准
mirdan checklist 查看任务类型的验证清单
mirdan plugin 插件导出用于独立分发

故障排除

服务器未连接

  1. 检查uvx是否可用: uvx --version
  2. 手动测试服务器: uvx mirdan (应该开始时没有错误)
  3. 检查克劳德代码中的状态: /mcp

调试日志

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

常见问题

问题 解决方案
command not found: uvx 安装紫外线: curl -LsSf https://astral.sh/uv/install.sh | sh
command not found: mirdan uv tool install mirdan
服务器已启动,但未显示任何工具 配置更改后重新启动IDE
Python版本错误 确保安装了Python 3.11+
钩未射击 检查钩的严格程度——MINIMAL仅在2个事件中射击
工具预算限制工具 设置 MIRDAN_TOOL_BUDGET=5 或删除env变量

发展

git clone https://github.com/S-Corkum/mirdan.git
cd mirdan
uv sync --all-extras         # Includes tree-sitter for TS/JS AST
uv run pytest                # 3050+ tests
uv run mirdan                # Run server locally

许可证

麻省理工学院