import { mcpContractToolMessage } from "./mcp-contract-message.js"; import type { McpContractToolError, McpContractToolReason } from "./mcp-contract-message.js"; export { mcpContractToolMessage }; export type { McpContractToolError, McpContractToolReason }; export interface McpServerConfig { readonly command: string; readonly args?: readonly string[]; readonly env?: Record; readonly cwd?: string; } export interface McpToolInfo { readonly name: string; readonly description?: string; } /** * Start an MCP server over stdio, complete the handshake, and return its tools. * Kills the server when done. Throws on spawn/timeout/exit/protocol error. */ export declare function listMcpTools(server: McpServerConfig, timeoutMs?: number): Promise; export interface McpRefResult { readonly exists: boolean; readonly available: string[]; readonly suggestions: string[]; } /** * Verify `toolName` exists on `server`; on a miss, suggest the closest tool names * (edit distance) — "did you mean issue_write?". */ export declare function verifyMcpTool(server: McpServerConfig, toolName: string, timeoutMs?: number): Promise; export interface McpRef { readonly server: string; readonly tool: string; readonly line: number; } export type McpRefReason = "server-undeclared" | "server-unreachable" | "tool-missing"; export interface McpRefError extends McpRef { readonly reason: McpRefReason; readonly suggestions: string[]; } /** Parse `vigiles:mcp server#tool` marks from a markdown file's inline spans. */ export declare function parseMcpRefs(markdown: string): McpRef[]; /** Read `mcpServers` from `.mcp.json` (the stdio-server config map), or `{}`. */ export declare function loadMcpServers(cwd: string): Record; /** * Verify every `vigiles:mcp server#tool` mark in `markdown` against the live * servers in `mcpServers` (each referenced server is started once). A reference * to an undeclared server, an unreachable server, or a missing tool is an error. */ export declare function verifyMcpRefs(markdown: string, mcpServers: Record, timeoutMs?: number): Promise; export declare function verifyMcpContractTools(tools: readonly string[], servers: Record, dialect: import("./dialect.js").HarnessDialect, timeoutMs?: number): Promise; /** Human-readable message for an MCP reference error (with "did you mean"). */ export declare function mcpRefMessage(e: McpRefError): string; //# sourceMappingURL=mcp.d.ts.map