#!/usr/bin/env node export interface DoctorReport { selfVersion: string; registryLatest: string | null; npmGlobal: { version: string | null; dir: string | null; }; localShadow: { version: string; dir: string; } | null; effectiveNpx: string | null; runningServers: Array<{ pid: number; version: string | null; script: string; /** First project positional; the one a single-editor server drives. */ project: string | null; /** Every project positional, so a multi-editor server reports all of them (#817). */ projects?: string[]; servesTarget: boolean; }>; targetProjectDir: string | null; bridgePlugin: { version: string | null; project: string; } | null; bareNpxConfigs: string[]; } /** Walk up from cwd; the first node_modules/ue-mcp is what npx resolves locally. */ export declare function findLocalShadow(startDir: string): { version: string; dir: string; } | null; /** * Parse a `node .../ue-mcp/dist/index.js [...]` command line * into the script path and every project argument. Returns null when the * command line is not a running server (a flag/subcommand invocation, or no * ue-mcp index.js). Exported for tests. (#550, #817) * * `project` is the first positional and is what a single-editor report reads. * `projects` is all of them, so a server driving several editors is reported * as driving several rather than as driving the first one only. */ export declare function parseServerInvocation(cmd: string): { script: string; project: string | null; projects: string[]; } | null; /** * Scan cwd + parents for a .mcp.json that launches the server via bare * `npx ue-mcp` (an npx server whose args include "ue-mcp" with no @version pin * and no -y) - the configuration that lets a local copy shadow the global one. */ export declare function findBareNpxConfigs(cwd: string): string[]; export declare function collectDoctor(projectArg?: string, cwd?: string): DoctorReport; export declare function formatDoctor(d: DoctorReport): string; /** Entry point for `ue-mcp doctor [project.uproject] [--editor ]`. */ export declare function runDoctorCli(): void;