/** * MCP Server Factory — shared between stdio and HTTP transports * * Creates a configured MCP Server instance with tool handlers. * Both stdio (CLI) and HTTP (remote) transports use this factory * so the tool surface is identical regardless of transport. */ import { Server } from "@modelcontextprotocol/sdk/server/index.js"; declare const SERVER_NAME = "crowdlisten/harness"; declare const SERVER_VERSION: string; export interface McpServerOptions { supabase: any; userId: string; accessToken?: string; getAccessToken?: () => Promise; onToolComplete?: (event: { name: string; durationMs: number; success: boolean; }) => void; } /** * Creates and configures an MCP Server with all tool handlers registered. * The caller is responsible for connecting a transport (stdio or HTTP). */ export declare function createMcpServer(opts: McpServerOptions): Server; /** * Creates an anonymous MCP Server for unauthenticated requests. * Lists tools normally (ChatGPT needs this for discovery) but * rejects tool calls with an auth-required message. */ export declare function createAnonymousMcpServer(): Server; export { SERVER_NAME, SERVER_VERSION };