@gebrai/gebrai
Version:
Model Context Protocol server for GeoGebra mathematical visualization
76 lines • 1.84 kB
TypeScript
import { EventEmitter } from 'events';
import { JsonRpcResponse, McpServerConfig } from './types/mcp';
/**
* MCP Server implementation following JSON-RPC 2.0 protocol over stdio
*/
export declare class McpServer extends EventEmitter {
private config;
private isRunning;
private isInitialized;
private readline;
constructor(config: McpServerConfig);
/**
* Start the MCP server with stdio communication
*/
start(): Promise<void>;
/**
* Stop the MCP server
*/
stop(): Promise<void>;
/**
* Process a JSON-RPC request
*/
processRequest(requestData: unknown): Promise<JsonRpcResponse | null>;
/**
* Handle initialize requests
*/
private handleInitialize;
/**
* Handle notifications/initialized requests (notification, no response expected)
*/
private handleInitialized;
/**
* Handle tools/list requests
*/
private handleToolsList;
/**
* Handle tools/call requests
*/
private handleToolsCall;
/**
* Create an error response
*/
private createErrorResponse;
/**
* Create a tools/list error response
*/
private createToolsListErrorResponse;
/**
* Create a tools/call error response
*/
private createToolsCallErrorResponse;
/**
* Create an initialize error response
*/
private createInitializeErrorResponse;
/**
* Get server status
*/
getStatus(): {
name: string;
version: string;
description: string;
isRunning: boolean;
toolCount: number;
uptime: number;
};
/**
* Get server configuration
*/
getConfig(): McpServerConfig;
/**
* Check if server is running
*/
isServerRunning(): boolean;
}
//# sourceMappingURL=server.d.ts.map