marketing-post-generator-mcp
Version:
A powerful MCP server for AI-powered marketing blog post generation with Claude integration
87 lines • 3.47 kB
TypeScript
import { DiscoveryEntry, DiscoveryMetadata, ToolRegistryEntry, PromptRegistryEntry, VersionInfo } from './types.js';
import { VersionManager } from './VersionManager.js';
/**
* Query options for filtering discovery results
*/
export interface DiscoveryQuery {
type?: 'tool' | 'prompt' | 'all';
tags?: string[];
author?: string;
deprecated?: boolean;
versionRange?: string;
searchText?: string;
limit?: number;
offset?: number;
sortBy?: 'name' | 'version' | 'created' | 'updated';
sortOrder?: 'asc' | 'desc';
}
/**
* Discovery result with pagination information
*/
export interface DiscoveryResult {
entries: DiscoveryEntry[];
metadata: DiscoveryMetadata;
pagination: {
total: number;
limit: number;
offset: number;
hasMore: boolean;
};
}
/**
* Service for discovering and exploring available tools and prompts
*/
export declare class DiscoveryService {
private readonly versionManager;
constructor(versionManager?: VersionManager);
/**
* Discover tools and prompts based on query criteria
*/
discover(toolEntries: Map<string, ToolRegistryEntry>, promptEntries: Map<string, PromptRegistryEntry>, query?: DiscoveryQuery): DiscoveryResult;
/**
* Search for tools and prompts by text
*/
search(toolEntries: Map<string, ToolRegistryEntry>, promptEntries: Map<string, PromptRegistryEntry>, searchText: string, options?: Omit<DiscoveryQuery, 'searchText'>): DiscoveryResult;
/**
* Get tools and prompts by specific tags
*/
getByTags(toolEntries: Map<string, ToolRegistryEntry>, promptEntries: Map<string, PromptRegistryEntry>, tags: string[], options?: Omit<DiscoveryQuery, 'tags'>): DiscoveryResult;
/**
* Get tools and prompts by author
*/
getByAuthor(toolEntries: Map<string, ToolRegistryEntry>, promptEntries: Map<string, PromptRegistryEntry>, author: string, options?: Omit<DiscoveryQuery, 'author'>): DiscoveryResult;
/**
* Get compatible tools and prompts for a specific version
*/
getCompatibleEntries(toolEntries: Map<string, ToolRegistryEntry>, promptEntries: Map<string, PromptRegistryEntry>, targetVersion: VersionInfo, options?: DiscoveryQuery): DiscoveryResult;
/**
* Get recently created or updated entries
*/
getRecent(toolEntries: Map<string, ToolRegistryEntry>, promptEntries: Map<string, PromptRegistryEntry>, days?: number, options?: DiscoveryQuery): DiscoveryResult;
/**
* Get deprecated entries
*/
getDeprecated(toolEntries: Map<string, ToolRegistryEntry>, promptEntries: Map<string, PromptRegistryEntry>, options?: Omit<DiscoveryQuery, 'deprecated'>): DiscoveryResult;
/**
* Get available categories (tags)
*/
getCategories(toolEntries: Map<string, ToolRegistryEntry>, promptEntries: Map<string, PromptRegistryEntry>): string[];
/**
* Get statistics about available entries
*/
getStatistics(toolEntries: Map<string, ToolRegistryEntry>, promptEntries: Map<string, PromptRegistryEntry>): {
tools: number;
prompts: number;
total: number;
deprecated: number;
categories: number;
authors: number;
averageVersion: string;
latestVersion: string;
};
private applyFilters;
private applySorting;
private convertToDiscoveryEntries;
private generateDiscoveryMetadata;
}
//# sourceMappingURL=DiscoveryService.d.ts.map