@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
TypeScript
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>;
}