Claudeus WordPress MCP

# Smithery.ai configuration for Claudeus WordPress MCP name: "Claudeus WordPress MCP" description: "AI-powered WordPress management with MCP protocol support" version: "2.0.3" author: name: "Amadeus Samiel H." email: "amadeus.hritani@simhop.se" organization: name: "SimHop IT & Media AB" website: "https://simhop.se" startCommand: type: stdio configSchema: type: object properties: WP_SITES_PATH: type: string description: "Path to WordPress sites configuration JSON file" default: "./wp-sites.json" examples: ["./wp-sites.json", "/app/config/wp-sites.json"] PORT: type: number description: "Port number for the MCP server (for health checks)" default: 3000 minimum: 1024 maximum: 65535 NODE_ENV: type: string description: "Node environment (development/production)" enum: ["development", "production"] default: "production" DEBUG: type: string description: "Debug configuration pattern" default: "claudeus:*" examples: ["claudeus:*", "claudeus:wp,claudeus:mcp"] AUTH_TYPE: type: string description: "Default WordPress authentication type" enum: ["basic", "jwt"] default: "basic" SSL_VERIFY: type: boolean description: "Verify SSL certificates for WordPress connections" default: true LOG_LEVEL: type: string description: "Logging level" enum: ["error", "warn", "info", "debug"] default: "info" BATCH_SIZE: type: number description: "Maximum number of items to process in a batch" default: 100 minimum: 1 maximum: 1000 additionalProperties: false commandFunction: |- (config) => { // Ensure configuration files exist const fs = require('fs'); const path = require('path'); // Helper function to copy example if target doesn't exist const copyExampleIfNeeded = (examplePath, targetPath) => { if (!fs.existsSync(targetPath) && fs.existsSync(examplePath)) { fs.copyFileSync(examplePath, targetPath); } }; // Copy example files if needed copyExampleIfNeeded('wp-sites.json.example', 'wp-sites.json'); copyExampleIfNeeded('.env.example', '.env'); const env = { WP_SITES_PATH: config.WP_SITES_PATH || "./wp-sites.json", PORT: config.PORT?.toString() || "3000", NODE_ENV: config.NODE_ENV || "production", DEBUG: config.DEBUG || "claudeus:*", AUTH_TYPE: config.AUTH_TYPE || "basic", SSL_VERIFY: (config.SSL_VERIFY ?? true).toString(), LOG_LEVEL: config.LOG_LEVEL || "info", BATCH_SIZE: config.BATCH_SIZE?.toString() || "100", MCP_STDIO: "true" }; return { command: "node", args: ["dist/index.js"], env, cwd: process.cwd() }; } capabilities: prompts: listChanged: true tools: listChanged: true resources: listChanged: true security: userConsent: required: true description: "This MCP server requires access to your WordPress sites and will perform content management operations." dataAccess: - type: "wordpress" description: "Access to configured WordPress sites via REST API" - type: "filesystem" description: "Access to wp-sites.json configuration file" toolSafety: confirmationRequired: true description: "Tools can modify WordPress content and settings" dangerousOperations: - "delete_post" - "delete_page" - "delete_block" - "delete_media" - "activate_theme"