mcp-framework
Version:
Framework for building Model Context Protocol (MCP) servers in Typescript
84 lines (83 loc) • 1.97 kB
TypeScript
import { AuthConfig } from "../../auth/types.js";
/**
* CORS configuration options for SSE transport
*/
export interface CORSConfig {
/**
* Access-Control-Allow-Origin header
* @default "*"
*/
allowOrigin?: string;
/**
* Access-Control-Allow-Methods header
* @default "GET, POST, OPTIONS"
*/
allowMethods?: string;
/**
* Access-Control-Allow-Headers header
* @default "Content-Type, Authorization, x-api-key"
*/
allowHeaders?: string;
/**
* Access-Control-Expose-Headers header
* @default "Content-Type, Authorization, x-api-key"
*/
exposeHeaders?: string;
/**
* Access-Control-Max-Age header for preflight requests
* @default "86400"
*/
maxAge?: string;
}
/**
* Configuration options for SSE transport
*/
export interface SSETransportConfig {
/**
* Port to listen on
*/
port?: number;
/**
* Endpoint for SSE events stream
* @default "/sse"
*/
endpoint?: string;
/**
* Endpoint for receiving messages via POST
* @default "/messages"
*/
messageEndpoint?: string;
/**
* Maximum allowed message size in bytes
* @default "4mb"
*/
maxMessageSize?: string;
/**
* Custom headers to add to SSE responses
*/
headers?: Record<string, string>;
/**
* CORS configuration
*/
cors?: CORSConfig;
/**
* Authentication configuration
*/
auth?: AuthConfig;
}
/**
* Internal configuration type with required fields except headers
*/
export type SSETransportConfigInternal = Required<Omit<SSETransportConfig, 'headers' | 'auth' | 'cors'>> & {
headers?: Record<string, string>;
auth?: AuthConfig;
cors?: CORSConfig;
};
/**
* Default CORS configuration
*/
export declare const DEFAULT_CORS_CONFIG: CORSConfig;
/**
* Default configuration values
*/
export declare const DEFAULT_SSE_CONFIG: SSETransportConfigInternal;