UNPKG

touchdesigner-mcp-server

Version:
64 lines (63 loc) 1.94 kB
import { z } from "zod"; /** * Transport types supported by the MCP server */ export type TransportType = "stdio" | "streamable-http"; /** * Configuration for stdio transport */ export interface StdioTransportConfig { type: "stdio"; } /** * Configuration for Streamable HTTP transport * * Protocol revision 2026-07-28 removed protocol-level sessions and the * `Mcp-Session-Id` header, so the transport is stateless: there is no session * configuration anymore. Each request is served by a fresh server instance. */ export interface StreamableHttpTransportConfig { type: "streamable-http"; /** * Port to bind the HTTP server to */ port: number; /** * Host address to bind the HTTP server to (default: '127.0.0.1') */ host: string; /** * MCP endpoint path (default: '/mcp') */ endpoint: string; } /** * Union type for all transport configurations */ export type TransportConfig = StdioTransportConfig | StreamableHttpTransportConfig; /** * Zod schema for TransportConfig validation (discriminated union) */ export declare const TransportConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ type: z.ZodLiteral<"stdio">; }, z.core.$strict>, z.ZodObject<{ endpoint: z.ZodString; host: z.ZodString; port: z.ZodNumber; type: z.ZodLiteral<"streamable-http">; }, z.core.$strict>], "type">; /** * Type guard to check if config is StdioTransportConfig */ export declare function isStdioTransportConfig(config: TransportConfig): config is StdioTransportConfig; /** * Type guard to check if config is StreamableHttpTransportConfig */ export declare function isStreamableHttpTransportConfig(config: TransportConfig): config is StreamableHttpTransportConfig; /** * Default values for StreamableHttpTransportConfig (excluding required fields) */ export declare const DEFAULT_HTTP_CONFIG: { readonly endpoint: "/mcp"; readonly host: "127.0.0.1"; };