@solapi/mcp-server
Version:
MCP server for SOLAPI document search and integration
96 lines • 2.22 kB
TypeScript
/**
* SOLAPI MCP 서버 타입 정의
*/
export interface DocumentData {
id: string;
title: string;
content: string;
url?: string;
category?: string;
tags?: string[];
metadata?: Record<string, unknown>;
}
export interface SearchResult {
id: string;
title: string;
content: string;
url: string | undefined;
score: number;
snippet?: string;
metadata?: Record<string, unknown> | undefined;
}
export interface ToolDefinition {
name: string;
description: string;
inputSchema: {
type: string;
properties: Record<string, unknown>;
required?: string[];
};
}
export interface ToolResult {
content: Array<{
type: 'text';
text: string;
}>;
isError?: boolean;
}
export type ToolExecutor = (args: Record<string, unknown>) => Promise<ToolResult>;
export interface Tool {
getDefinition(): ToolDefinition;
execute: ToolExecutor;
}
export interface ICacheManager {
get(key: string): unknown | null;
set(key: string, value: unknown, ttl?: number): void;
delete(key: string): void;
clear(): void;
}
export interface ISearchEngine {
addDocuments(documents: DocumentData[]): void;
search(query: string, limit?: number): SearchResult[];
}
export interface IDocumentDataManager {
getDocuments(): DocumentData[];
validateDocuments(documents: DocumentData[]): boolean;
}
export interface ServerConfig {
name: string;
version: string;
capabilities: {
tools: Record<string, unknown>;
};
}
export interface SearchArgs {
query: string;
limit?: number;
}
export interface ExampleSearchArgs {
query: string;
category?: string;
limit?: number;
}
export interface ExampleDetailArgs {
id: string;
}
export interface PerformanceTestArgs {
iterations?: number;
query?: string;
}
export interface MemoryAnalysisArgs {
includeDetails?: boolean;
}
export interface OverviewArgs {
category?: string;
}
export interface Example {
id: string;
title: string;
description: string;
category: string;
keywords: string[];
code: string;
usage: string;
url: string;
}
//# sourceMappingURL=index.d.ts.map