{"slug":"royal-mcp","name":"Royal MCP – Secure AI Connector for Claude, ChatGPT & any LLM via MCP","description":"250+ MCP tools. OAuth 2.0 + WebMCP. Connect Claude, ChatGPT, Perplexity, Gemini or any MCP agent to your WordPress site. 100% self-hosted.","author":"Royal Plugins","active_installs":10000,"version":"1.5.11","wp_org_url":"https://wordpress.org/plugins/royal-mcp/","is_closed":false,"cleanup":{"has_uninstall_hook":true,"drops_tables_on_uninstall":true,"deletes_options_on_uninstall":true},"tables":[{"table_name":"fails","full_table_name":"wp_fails","description":"Stores fails data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":"CREATE TABLE fails (e.g. host-side schema * incompatibility), remember the failure and skip re-running for * DAY_IN_SECONDS. Without this the same failing DDL would fire on every * request, flooding error logs. Guard state is a single option that * gets cleared as soon as a run succeeds, so admins who fix the * underlying issue see recovery on their next request. */ public function maybe_upgrade_db() { // Run the API-key migration first, self-gated on the data shape so it // no-ops after the first successful pass. Kept outside the version // guard because the hash-at-rest change applies to any install whose // settings still hold a plaintext key, not just first-load post-upgrade. $this->maybe_migrate_api_key_settings();"},{"table_name":"royal_mcp_logs","full_table_name":"wp_royal_mcp_logs","description":"A logging table that records activity, events, or audit history.","detection_method":"static","confidence":"high","columns":[],"create_sql":null},{"table_name":"royal_mcp_oauth_auth_codes","full_table_name":"wp_royal_mcp_oauth_auth_codes","description":"Stores royal mcp oauth auth codes data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":null},{"table_name":"royal_mcp_oauth_clients","full_table_name":"wp_royal_mcp_oauth_clients","description":"Stores royal mcp oauth clients data created by this plugin.","detection_method":"static","confidence":"high","columns":[],"create_sql":null},{"table_name":"royal_mcp_oauth_tokens","full_table_name":"wp_royal_mcp_oauth_tokens","description":"Stores access tokens for authentication or API access.","detection_method":"static","confidence":"high","columns":[],"create_sql":null},{"table_name":"royal_mcp_sessions","full_table_name":"wp_royal_mcp_sessions","description":"Stores session data for tracking user or visitor state.","detection_method":"static","confidence":"high","columns":[],"create_sql":null}],"table_count":6}