{
  "schema_version": "7",
  "summary_columns": [
    "tool",
    "type",
    "required",
    "dependency",
    "host_config",
    "project_bootstrap",
    "result",
    "next_action"
  ],
  "external_dependencies": [
    {
      "id": "codegraph",
      "ecosystem": "npm",
      "package": "@colbymchenry/codegraph",
      "version": "1.2.0",
      "command": "codegraph"
    },
    {
      "id": "graphify",
      "ecosystem": "npm",
      "package": "@sentropic/graphify",
      "version": "0.17.1",
      "command": "graphify"
    }
  ],
  "tools": [
    {
      "id": "sequential-thinking",
      "name": "Sequential Thinking",
      "summary_label": "Sequential Thinking",
      "required": true,
      "category": "mcp",
      "host_config_required": true,
      "description": "动态反思性问题解决，spec-first 全工作流通用依赖",
      "dependencies": [
        "node",
        "npx"
      ],
      "installation": {
        "kind": "warmup",
        "unix": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-sequential-thinking@latest",
            "--help"
          ]
        },
        "windows": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-sequential-thinking@latest",
            "--help"
          ]
        }
      },
      "host_config": {
        "claude": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-sequential-thinking@latest"
          ],
          "scope": "managed",
          "targets": {
            "managed": {
              "config_path": {
                "macos": "/Library/Application Support/ClaudeCode/managed-mcp.json",
                "linux": "/etc/claude-code/managed-mcp.json",
                "wsl": "/etc/claude-code/managed-mcp.json",
                "windows": "C:\\Program Files\\ClaudeCode\\managed-mcp.json"
              },
              "config_format": "json",
              "precedence": 100,
              "writable_check": "parent-or-file"
            },
            "user": {
              "config_path": "$HOME/.claude.json",
              "config_format": "json",
              "precedence": 10,
              "writable_check": "parent-or-file"
            }
          },
          "fallback_order": [
            "managed",
            "user"
          ],
          "uninstall_targets": [
            "managed",
            "user"
          ]
        },
        "codex": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-sequential-thinking@latest"
          ],
          "scope": "user",
          "targets": {
            "user": {
              "config_path": "$HOME/.codex/config.toml",
              "config_format": "toml",
              "precedence": 50,
              "writable_check": "parent-or-file"
            },
            "system": {
              "config_path": "/etc/codex/config.toml",
              "config_format": "toml",
              "precedence": 100,
              "writable_check": "file-only"
            }
          },
          "fallback_order": [
            "user"
          ],
          "uninstall_targets": [
            "user",
            "system"
          ]
        },
        "kiro": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-sequential-thinking@latest"
          ],
          "scope": "workspace",
          "targets": {
            "workspace": {
              "config_path": ".kiro/settings/mcp.json",
              "config_format": "json",
              "precedence": 50,
              "writable_check": "parent-or-file"
            },
            "user": {
              "config_path": "$HOME/.kiro/settings/mcp.json",
              "config_format": "json",
              "precedence": 100,
              "writable_check": "parent-or-file",
              "requires_user_scope_opt_in": true
            }
          },
          "fallback_order": [
            "workspace"
          ],
          "uninstall_targets": [
            "workspace",
            "user"
          ]
        },
        "qoder": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-sequential-thinking@latest"
          ],
          "scope": "local",
          "targets": {
            "local": {
              "config_path": ".qoder/settings.local.json",
              "config_format": "json",
              "precedence": 50,
              "writable_check": "parent-or-file"
            },
            "user": {
              "config_path": "$HOME/.qoder/settings.json",
              "config_format": "json",
              "precedence": 100,
              "writable_check": "parent-or-file",
              "requires_user_scope_opt_in": true
            }
          },
          "fallback_order": [
            "local"
          ],
          "uninstall_targets": [
            "local",
            "user"
          ]
        },
        "cursor": {
          "type": "stdio",
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-sequential-thinking@latest"
          ],
          "scope": "project",
          "targets": {
            "project": {
              "config_path": ".cursor/mcp.json",
              "config_format": "json",
              "precedence": 50,
              "writable_check": "parent-or-file"
            },
            "user": {
              "config_path": "$HOME/.cursor/mcp.json",
              "config_format": "json",
              "precedence": 100,
              "writable_check": "parent-or-file",
              "requires_user_scope_opt_in": true
            }
          },
          "fallback_order": [
            "project"
          ],
          "uninstall_targets": [
            "project",
            "user"
          ]
        }
      },
      "detection": {
        "kind": "host_config_exact",
        "key": "sequential-thinking"
      },
      "project_bootstrap": {
        "kind": "none",
        "required": false
      }
    },
    {
      "id": "context7",
      "name": "Context7",
      "summary_label": "Context7",
      "required": true,
      "category": "mcp",
      "host_config_required": true,
      "description": "最新框架文档查询，spec-first 全工作流通用依赖",
      "dependencies": [
        "node",
        "npx"
      ],
      "installation": {
        "kind": "warmup",
        "unix": {
          "command": "npx",
          "args": [
            "-y",
            "@upstash/context7-mcp@latest",
            "--help"
          ]
        },
        "windows": {
          "command": "npx",
          "args": [
            "-y",
            "@upstash/context7-mcp@latest",
            "--help"
          ]
        }
      },
      "host_config": {
        "claude": {
          "command": "npx",
          "args": [
            "-y",
            "@upstash/context7-mcp@latest"
          ],
          "scope": "managed",
          "targets": {
            "managed": {
              "config_path": {
                "macos": "/Library/Application Support/ClaudeCode/managed-mcp.json",
                "linux": "/etc/claude-code/managed-mcp.json",
                "wsl": "/etc/claude-code/managed-mcp.json",
                "windows": "C:\\Program Files\\ClaudeCode\\managed-mcp.json"
              },
              "config_format": "json",
              "precedence": 100,
              "writable_check": "parent-or-file"
            },
            "user": {
              "config_path": "$HOME/.claude.json",
              "config_format": "json",
              "precedence": 10,
              "writable_check": "parent-or-file"
            }
          },
          "fallback_order": [
            "managed",
            "user"
          ],
          "uninstall_targets": [
            "managed",
            "user"
          ]
        },
        "codex": {
          "command": "npx",
          "args": [
            "-y",
            "@upstash/context7-mcp@latest"
          ],
          "scope": "user",
          "targets": {
            "user": {
              "config_path": "$HOME/.codex/config.toml",
              "config_format": "toml",
              "precedence": 50,
              "writable_check": "parent-or-file"
            },
            "system": {
              "config_path": "/etc/codex/config.toml",
              "config_format": "toml",
              "precedence": 100,
              "writable_check": "file-only"
            }
          },
          "fallback_order": [
            "user"
          ],
          "uninstall_targets": [
            "user",
            "system"
          ]
        },
        "kiro": {
          "command": "npx",
          "args": [
            "-y",
            "@upstash/context7-mcp@latest"
          ],
          "scope": "workspace",
          "targets": {
            "workspace": {
              "config_path": ".kiro/settings/mcp.json",
              "config_format": "json",
              "precedence": 50,
              "writable_check": "parent-or-file"
            },
            "user": {
              "config_path": "$HOME/.kiro/settings/mcp.json",
              "config_format": "json",
              "precedence": 100,
              "writable_check": "parent-or-file",
              "requires_user_scope_opt_in": true
            }
          },
          "fallback_order": [
            "workspace"
          ],
          "uninstall_targets": [
            "workspace",
            "user"
          ]
        },
        "qoder": {
          "command": "npx",
          "args": [
            "-y",
            "@upstash/context7-mcp@latest"
          ],
          "scope": "local",
          "targets": {
            "local": {
              "config_path": ".qoder/settings.local.json",
              "config_format": "json",
              "precedence": 50,
              "writable_check": "parent-or-file"
            },
            "user": {
              "config_path": "$HOME/.qoder/settings.json",
              "config_format": "json",
              "precedence": 100,
              "writable_check": "parent-or-file",
              "requires_user_scope_opt_in": true
            }
          },
          "fallback_order": [
            "local"
          ],
          "uninstall_targets": [
            "local",
            "user"
          ]
        },
        "cursor": {
          "type": "stdio",
          "command": "npx",
          "args": [
            "-y",
            "@upstash/context7-mcp@latest"
          ],
          "scope": "project",
          "targets": {
            "project": {
              "config_path": ".cursor/mcp.json",
              "config_format": "json",
              "precedence": 50,
              "writable_check": "parent-or-file"
            },
            "user": {
              "config_path": "$HOME/.cursor/mcp.json",
              "config_format": "json",
              "precedence": 100,
              "writable_check": "parent-or-file",
              "requires_user_scope_opt_in": true
            }
          },
          "fallback_order": [
            "project"
          ],
          "uninstall_targets": [
            "project",
            "user"
          ]
        }
      },
      "detection": {
        "kind": "host_config_exact",
        "key": "context7"
      },
      "project_bootstrap": {
        "kind": "none",
        "required": false
      }
    },
    {
      "id": "codegraph",
      "name": "CodeGraph",
      "summary_label": "CodeGraph",
      "required": false,
      "opt_in": {
        "explicit_consent_required": true,
        "consent_surface": "--only codegraph",
        "state_model": "stateless-explicit-rerun"
      },
      "category": "mcp",
      "host_config_required": true,
      "description": "可选 code-graph 能力工具。setup 只在显式 opt-in 时帮装和配置；下游消费只把其输出当 advisory candidate。",
      "dependency_ref": "codegraph",
      "dependencies": [
        "node",
        "npm"
      ],
      "installation": {
        "kind": "global-npm",
        "unix": {
          "command": "npm",
          "args": [
            "install",
            "-g",
            "{{package}}@{{version}}",
            "--no-audit",
            "--no-fund",
            "--loglevel=error"
          ]
        },
        "windows": {
          "command": "npm",
          "args": [
            "install",
            "-g",
            "{{package}}@{{version}}",
            "--no-audit",
            "--no-fund",
            "--loglevel=error"
          ]
        },
        "verify_command": {
          "command": "codegraph",
          "args": [
            "--version"
          ]
        }
      },
      "host_config": {
        "claude": {
          "command": "codegraph",
          "args": [
            "serve",
            "--mcp"
          ],
          "scope": "managed",
          "targets": {
            "managed": {
              "config_path": {
                "macos": "/Library/Application Support/ClaudeCode/managed-mcp.json",
                "linux": "/etc/claude-code/managed-mcp.json",
                "wsl": "/etc/claude-code/managed-mcp.json",
                "windows": "C:\\Program Files\\ClaudeCode\\managed-mcp.json"
              },
              "config_format": "json",
              "precedence": 100,
              "writable_check": "parent-or-file"
            },
            "user": {
              "config_path": "$HOME/.claude.json",
              "config_format": "json",
              "precedence": 10,
              "writable_check": "parent-or-file"
            }
          },
          "fallback_order": [
            "managed",
            "user"
          ],
          "uninstall_targets": [
            "managed",
            "user"
          ]
        },
        "codex": {
          "command": "codegraph",
          "args": [
            "serve",
            "--mcp"
          ],
          "scope": "user",
          "targets": {
            "user": {
              "config_path": "$HOME/.codex/config.toml",
              "config_format": "toml",
              "precedence": 50,
              "writable_check": "parent-or-file"
            },
            "system": {
              "config_path": "/etc/codex/config.toml",
              "config_format": "toml",
              "precedence": 100,
              "writable_check": "file-only"
            }
          },
          "fallback_order": [
            "user"
          ],
          "uninstall_targets": [
            "user",
            "system"
          ]
        },
        "kiro": {
          "command": "codegraph",
          "args": [
            "serve",
            "--mcp"
          ],
          "scope": "workspace",
          "targets": {
            "workspace": {
              "config_path": ".kiro/settings/mcp.json",
              "config_format": "json",
              "precedence": 50,
              "writable_check": "parent-or-file"
            },
            "user": {
              "config_path": "$HOME/.kiro/settings/mcp.json",
              "config_format": "json",
              "precedence": 100,
              "writable_check": "parent-or-file",
              "requires_user_scope_opt_in": true
            }
          },
          "fallback_order": [
            "workspace"
          ],
          "uninstall_targets": [
            "workspace",
            "user"
          ]
        },
        "qoder": {
          "command": "codegraph",
          "args": [
            "serve",
            "--mcp"
          ],
          "scope": "local",
          "targets": {
            "local": {
              "config_path": ".qoder/settings.local.json",
              "config_format": "json",
              "precedence": 50,
              "writable_check": "parent-or-file"
            },
            "user": {
              "config_path": "$HOME/.qoder/settings.json",
              "config_format": "json",
              "precedence": 100,
              "writable_check": "parent-or-file",
              "requires_user_scope_opt_in": true
            }
          },
          "fallback_order": [
            "local"
          ],
          "uninstall_targets": [
            "local",
            "user"
          ]
        },
        "cursor": {
          "type": "stdio",
          "command": "codegraph",
          "args": [
            "serve",
            "--mcp"
          ],
          "scope": "project",
          "targets": {
            "project": {
              "config_path": ".cursor/mcp.json",
              "config_format": "json",
              "precedence": 50,
              "writable_check": "parent-or-file"
            },
            "user": {
              "config_path": "$HOME/.cursor/mcp.json",
              "config_format": "json",
              "precedence": 100,
              "writable_check": "parent-or-file",
              "requires_user_scope_opt_in": true
            }
          },
          "fallback_order": [
            "project"
          ],
          "uninstall_targets": [
            "project",
            "user"
          ]
        }
      },
      "detection": {
        "kind": "host_config_exact",
        "key": "codegraph"
      },
      "project_bootstrap": {
        "kind": "command",
        "required": true,
        "project_file": ".codegraph/codegraph.db",
        "unix": {
          "command": "codegraph",
          "args": [
            "init"
          ]
        },
        "windows": {
          "command": "codegraph",
          "args": [
            "init"
          ]
        },
        "status_probe": {
          "command": "codegraph",
          "args": [
            "status"
          ]
        }
      },
      "provider_readiness": {
        "provider": "codegraph",
        "kind": "code-structure",
        "profile": "optional",
        "capabilities": [
          "code-graph",
          "impact-candidates",
          "affected-tests-candidates"
        ],
        "native_interfaces": [
          "mcp",
          "cli"
        ],
        "first_generation": {
          "owner": "runtime-setup",
          "status": "not-run",
          "scope": "project",
          "requires_explicit_gate": true,
          "requirement_workspace_path": null,
          "artifact_root": ".codegraph"
        },
        "steady_state": {
          "refresh_owner": "provider-native",
          "refresh_mode": "watcher",
          "hook_default": false,
          "usage_owner": "downstream-skill"
        },
        "usage_note": "Install package `{{package}}@{{version}}`, run the `codegraph` CLI, and use CodeGraph MCP tools for impact/call graph candidates. Confirmed setup runs `codegraph sync` first when status reports pending changes or recommends `codegraph index -f`, then may run one bounded `codegraph index -f` only if the full-rebuild advisory remains. `codegraph serve --mcp` owns provider-native Auto-Sync freshness; confirm conclusions from source/test/log/contract/user evidence.",
        "fallback_methods": [
          "rg",
          "ast-grep",
          "direct-source-read"
        ],
        "fresh_self_report_maps_to": "unknown",
        "stale_self_report_maps_to": "stale",
        "lifecycle_display_only": [
          "installed",
          "configured",
          "indexed",
          "server_reachable",
          "query_verified"
        ]
      },
      "safety": {
        "risk_flags": [
          "global-npm-install",
          "single-maintainer-bus-factor"
        ],
        "version_policy": {
          "pin_status": "pinned"
        },
        "source": "npm",
        "source_repo": "https://www.npmjs.com/package/@colbymchenry/codegraph",
        "review_required": true
      }
    }
  ]
}
