UNPKG

@trishchuk/ai-think-gate-mcp

Version:

Model Context Protocol (MCP) server that provides AI-powered thinking and code architecture tools

85 lines (84 loc) 1.95 kB
import { CallToolResult } from './types.js'; /** * MCP tool interface */ export interface Tool { name: string; description: string; inputSchema: { type: "object"; properties?: Record<string, any>; required?: string[]; }; execute(args: any): Promise<CallToolResult>; } /** * AI/LLM client interface */ export interface AIClient { /** * Process content through LLM */ process(systemPrompt: string, userContent: string, options?: AIProcessOptions): Promise<string>; /** * Check if client is initialized */ isInitialized(): boolean; /** * Get the model name being used */ getModelName(): string | undefined; /** * Get provider name */ getProviderName(): string; } /** * Additional options for processing requests to LLM */ export interface AIProcessOptions { temperature?: number; maxTokens?: number; stopSequences?: string[]; systemName?: string; userName?: string; toolName?: string; } /** * Logger interface */ export interface Logger { log(message: string, ...args: any[]): void; error(message: string, ...args: any[]): void; warn(message: string, ...args: any[]): void; debug(message: string, ...args: any[]): void; info(message: string, ...args: any[]): void; } /** * IDE endpoint finder interface */ export interface IDEEndpointFinder { updateIDEEndpoint(): Promise<void>; getToolsList(): Promise<any[]>; } /** * Configuration service interface */ export interface ConfigService { /** * Get configuration value */ get<T>(key: string, defaultValue?: T): T; /** * Set configuration value */ set<T>(key: string, value: T): void; /** * Load configuration from file */ loadFromFile(filePath: string): Promise<void>; /** * Save configuration to file */ saveToFile(filePath: string): Promise<void>; }