marketing-post-generator-mcp
Version:
A powerful MCP server for AI-powered marketing blog post generation with Claude integration
70 lines • 2.35 kB
TypeScript
import { ISearchAdapter } from './ISearchAdapter.js';
import { SearchOptions, SearchResult, DomainSampleResult } from './types.js';
import winston from 'winston';
/**
* Main search service that provides a unified interface to search adapters
* with fallback support and error handling.
*/
export declare class SearchService {
private readonly logger;
private adapter;
private readonly fallbackAdapters;
constructor(primaryAdapter: ISearchAdapter, fallbacks?: ISearchAdapter[], logger?: winston.Logger);
/**
* Set a new primary adapter
* @param adapter The new primary adapter to use
*/
setAdapter(adapter: ISearchAdapter): void;
/**
* Add a fallback adapter
* @param adapter The fallback adapter to add
*/
addFallbackAdapter(adapter: ISearchAdapter): void;
/**
* Get the current primary adapter name
* @returns The name of the primary adapter
*/
getPrimaryAdapterName(): string;
/**
* Get the names of all fallback adapters
* @returns Array of fallback adapter names
*/
getFallbackAdapterNames(): string[];
/**
* Fetch content from a URL with fallback support
* @param url The URL to fetch content from
* @returns Promise resolving to the content
*/
fetchContent(url: string): Promise<string>;
/**
* Sample domain with fallback support
* @param domain The domain to sample from
* @param count Number of samples to collect
* @returns Promise resolving to array of sampled content
*/
sampleDomain(domain: string, count: number): Promise<DomainSampleResult[]>;
/**
* Search with fallback support
* @param query The search query
* @param options Optional search parameters
* @returns Promise resolving to search results
*/
search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
/**
* Check health of all adapters
* @returns Promise resolving to health status of primary and fallback adapters
*/
healthCheck(): Promise<{
primary: {
name: string;
healthy: boolean;
error?: string;
};
fallbacks: Array<{
name: string;
healthy: boolean;
error?: string;
}>;
}>;
}
//# sourceMappingURL=SearchService.d.ts.map