marketing-post-generator-mcp
Version:
A powerful MCP server for AI-powered marketing blog post generation with Claude integration
49 lines • 1.66 kB
TypeScript
import { ISearchAdapter } from '../ISearchAdapter.js';
import { SearchOptions, SearchResult, DomainSampleResult, SearchAdapterConfig } from '../types.js';
import winston from 'winston';
export interface WebScrapingConfig extends SearchAdapterConfig {
sampleSize?: number;
maxRequestsPerSecond?: number;
timeout?: number;
userAgent?: string;
}
export interface ScrapedBlogPost {
title: string;
content: string;
url: string;
publishedDate?: string;
author?: string;
excerpt?: string;
}
/**
* Web scraping adapter that implements the ISearchAdapter interface.
* Migrates existing WebScrapingService logic to the adapter pattern.
*/
export declare class WebScrapingAdapter implements ISearchAdapter {
private readonly logger;
private httpClient;
private config;
private lastRequestTime;
private initialized;
constructor(logger?: winston.Logger);
getName(): string;
initialize(config: WebScrapingConfig): Promise<void>;
healthCheck(): Promise<boolean>;
fetchContent(url: string): Promise<string>;
sampleDomain(domain: string, count: number): Promise<DomainSampleResult[]>;
search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
private ensureInitialized;
private discoverBlogPosts;
private extractPostUrls;
private extractUrlsFromXml;
private fetchBlogPost;
private extractTitle;
private extractContent;
private extractPublishedDate;
private extractAuthor;
private extractExcerpt;
private resolveUrl;
private isValidPostUrl;
private respectRateLimit;
}
//# sourceMappingURL=WebScrapingAdapter.d.ts.map