UNPKG

bottlenecks-mcp-server

Version:

Model Context Protocol server for Bottlenecks database - enables AI agents like Claude to interact with bottleneck data

118 lines 2.8 kB
/** * MCP Server Types and Interfaces * Defines the structure for Model Context Protocol integration */ export interface MCPConfig { apiBaseUrl: string; supabaseUrl: string; supabaseKey: string; defaultTimeout?: number; } export interface MCPToolResult { content: Array<{ type: 'text'; text: string; }>; isError?: boolean; } export interface MCPTool { type: 'call_tool'; name: string; description: string; inputSchema: { type: 'object'; properties: Record<string, any>; required?: string[]; }; handler: (args: any) => Promise<MCPToolResult>; } export interface BottleneckSchema { id: string; title: string; slug: string; description: string; tags: string[]; is_public: boolean; created_at: string; updated_at: string; author_id: string; organization_id?: string; file_attachments?: FileAttachment[]; } export interface FileAttachment { id: string; filename: string; original_filename: string; file_path: string; bucket_name: string; file_type: string; file_size: number; mime_type: string; upload_type: string; description?: string; metadata?: any; is_public: boolean; processing_status: string; created_at: string; } export interface SearchFilters { tags?: string[]; author_id?: string; organization_id?: string; is_public?: boolean; approval_status?: 'approved' | 'pending' | 'rejected' | 'draft'; include_unapproved?: boolean; created_after?: string; created_before?: string; has_attachments?: boolean; } export interface PaginationParams { page?: number; limit?: number; offset?: number; } export interface APIResponse<T = any> { success: boolean; data?: T | null; error?: string | null; message?: string; pagination?: { page: number; limit: number; total: number; hasMore: boolean; }; } export interface CreateBottleneckData { title: string; description: string; tags?: string[]; is_public?: boolean; organization_id?: string; } export interface UpdateBottleneckData { title?: string; description?: string; tags?: string[]; is_public?: boolean; organization_id?: string; } export interface FileUploadData { file: File | Buffer; filename: string; card_id: string; upload_type: 'attachment' | 'research_data' | 'image' | 'reference_doc'; description?: string; is_public?: boolean; } export interface ValidationError { field: string; message: string; code: string; } export interface ValidationResult { valid: boolean; errors: ValidationError[]; warnings?: ValidationError[]; } //# sourceMappingURL=mcp.d.ts.map