UNPKG

marketing-post-generator-mcp

Version:

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

109 lines 2.81 kB
export interface ServerConfig { server: { mode: 'local' | 'remote'; transport: 'stdio' | 'http'; port?: number; host?: string; http?: { enableJsonResponse?: boolean; enableDnsRebindingProtection?: boolean; allowedHosts?: string[]; allowedOrigins?: string[]; sessionIdGenerator?: (() => string) | undefined; }; }; postgen: { dataDir: string; cacheEnabled: boolean; cacheTtl: number; }; claude: { apiKey: string; baseUrl?: string; maxRetries?: number; timeout?: number; rateLimit?: { requestsPerMinute: number; tokensPerMinute: number; }; }; search: { defaultAdapter: string; fallbackAdapters: string[]; adapterConfigs: Record<string, Record<string, any>>; }; logging: { level: 'error' | 'warn' | 'info' | 'debug' | 'trace'; format: 'simple' | 'json' | 'pretty'; }; errorHandling: { enableErrorReporting: boolean; enableStackTrace: boolean; maxRecentErrors: number; excludeStackTraceForCodes: string[]; notificationEnabled: boolean; }; rateLimit: { enableRateLimit: boolean; defaultWindowMs: number; defaultMaxRequests: number; enableStandardHeaders: boolean; enableLegacyHeaders: boolean; }; cors?: { allowedOrigins: string[]; allowedHeaders: string[]; credentials?: boolean; }; } export interface MCPTool { name: string; description: string; parameters: any; handler: (params: any, context: any) => Promise<any>; } export interface MCPPrompt { name: string; description: string; parameters: Array<{ name: string; description: string; required: boolean; }>; } export interface ToolFactory { createTool(): MCPTool; getToolName(): string; getToolDescription(): string; } export interface PromptFactory { createPrompt(): MCPPrompt; getPromptName(): string; getPromptDescription(): string; } export interface GenerationContext { domain?: string; contentType: ContentType; parameters: Record<string, any>; } export declare enum ContentType { BLOG_POST = "blog_post", NARRATIVE = "narrative", SUMMARY = "summary", CONTENT_PLAN = "content_plan", TONE_ANALYSIS = "tone_analysis" } export interface UsageMetadata { promptTokens?: number; completionTokens?: number; totalTokens?: number; } export interface GeneratedContent { content: string; metadata: { model?: string; usage?: UsageMetadata; duration: number; }; } //# sourceMappingURL=index.d.ts.map