@apideck/docs-mcp
Version:
MCP server that lets agents search and retrieve your documentation at query time instead of relying on stale training data.
47 lines • 2.87 kB
TypeScript
import type { IncomingMessage, ServerResponse } from 'node:http';
import { WebStandardStreamableHTTPServerTransport } from '@modelcontextprotocol/server';
import type { AuthInfo, Transport, WebStandardStreamableHTTPServerTransportOptions } from '@modelcontextprotocol/server';
/** Structural contract: existing SDK Node transport factories remain compatible. */
export interface NodeHttpTransport extends Transport {
readonly sessionId: WebStandardStreamableHTTPServerTransport['sessionId'];
onclose: WebStandardStreamableHTTPServerTransport['onclose'];
onerror: WebStandardStreamableHTTPServerTransport['onerror'];
onmessage: WebStandardStreamableHTTPServerTransport['onmessage'];
setSupportedProtocolVersions: WebStandardStreamableHTTPServerTransport['setSupportedProtocolVersions'];
setScopeChallengeResolver: WebStandardStreamableHTTPServerTransport['setScopeChallengeResolver'];
closeSSEStream: WebStandardStreamableHTTPServerTransport['closeSSEStream'];
closeStandaloneSSEStream: WebStandardStreamableHTTPServerTransport['closeStandaloneSSEStream'];
handleRequest(req: IncomingMessage & {
auth?: AuthInfo;
}, res: ServerResponse, parsedBody?: unknown): Promise<void>;
}
export type NodeStreamableHTTPServerTransportOptions = WebStandardStreamableHTTPServerTransportOptions;
/**
* Library-owned Node bridge to the supported SDK Web Standard transport.
* Protocol, limits, sessions and SSE remain SDK-owned; Node conversion and
* streamed writes remain owned by the explicitly declared patched Hono adapter.
* Mirrors the SDK Node bridge's delegation contract without importing its
* vulnerable transitive adapter. See docs/http-transport-security.md.
*/
export declare class NodeStreamableHTTPServerTransport implements NodeHttpTransport {
private readonly web;
constructor(options?: NodeStreamableHTTPServerTransportOptions);
get sessionId(): string | undefined;
get onclose(): Transport['onclose'];
set onclose(callback: Transport['onclose']);
get onerror(): Transport['onerror'];
set onerror(callback: Transport['onerror']);
get onmessage(): Transport['onmessage'];
set onmessage(callback: Transport['onmessage']);
start(): Promise<void>;
close(): Promise<void>;
send(...args: Parameters<WebStandardStreamableHTTPServerTransport['send']>): Promise<void>;
setSupportedProtocolVersions(versions: string[]): void;
setScopeChallengeResolver(...args: Parameters<WebStandardStreamableHTTPServerTransport['setScopeChallengeResolver']>): void;
closeSSEStream(...args: Parameters<WebStandardStreamableHTTPServerTransport['closeSSEStream']>): void;
closeStandaloneSSEStream(): void;
handleRequest(req: IncomingMessage & {
auth?: AuthInfo;
}, res: ServerResponse, parsedBody?: unknown): Promise<void>;
}
//# sourceMappingURL=node-http.d.ts.map