Skip to main content
Glama

Claudeus WordPress MCP

by deus-h
handlers.ts4.58 kB
import { AstraApiClient } from '../../api/astra.js'; import { AstraMegaMenuData, AstraCustomLayoutData } from '../../types/index.js'; export async function handleAstraTools( name: string, args: Record<string, unknown>, client: AstraApiClient ) { switch (name) { // ========================================== // ASTRA MEGA MENUS // ========================================== case 'claudeus_wp_astra__get_mega_menu': { const megaMenu = await client.getMegaMenu(args.menu_item_id as number); return { content: [{ type: "text", text: JSON.stringify(megaMenu, null, 2) }] }; } case 'claudeus_wp_astra__update_mega_menu': { const megaMenu = await client.updateMegaMenu(args.data as AstraMegaMenuData); return { content: [{ type: "text", text: JSON.stringify(megaMenu, null, 2) }] }; } case 'claudeus_wp_astra__enable_mega_menu': { const megaMenu = await client.enableMegaMenu( args.menu_item_id as number, args.columns as number | undefined ); return { content: [{ type: "text", text: JSON.stringify(megaMenu, null, 2) }] }; } case 'claudeus_wp_astra__disable_mega_menu': { const megaMenu = await client.disableMegaMenu(args.menu_item_id as number); return { content: [{ type: "text", text: JSON.stringify(megaMenu, null, 2) }] }; } // ========================================== // ASTRA CUSTOM LAYOUTS // ========================================== case 'claudeus_wp_astra__get_custom_layouts': { const layouts = await client.getCustomLayouts(); return { content: [{ type: "text", text: JSON.stringify(layouts, null, 2) }] }; } case 'claudeus_wp_astra__get_custom_layout': { const layout = await client.getCustomLayout(args.id as number); return { content: [{ type: "text", text: JSON.stringify(layout, null, 2) }] }; } case 'claudeus_wp_astra__create_custom_layout': { const layout = await client.createCustomLayout(args.data as AstraCustomLayoutData); return { content: [{ type: "text", text: JSON.stringify(layout, null, 2) }] }; } case 'claudeus_wp_astra__update_custom_layout': { const layout = await client.updateCustomLayout( args.id as number, args.data as Partial<AstraCustomLayoutData> ); return { content: [{ type: "text", text: JSON.stringify(layout, null, 2) }] }; } case 'claudeus_wp_astra__delete_custom_layout': { const result = await client.deleteCustomLayout( args.id as number, args.force as boolean || false ); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } // ========================================== // ASTRA THEME SETTINGS // ========================================== case 'claudeus_wp_astra__get_settings': { const settings = await client.getThemeSettings(); return { content: [{ type: "text", text: JSON.stringify(settings, null, 2) }] }; } case 'claudeus_wp_astra__update_settings': { const settings = await client.updateThemeSettings(args.settings as Record<string, any>); return { content: [{ type: "text", text: JSON.stringify(settings, null, 2) }] }; } default: throw new Error(`Unknown Astra tool: ${name}`); } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/deus-h/claudeus-wp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server