UNPKG

marketing-post-generator-mcp

Version:

A powerful MCP server for AI-powered marketing blog post generation with Claude integration

61 lines 1.96 kB
import { Tool } from '@modelcontextprotocol/sdk/types.js'; import { SearchService } from '../services/search/index.js'; import { IClaudeService } from '../services/claude/IClaudeService.js'; import winston from 'winston'; export interface ContentPlanToolArgs { domain: string; timeframe?: 'week' | 'month' | 'quarter'; postCount?: number; updateExisting?: boolean; } export interface ContentPlanPost { title: string; description: string; keywords: string[]; category: string; estimatedLength: string; priority: 'high' | 'medium' | 'low'; targetAudience: string; contentType: 'educational' | 'promotional' | 'thought-leadership' | 'case-study' | 'tutorial' | 'news' | 'opinion'; } export interface ContentPlanResult { domain: string; timeframe: 'week' | 'month' | 'quarter'; postCount: number; posts: ContentPlanPost[]; contentGaps: string[]; trendingTopics: string[]; recommendations: string[]; executionStrategy: string; timestamp: string; updatedFrom?: string | undefined; } export interface ExistingSample { title: string; content: string; url: string; categories?: string[]; } export interface ExistingToneAnalysis { formality: string; emotion: string; style: string; overallTone: string; } export declare class ContentPlanTool { private readonly logger; constructor(_searchService: SearchService, logger?: winston.Logger); getToolDefinition(): Tool; execute(args: ContentPlanToolArgs, claudeService: IClaudeService): Promise<string>; private createDomainMatcher; private validatePostgenDirectory; private getExistingSamples; private getExistingToneAnalysis; private getLatestContentPlan; private generateContentPlan; private buildContentPlanPrompt; private parseContentPlanResponse; private saveContentPlan; private formatResponse; } //# sourceMappingURL=ContentPlanTool.d.ts.map