claudeus-wp-mcp
Version:
The most comprehensive WordPress MCP server - 145 production-ready tools for complete WordPress management with AI
56 lines (55 loc) • 2.07 kB
TypeScript
/**
* Central tool routing handler
* Routes tool calls to appropriate domain-specific handlers
*/
import { PostsApiClient } from '../api/posts.js';
import { PagesApiClient } from '../api/pages.js';
import { MediaApiClient } from '../api/media.js';
import { BlocksApiClient } from '../api/blocks.js';
import { ThemeApiClient } from '../api/themes.js';
import { TaxonomiesApiClient } from '../api/taxonomies.js';
import { UsersApiClient } from '../api/users.js';
import { CommentsApiClient } from '../api/comments.js';
import { MenusApiClient } from '../api/menus.js';
import { AstraApiClient } from '../api/astra.js';
import { TemplatesApiClient } from '../api/templates.js';
import { GlobalStylesApiClient } from '../api/global-styles.js';
import { PatternsApiClient } from '../api/patterns.js';
import { SettingsApiClient } from '../api/settings.js';
import { PluginsApiClient } from '../api/plugins.js';
import { WidgetsApiClient } from '../api/widgets.js';
import { HealthApiClient } from '../api/health.js';
import { SearchApiClient } from '../api/search.js';
import { ShopAPI } from '../api/shop.js';
import { WordPressClient } from '../wordpress-client.js';
export interface ClientMap {
posts: PostsApiClient;
pages: PagesApiClient;
media: MediaApiClient;
blocks: BlocksApiClient;
themes: ThemeApiClient;
taxonomies: TaxonomiesApiClient;
users: UsersApiClient;
comments: CommentsApiClient;
menus: MenusApiClient;
astra: AstraApiClient;
templates: TemplatesApiClient;
globalStyles: GlobalStylesApiClient;
patterns: PatternsApiClient;
settings: SettingsApiClient;
plugins: PluginsApiClient;
widgets: WidgetsApiClient;
health: HealthApiClient;
search: SearchApiClient;
shop: ShopAPI;
wordpress?: WordPressClient;
}
/**
* Route a tool call to the appropriate handler based on tool name
*/
export declare function routeToolCall(toolName: string, args: Record<string, unknown>, clients: ClientMap): Promise<{
content: {
type: string;
text: string;
}[];
}>;