UNPKG

@toolprint/hypertool-mcp

Version:

HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers

86 lines • 2.15 kB
/** * TypeScript interfaces for MCP configuration * Based on the .mcp.json file format * These define how THIS server connects to downstream MCP servers (outbound client connections) */ export type ClientTransportType = "stdio" | "http" | "sse"; /** * Base configuration for an MCP server */ export interface BaseServerConfig { type?: ClientTransportType; env?: Record<string, string>; } /** * Configuration for stdio-based MCP servers */ export interface StdioServerConfig extends BaseServerConfig { type: "stdio"; command: string; args?: string[]; } /** * Configuration for HTTP-based MCP servers */ export interface HttpServerConfig extends BaseServerConfig { type: "http"; url: string; headers?: Record<string, string>; } /** * Configuration for SSE-based MCP servers (client connections) */ export interface SSEServerConfig extends BaseServerConfig { type: "sse"; url: string; headers?: Record<string, string>; } /** * Union type for all server configurations */ export type ServerConfig = StdioServerConfig | HttpServerConfig | SSEServerConfig; /** * Base configuration for extensions */ export interface BaseExtensionConfig { env?: Record<string, string>; } /** * Configuration for DXT extensions */ export interface DxtExtensionConfig extends BaseExtensionConfig { type: "dxt-extension"; path: string; } /** * Union type for all extension configurations */ export type ExtensionConfig = DxtExtensionConfig; /** * Union type for all server entries (servers and extensions) */ export type ServerEntry = ServerConfig | ExtensionConfig; /** * Root configuration structure matching .mcp.json format */ export interface MCPConfig { mcpServers: Record<string, ServerEntry>; } /** * Result of parsing a configuration file */ export interface ParseResult { success: boolean; config?: MCPConfig; error?: string; validationErrors?: string[]; } /** * Options for the configuration parser */ export interface ParserOptions { validatePaths?: boolean; allowRelativePaths?: boolean; strict?: boolean; } //# sourceMappingURL=config.d.ts.map