@cyanheads/git-mcp-server
Version:
An MCP (Model Context Protocol) server enabling LLMs and AI agents to interact with Git repositories. Provides tools for comprehensive Git operations including clone, commit, branch, diff, log, status, push, pull, merge, rebase, worktree, tag management,
32 lines • 1.81 kB
TypeScript
/**
* @fileoverview Stateful Transport Manager implementation for MCP SDK.
* This manager handles multiple, persistent sessions, creating a dedicated
* McpServer and StreamableHTTPServerTransport instance for each one.
* This version is adapted for Hono by bridging the SDK's Node.js-style
* request handling with Hono's stream-based response model.
* @module src/mcp-server/transports/core/statefulTransportManager
*/
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import type { IncomingHttpHeaders } from "http";
import { RequestContext } from "../../../utils/index.js";
import { BaseTransportManager } from "./baseTransportManager.js";
import { StatefulTransportManager as IStatefulTransportManager, TransportResponse, TransportSession } from "./transportTypes.js";
/**
* Stateful Transport Manager that handles MCP SDK integration and session management
* for a Hono-based HTTP server.
*/
export declare class StatefulTransportManager extends BaseTransportManager implements IStatefulTransportManager {
private readonly transports;
private readonly servers;
private readonly sessions;
private readonly garbageCollector;
constructor(createServerInstanceFn: () => Promise<McpServer>);
initializeAndHandle(headers: IncomingHttpHeaders, body: unknown, context: RequestContext): Promise<TransportResponse>;
handleRequest(headers: IncomingHttpHeaders, body: unknown, context: RequestContext, sessionId?: string): Promise<TransportResponse>;
handleDeleteRequest(sessionId: string, context: RequestContext): Promise<TransportResponse>;
getSession(sessionId: string): TransportSession | undefined;
shutdown(): Promise<void>;
private closeSession;
private cleanupStaleSessions;
}
//# sourceMappingURL=statefulTransportManager.d.ts.map