UNPKG

mcp-crawl4ai-ts

Version:

TypeScript MCP server for Crawl4AI - web crawling and content extraction

134 lines 4.24 kB
import { AxiosInstance } from 'axios'; import { Crawl4AIService } from './crawl4ai-service.js'; import { ContentHandlers } from './handlers/content-handlers.js'; import { UtilityHandlers } from './handlers/utility-handlers.js'; import { CrawlHandlers } from './handlers/crawl-handlers.js'; export declare class Crawl4AIServer { private server; protected axiosClient: AxiosInstance; protected service: Crawl4AIService; private sessions; private serverName; private serverVersion; private contentHandlers; private sessionHandlers; private utilityHandlers; private crawlHandlers; constructor(baseUrl: string, apiKey: string, serverName?: string, serverVersion?: string); /** * Helper method to validate arguments and execute handler with consistent error formatting * Preserves the exact error message format that LLMs rely on */ private validateAndExecute; private setupHandlers; protected getMarkdown(options: Parameters<ContentHandlers['getMarkdown']>[0]): Promise<{ content: { type: string; text: string; }[]; }>; protected captureScreenshot(options: Parameters<ContentHandlers['captureScreenshot']>[0]): Promise<{ content: ({ type: string; data: string; mimeType: string; text?: undefined; } | { type: string; text: string; data?: undefined; mimeType?: undefined; })[]; }>; protected generatePDF(options: Parameters<ContentHandlers['generatePDF']>[0]): Promise<{ content: ({ type: string; resource: { uri: string; mimeType: string; blob: string; }; text?: undefined; } | { type: string; text: string; resource?: undefined; })[]; }>; protected getHTML(options: Parameters<ContentHandlers['getHTML']>[0]): Promise<{ content: { type: string; text: string; }[]; }>; protected extractWithLLM(options: Parameters<ContentHandlers['extractWithLLM']>[0]): Promise<{ content: { type: string; text: string; }[]; }>; protected executeJS(options: Parameters<UtilityHandlers['executeJS']>[0]): Promise<{ content: { type: string; text: string; }[]; }>; protected extractLinks(options: Parameters<UtilityHandlers['extractLinks']>[0]): Promise<{ content: { type: string; text: string; }[]; }>; protected batchCrawl(options: Parameters<CrawlHandlers['batchCrawl']>[0]): Promise<{ content: { type: string; text: string; }[]; }>; protected smartCrawl(options: Parameters<CrawlHandlers['smartCrawl']>[0]): Promise<{ content: { type: string; text: string; }[]; }>; protected crawlRecursive(options: Parameters<CrawlHandlers['crawlRecursive']>[0]): Promise<{ content: { type: string; text: string; }[]; }>; protected parseSitemap(options: Parameters<CrawlHandlers['parseSitemap']>[0]): Promise<{ content: { type: string; text: string; }[]; }>; protected crawl(options: Parameters<CrawlHandlers['crawl']>[0]): Promise<{ content: ({ type: string; text: string; data?: undefined; mimeType?: undefined; resource?: undefined; } | { type: string; data: string; mimeType: string; text?: undefined; resource?: undefined; } | { type: string; resource: { uri: string; mimeType: string; blob: string; }; text?: undefined; data?: undefined; mimeType?: undefined; })[]; }>; set axiosClientForTesting(client: AxiosInstance); start(): Promise<void>; } //# sourceMappingURL=server.d.ts.map