UNPKG

@myea/wordpress-mcp-handler

Version:

Advanced WordPress MCP request handler with intelligent search, multi-locale support, and comprehensive content management capabilities

317 lines 9.25 kB
export interface WordPressPost { id?: number; date?: string; date_gmt?: string; guid?: { rendered: string; }; modified?: string; modified_gmt?: string; slug?: string; status?: 'publish' | 'draft' | 'private' | 'pending' | 'future'; type?: string; link?: string; title?: { rendered: string; }; content?: { rendered: string; protected: boolean; }; excerpt?: { rendered: string; protected: boolean; }; author?: number; featured_media?: number; comment_status?: 'open' | 'closed'; ping_status?: 'open' | 'closed'; sticky?: boolean; template?: string; format?: string; meta?: Record<string, any>; categories?: number[]; tags?: number[]; acf?: Record<string, any>; } export interface CreatePostRequest { title: string; content: string; status?: 'publish' | 'draft' | 'private' | 'pending'; excerpt?: string; author?: number; categories?: number[]; tags?: number[]; meta?: Record<string, any>; featured_media?: number; comment_status?: 'open' | 'closed'; ping_status?: 'open' | 'closed'; sticky?: boolean; template?: string; format?: string; } export interface UpdatePostRequest { id: number; title?: string; content?: string; status?: 'publish' | 'draft' | 'private' | 'pending'; excerpt?: string; categories?: number[]; tags?: number[]; meta?: Record<string, any>; } export interface WordPressPage { id?: number; date?: string; date_gmt?: string; guid?: { rendered: string; }; modified?: string; modified_gmt?: string; slug?: string; status?: 'publish' | 'draft' | 'private' | 'pending'; type?: string; link?: string; title?: { rendered: string; }; content?: { rendered: string; protected: boolean; }; excerpt?: { rendered: string; protected: boolean; }; author?: number; featured_media?: number; comment_status?: 'open' | 'closed'; ping_status?: 'open' | 'closed'; menu_order?: number; parent?: number; template?: string; meta?: Record<string, any>; } export interface CreatePageRequest { title: string; content: string; status?: 'publish' | 'draft' | 'private' | 'pending'; parent?: number; menu_order?: number; template?: string; meta?: Record<string, any>; } export interface WordPressMedia { id?: number; date?: string; date_gmt?: string; guid?: { rendered: string; }; modified?: string; modified_gmt?: string; slug?: string; status?: 'inherit' | 'private'; type?: string; link?: string; title?: { rendered: string; }; author?: number; comment_status?: 'open' | 'closed'; ping_status?: 'open' | 'closed'; template?: string; meta?: Record<string, any>; description?: { rendered: string; }; caption?: { rendered: string; }; alt_text?: string; media_type?: 'image' | 'file' | 'video' | 'audio'; mime_type?: string; media_details?: { width?: number; height?: number; file?: string; sizes?: Record<string, any>; }; post?: number; source_url?: string; } export interface UploadMediaRequest { file: Buffer | string; filename: string; mimeType: string; title?: string; alt_text?: string; caption?: string; description?: string; post?: number; } export interface WordPressCategory { id?: number; count?: number; description?: string; link?: string; name?: string; slug?: string; taxonomy?: string; parent?: number; meta?: Record<string, any>; } export interface WordPressTag { id?: number; count?: number; description?: string; link?: string; name?: string; slug?: string; taxonomy?: string; meta?: Record<string, any>; } export interface WordPressUser { id?: number; username?: string; name?: string; first_name?: string; last_name?: string; email?: string; url?: string; description?: string; link?: string; locale?: string; nickname?: string; slug?: string; roles?: string[]; capabilities?: Record<string, boolean>; extra_capabilities?: Record<string, boolean>; avatar_urls?: Record<string, string>; meta?: Record<string, any>; } export interface WordPressComment { id?: number; post?: number; parent?: number; author?: number; author_name?: string; author_email?: string; author_url?: string; author_ip?: string; author_user_agent?: string; date?: string; date_gmt?: string; content?: { rendered: string; }; link?: string; status?: 'hold' | 'approve' | 'spam' | 'trash'; type?: string; author_avatar_urls?: Record<string, string>; meta?: Record<string, any>; } export interface SearchParams { search?: string; author?: number; author_exclude?: number[]; before?: string; after?: string; exclude?: number[]; include?: number[]; offset?: number; order?: 'asc' | 'desc'; orderby?: 'author' | 'date' | 'id' | 'include' | 'modified' | 'parent' | 'relevance' | 'slug' | 'title'; per_page?: number; page?: number; status?: string[]; categories?: number[]; categories_exclude?: number[]; tags?: number[]; tags_exclude?: number[]; sticky?: boolean; meta_key?: string; meta_value?: string; meta_compare?: '=' | '!=' | '>' | '>=' | '<' | '<=' | 'LIKE' | 'NOT LIKE' | 'IN' | 'NOT IN' | 'BETWEEN' | 'NOT BETWEEN' | 'EXISTS' | 'NOT EXISTS'; meta_query?: Array<{ key: string; value?: any; compare?: string; type?: 'NUMERIC' | 'BINARY' | 'CHAR' | 'DATE' | 'DATETIME' | 'DECIMAL' | 'SIGNED' | 'TIME' | 'UNSIGNED'; }>; } export interface SiteInfo { name?: string; description?: string; url?: string; admin_email?: string; timezone?: string; date_format?: string; time_format?: string; start_of_week?: number; language?: string; use_smilies?: boolean; default_category?: number; default_post_format?: string; posts_per_page?: number; default_ping_status?: 'open' | 'closed'; default_comment_status?: 'open' | 'closed'; } export declare class WordPressConnector { private client; private config; private auth; private wpConfig; constructor(); private loadConfig; private extractAuthConfig; private createAxiosInstance; testConnection(): Promise<any>; getPosts(params?: SearchParams): Promise<any>; getPost(id: number): Promise<any>; createPost(request: CreatePostRequest): Promise<any>; updatePost(request: UpdatePostRequest): Promise<any>; deletePost(id: number, force?: boolean): Promise<any>; getPages(params?: SearchParams): Promise<any>; getPage(id: number): Promise<any>; createPage(request: CreatePageRequest): Promise<any>; updatePage(id: number, updateData: Partial<CreatePageRequest>): Promise<any>; deletePage(id: number, force?: boolean): Promise<any>; getMedia(params?: SearchParams): Promise<any>; getMediaItem(id: number): Promise<any>; uploadMedia(request: UploadMediaRequest): Promise<any>; updateMedia(id: number, updateData: Partial<UploadMediaRequest>): Promise<any>; deleteMedia(id: number, force?: boolean): Promise<any>; getCategories(params?: SearchParams): Promise<any>; getCategory(id: number): Promise<any>; createCategory(name: string, description?: string, parent?: number): Promise<any>; updateCategory(id: number, name?: string, description?: string, parent?: number): Promise<any>; deleteCategory(id: number, force?: boolean): Promise<any>; getTags(params?: SearchParams): Promise<any>; getTag(id: number): Promise<any>; createTag(name: string, description?: string): Promise<any>; updateTag(id: number, name?: string, description?: string): Promise<any>; deleteTag(id: number, force?: boolean): Promise<any>; getUsers(params?: SearchParams): Promise<any>; getUser(id: number): Promise<any>; getCurrentUser(): Promise<any>; getComments(params?: SearchParams): Promise<any>; getComment(id: number): Promise<any>; createComment(post: number, content: string, author_name?: string, author_email?: string): Promise<any>; updateComment(id: number, content?: string, status?: 'hold' | 'approve' | 'spam' | 'trash'): Promise<any>; deleteComment(id: number, force?: boolean): Promise<any>; searchContent(query: string, postType?: string, params?: SearchParams): Promise<any>; enhancedSearch(query: string, options?: { includePosts?: boolean; includePages?: boolean; includeMedia?: boolean; fuzzyMatching?: boolean; includeMeta?: boolean; }): Promise<any>; getSiteInfo(): Promise<any>; getContentBySlug(slug: string, postType?: string): Promise<any>; getPostRevisions(postId: number): Promise<any>; getContentStats(): Promise<any>; } //# sourceMappingURL=wordpress-connector.d.ts.map