/** Platform-aware rendering of the Monomind stdio MCP server. */ import type { ArtifactIntent, InstallScope, PlatformAdapter } from '../types.js'; export interface McpRenderOptions { scope: InstallScope; os?: NodeJS.Platform; env?: Readonly>; /** Exact version to pin the MCP server to (default: the running CLI); `latest` floats. */ pin?: string; } export interface McpRenderResult { intents: ArtifactIntent[]; diagnostics: string[]; } /** Canonical scoped package; the unscoped `monomind` is its single-bin alias. */ export declare const MCP_SCOPED_PACKAGE = "@monoes/monomindcli"; /** The `pin` value that opts out of pinning (`init --pin latest` / `--no-pin`). */ export declare const MCP_FLOATING_PIN = "latest"; /** * The command line is identical across platforms; Windows needs cmd.exe so * npm's executable shim is resolved consistently by every supported client. * * The default pins to the running CLI's version (issue #419): a floating * `@latest` re-resolves the dist-tag on every start (3–4 s), can hang on a cold * npx cache past the client's startup timeout, and drifts mid-session. Passing * `latest` opts into the unscoped `monomind@latest`, which declares a single * bin, so `npx -y monomind@latest mcp start` resolves. An exact pin has * to name the scoped package, and that package declares three bins — npx then * refuses with "could not determine executable to run" (issue #312). Selecting * the package with `--package=` and the bin positionally is the form that works * against every already-published version, including those predating the * package-named bin. */ export declare function mcpCommand(_platform: PlatformAdapter['id'], os?: NodeJS.Platform, pin?: string): string[]; /** * The single source of truth for every `claude mcp add monomind -- …` hint the * CLI prints, so a doctor fix, `mcp verify` and the generated CLAUDE.md can * never drift from what `init` actually writes. */ export declare function mcpAddHint(pin?: string, os?: NodeJS.Platform): string; /** * Convert the portable stdio command into the schema used by the target. * OpenCode expects its command as an array, while the other JSON MCP clients * use the conventional command-plus-args form. */ export declare function mcpServerEntry(platform: PlatformAdapter['id'], env?: Readonly>, os?: NodeJS.Platform, pin?: string): Record; /** * Emit a mergeable named entry only when the adapter's evidence-gated MCP * capability and its requested scope both declare a concrete configuration * location. Path resolution and mutation deliberately remain in operations. */ export declare function renderMcpArtifacts(adapter: PlatformAdapter, options: McpRenderOptions): McpRenderResult; //# sourceMappingURL=mcp.d.ts.map