Skip to main content
Glama

Claudeus WordPress MCP

by deus-h
index.ts14.9 kB
import { Tool } from '@modelcontextprotocol/sdk/types.js'; import { SITE_PARAM, ID_PARAM } from '../schemas/common.js'; export const astraTools: Tool[] = [ // ========================================== // ASTRA MEGA MENUS // ========================================== { name: 'claudeus_wp_astra__get_mega_menu', description: 'Get Astra mega menu configuration for a specific menu item. Shows columns, content, and display settings for advanced dropdown menus.', inputSchema: { type: 'object', required: ['menu_item_id'], properties: { site: SITE_PARAM, menu_item_id: { type: 'number', description: 'The menu item ID to get mega menu configuration for' } } } }, { name: 'claudeus_wp_astra__update_mega_menu', description: 'Create or update Astra mega menu configuration. Configure columns, content, display mode, and styling for advanced dropdown menus.', inputSchema: { type: 'object', required: ['data'], properties: { site: SITE_PARAM, data: { type: 'object', description: 'Mega menu configuration data', properties: { menu_item_id: { type: 'number', description: 'The menu item ID to configure mega menu for (required)' }, enabled: { type: 'boolean', description: 'Whether mega menu is enabled for this item' }, columns: { type: 'number', description: 'Number of columns (2-6)', minimum: 2, maximum: 6 }, display_mode: { type: 'string', description: 'Display mode for mega menu', enum: ['vertical', 'horizontal'] }, column_width: { type: 'string', description: 'Column width setting', enum: ['auto', 'full', 'custom'] }, custom_width: { type: 'string', description: 'Custom width in pixels or percentage (e.g., "800px" or "80%")' }, hide_label: { type: 'boolean', description: 'Whether to hide the menu item label' }, disable_link: { type: 'boolean', description: 'Whether to disable the link (make it just a trigger)' }, css_classes: { type: 'array', description: 'Custom CSS classes for styling', items: { type: 'string' } }, icon: { type: 'string', description: 'Icon for the menu item (icon class or URL)' }, icon_position: { type: 'string', description: 'Icon position', enum: ['left', 'right'] } } } } } }, { name: 'claudeus_wp_astra__enable_mega_menu', description: 'Enable Astra mega menu for a menu item with default settings. Quick way to turn a regular menu item into a mega menu.', inputSchema: { type: 'object', required: ['menu_item_id'], properties: { site: SITE_PARAM, menu_item_id: { type: 'number', description: 'The menu item ID to enable mega menu for' }, columns: { type: 'number', description: 'Number of columns (default: 3)', minimum: 2, maximum: 6, default: 3 } } } }, { name: 'claudeus_wp_astra__disable_mega_menu', description: 'Disable Astra mega menu for a menu item. Reverts the menu item to standard dropdown behavior.', inputSchema: { type: 'object', required: ['menu_item_id'], properties: { site: SITE_PARAM, menu_item_id: { type: 'number', description: 'The menu item ID to disable mega menu for' } } } }, // ========================================== // ASTRA CUSTOM LAYOUTS // ========================================== { name: 'claudeus_wp_astra__get_custom_layouts', description: 'Get all Astra custom layouts (headers, footers, hooks). List all conditional layout overrides.', inputSchema: { type: 'object', properties: { site: SITE_PARAM } } }, { name: 'claudeus_wp_astra__get_custom_layout', description: 'Get a specific Astra custom layout by ID. View configuration, content, and display rules.', inputSchema: { type: 'object', required: ['id'], properties: { site: SITE_PARAM, id: ID_PARAM } } }, { name: 'claudeus_wp_astra__create_custom_layout', description: 'Create a new Astra custom layout. Create custom headers, footers, or hook-based layouts with conditional display rules.', inputSchema: { type: 'object', required: ['data'], properties: { site: SITE_PARAM, data: { type: 'object', description: 'Custom layout data', properties: { title: { type: 'string', description: 'Layout title' }, content: { type: 'string', description: 'Layout content (HTML/block markup)' }, status: { type: 'string', description: 'Layout status', enum: ['publish', 'draft', 'pending', 'private'], default: 'publish' }, 'ast-advanced-hook-layout': { type: 'string', description: 'Layout type', enum: ['header', 'footer', 'hooks', '404-page', 'content'] }, 'ast-advanced-hook-location': { type: 'string', description: 'Display location/hook for the layout' }, 'ast-advanced-hook-action': { type: 'string', description: 'WordPress action hook name (for hooks layout type)' }, 'ast-advanced-hook-priority': { type: 'number', description: 'Hook priority (default: 10)', default: 10 }, 'ast-advanced-display-rules': { type: 'object', description: 'Conditional display rules (pages, posts, archives, etc.)' }, 'ast-advanced-user-rules': { type: 'object', description: 'User-based display rules (logged in, roles, etc.)' }, 'ast-advanced-device-rules': { type: 'array', description: 'Device visibility (desktop, tablet, mobile)', items: { type: 'string', enum: ['desktop', 'tablet', 'mobile'] } } } } } } }, { name: 'claudeus_wp_astra__update_custom_layout', description: 'Update an existing Astra custom layout. Modify content, display rules, or settings.', inputSchema: { type: 'object', required: ['id', 'data'], properties: { site: SITE_PARAM, id: ID_PARAM, data: { type: 'object', description: 'Updated layout data', properties: { title: { type: 'string', description: 'Layout title' }, content: { type: 'string', description: 'Layout content (HTML/block markup)' }, status: { type: 'string', description: 'Layout status', enum: ['publish', 'draft', 'pending', 'private'] }, 'ast-advanced-hook-layout': { type: 'string', description: 'Layout type', enum: ['header', 'footer', 'hooks', '404-page', 'content'] }, 'ast-advanced-hook-location': { type: 'string', description: 'Display location/hook' }, 'ast-advanced-hook-action': { type: 'string', description: 'WordPress action hook name' }, 'ast-advanced-hook-priority': { type: 'number', description: 'Hook priority' }, 'ast-advanced-display-rules': { type: 'object', description: 'Conditional display rules' }, 'ast-advanced-user-rules': { type: 'object', description: 'User-based display rules' }, 'ast-advanced-device-rules': { type: 'array', description: 'Device visibility', items: { type: 'string', enum: ['desktop', 'tablet', 'mobile'] } } } } } } }, { name: 'claudeus_wp_astra__delete_custom_layout', description: 'Delete an Astra custom layout. Removes the custom header, footer, or hook layout.', inputSchema: { type: 'object', required: ['id'], properties: { site: SITE_PARAM, id: ID_PARAM, force: { type: 'boolean', description: 'Whether to force delete (bypass trash)', default: false } } } }, // ========================================== // ASTRA THEME SETTINGS // ========================================== { name: 'claudeus_wp_astra__get_settings', description: 'Get all Astra theme settings. Returns complete theme configuration including header, footer, colors, typography, layout, and more.', inputSchema: { type: 'object', properties: { site: SITE_PARAM } } }, { name: 'claudeus_wp_astra__update_settings', description: 'Update Astra theme settings. Configure header, footer, colors, typography, layout settings, and more.', inputSchema: { type: 'object', required: ['settings'], properties: { site: SITE_PARAM, settings: { type: 'object', description: 'Theme settings to update', properties: { 'site-title': { type: 'string', description: 'Site title visibility' }, 'site-logo': { type: 'string', description: 'Logo URL or ID' }, 'header-layouts': { type: 'string', description: 'Header layout style' }, 'footer-sml-layout': { type: 'string', description: 'Footer layout' }, 'site-layout': { type: 'string', description: 'Overall site layout' }, 'site-content-layout': { type: 'string', description: 'Content layout (full-width, boxed, etc.)' }, 'site-sidebar-layout': { type: 'string', description: 'Sidebar position' }, 'theme-color': { type: 'string', description: 'Primary theme color' }, 'link-color': { type: 'string', description: 'Link color' }, 'text-color': { type: 'string', description: 'Text color' }, 'body-font-family': { type: 'string', description: 'Body font family' }, 'headings-font-family': { type: 'string', description: 'Headings font family' }, 'font-size-body': { type: 'object', description: 'Body font size settings' }, 'site-content-width': { type: 'number', description: 'Content width in pixels' }, 'blog-layout': { type: 'string', description: 'Blog archive layout' }, 'single-post-content-layout': { type: 'string', description: 'Single post layout' } } } } } } ];

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