{"id":312979,"date":"2026-05-22T10:23:19","date_gmt":"2026-05-22T10:23:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/quark\/"},"modified":"2026-05-22T10:23:05","modified_gmt":"2026-05-22T10:23:05","slug":"aculect-ai-companion","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/aculect-ai-companion\/","author":11669180,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.3.0","stable_tag":"0.3.0","tested":"6.9.4","requires":"6.5","requires_php":"8.2","requires_plugins":null,"header_name":"Aculect AI Companion","header_author":"Mehul Gohil","header_description":"Connect WordPress with AI. Aculect AI Companion helps you manage content, comments, media, and more with your AI assistant.","assets_banners_color":"c8ccd4","last_updated":"2026-05-22 10:23:05","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/aculect.com","header_author_uri":"https:\/\/mehulgohil.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.3.0":{"tag":"0.3.0","author":"mehul0810","date":"2026-05-22 10:23:05"}},"upgrade_notice":{"0.3.0":"<p>Adds AI activity visibility, access pause controls, connection diagnostics, stronger safeguards, and refreshed onboarding screens.<\/p>","0.2.1":"<p>Fixes diagnostics log table repair and adds Cloudflare MCP connection guidance.<\/p>","0.2.0":"<p>Adds opt-in connection diagnostics and hardens OAuth consent request handling.<\/p>","0.1.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3543575,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3543575,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3543575,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3543575,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3543575,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3543575,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"landingPage\":\"\\\/wp-admin\\\/options-general.php?page=aculect-ai-companion\",\"meta\":{\"title\":\"Aculect AI Companion Preview\",\"author\":\"Aculect\",\"description\":\"Preview the Aculect AI Companion settings screen, connection workflow, diagnostics, abilities, and activity views in WordPress Playground.\",\"categories\":[\"plugins\",\"productivity\"]},\"preferredVersions\":{\"php\":\"8.3\",\"wp\":\"latest\"},\"steps\":[{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"aculect-ai-companion\"},\"options\":{\"activate\":true},\"ifAlreadyInstalled\":\"overwrite\"},{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"}]}"}},"all_blocks":[],"tagged_versions":["0.3.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3543575,"resolution":"1","location":"assets","locale":"","width":1544,"height":1234},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3543575,"resolution":"2","location":"assets","locale":"","width":1544,"height":2340},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3543575,"resolution":"3","location":"assets","locale":"","width":1544,"height":1391},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3543575,"resolution":"4","location":"assets","locale":"","width":1544,"height":1100},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3543575,"resolution":"5","location":"assets","locale":"","width":1544,"height":1100},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3543575,"resolution":"6","location":"assets","locale":"","width":1544,"height":1123},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3543575,"resolution":"7","location":"assets","locale":"","width":1544,"height":1224},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3543575,"resolution":"8","location":"assets","locale":"","width":1544,"height":2088}},"screenshots":{"1":"About tab with a plain-language overview of Aculect AI Companion.","2":"Connect tab with the MCP connection URL and guided setup for AI tools.","3":"Diagnostics tab for checking endpoint, OAuth, and MCP readiness.","4":"Connections tab for reviewing connected AI assistants and access state.","5":"Activity tab showing write actions requested by connected AI assistants.","6":"Advanced tab with diagnostic logging and retention controls.","7":"Logs tab showing sanitized connection lifecycle and error events.","8":"Changelog tab with recent release notes."}},"plugin_section":[],"plugin_tags":[2353,216196,229563,529,84],"plugin_category":[50],"plugin_contributors":[147734],"plugin_business_model":[],"class_list":["post-312979","plugin","type-plugin","status-publish","hentry","plugin_tags-ai","plugin_tags-chatgpt","plugin_tags-claude","plugin_tags-content","plugin_tags-media","plugin_category-media","plugin_contributors-mehul0810","plugin_committers-mehul0810"],"banners":{"banner":"https:\/\/ps.w.org\/aculect-ai-companion\/assets\/banner-772x250.png?rev=3543575","banner_2x":"https:\/\/ps.w.org\/aculect-ai-companion\/assets\/banner-1544x500.png?rev=3543575","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/aculect-ai-companion\/assets\/icon.svg?rev=3543575","icon":"https:\/\/ps.w.org\/aculect-ai-companion\/assets\/icon.svg?rev=3543575","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/aculect-ai-companion\/assets\/screenshot-1.png?rev=3543575","caption":"About tab with a plain-language overview of Aculect AI Companion."},{"src":"https:\/\/ps.w.org\/aculect-ai-companion\/assets\/screenshot-2.png?rev=3543575","caption":"Connect tab with the MCP connection URL and guided setup for AI tools."},{"src":"https:\/\/ps.w.org\/aculect-ai-companion\/assets\/screenshot-3.png?rev=3543575","caption":"Diagnostics tab for checking endpoint, OAuth, and MCP readiness."},{"src":"https:\/\/ps.w.org\/aculect-ai-companion\/assets\/screenshot-4.png?rev=3543575","caption":"Connections tab for reviewing connected AI assistants and access state."},{"src":"https:\/\/ps.w.org\/aculect-ai-companion\/assets\/screenshot-5.png?rev=3543575","caption":"Activity tab showing write actions requested by connected AI assistants."},{"src":"https:\/\/ps.w.org\/aculect-ai-companion\/assets\/screenshot-6.png?rev=3543575","caption":"Advanced tab with diagnostic logging and retention controls."},{"src":"https:\/\/ps.w.org\/aculect-ai-companion\/assets\/screenshot-7.png?rev=3543575","caption":"Logs tab showing sanitized connection lifecycle and error events."},{"src":"https:\/\/ps.w.org\/aculect-ai-companion\/assets\/screenshot-8.png?rev=3543575","caption":"Changelog tab with recent release notes."}],"raw_content":"<!--section=description-->\n<h4>Pre-production Notice<\/h4>\n\n<p>Aculect AI Companion is an early release and is not intended for production websites yet. It can create, update, and manage WordPress content through connected AI assistants, so test it only on development or staging sites and enable it only with explicit approval from the site owner.<\/p>\n\n<p>Aculect AI Companion lets site owners manage their WordPress site using an AI assistant. Instead of navigating WordPress menus, you can ask your AI assistant in plain English to create posts, update pages, moderate comments, upload media, and review safe site information.<\/p>\n\n<p>Setup is designed to be simple:<\/p>\n\n<ol>\n<li>Copy your connection URL from Settings &gt; Aculect AI Companion.<\/li>\n<li>Open your AI tool and add a new connector.<\/li>\n<li>Paste the URL when prompted.<\/li>\n<li>Approve the connection on the screen that appears.<\/li>\n<\/ol>\n\n<p>After approval, Aculect AI Companion checks the connected WordPress user's permissions before every action. You can also choose exactly what your AI can do and disconnect assistants at any time.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Create, edit, and publish posts and pages<\/li>\n<li>Manage categories, tags, and content groups<\/li>\n<li>Moderate and reply to comments<\/li>\n<li>Upload and list media<\/li>\n<li>View site settings, active plugins, and themes<\/li>\n<li>Connect and disconnect AI assistants<\/li>\n<\/ul>\n\n<h4>Supported AI Tools<\/h4>\n\n<p>Aculect AI Companion currently includes setup guidance for:<\/p>\n\n<ul>\n<li>ChatGPT app with Developer Mode connectors<\/li>\n<li>OpenAI API integrations that support remote connectors<\/li>\n<li>Claude app, Claude Desktop, Claude Cowork, and Claude mobile<\/li>\n<li>Claude Code<\/li>\n<li>Claude API integrations that support remote connectors<\/li>\n<\/ul>\n\n<p>Your AI tool must be able to reach your WordPress site over HTTPS to connect.<\/p>\n\n<h4>Supported Abilities<\/h4>\n\n<p>Admins can enable or disable these abilities from Settings &gt; Aculect AI Companion &gt; Abilities after the first assistant connection is active.<\/p>\n\n<p>Content:<\/p>\n\n<ul>\n<li>List readable content types, including custom post types<\/li>\n<li>List posts, pages, and custom content items with pagination<\/li>\n<li>Read one content item by ID<\/li>\n<li>Create a post, page, or custom content item<\/li>\n<li>Update title, content, excerpt, slug, or status for an existing item<\/li>\n<\/ul>\n\n<p>Content groups:<\/p>\n\n<ul>\n<li>List available categories, tags, and custom content groups<\/li>\n<li>List terms for a supported taxonomy with pagination<\/li>\n<li>Create a category, tag, or custom content group<\/li>\n<li>Update a category, tag, or custom content group<\/li>\n<\/ul>\n\n<p>Comments:<\/p>\n\n<ul>\n<li>List comments for review with pagination<\/li>\n<li>Read one comment by ID<\/li>\n<li>Reply to a comment as the connected WordPress user<\/li>\n<li>Moderate comment content or status<\/li>\n<\/ul>\n\n<p>Media:<\/p>\n\n<ul>\n<li>List media library attachments with pagination<\/li>\n<li>Upload media from a public URL with server-side request checks<\/li>\n<\/ul>\n\n<p>Site information:<\/p>\n\n<ul>\n<li>View safe, non-secret site settings<\/li>\n<li>View WordPress version, PHP version, active theme, and basic site metadata<\/li>\n<li>List installed plugins and active state for users who can manage plugins<\/li>\n<li>List installed themes and active state for users who can manage themes<\/li>\n<\/ul>\n\n<p>WordPress abilities:<\/p>\n\n<ul>\n<li>Discover supported public WordPress abilities registered by WordPress and plugins<\/li>\n<li>Inspect one supported public WordPress ability<\/li>\n<li>Run a supported public WordPress ability using the connected user's permissions<\/li>\n<\/ul>\n\n<h3>Third Party Services<\/h3>\n\n<p>Aculect AI Companion does not send site data to an external service on activation, page load, cron, or without a site administrator connecting an AI assistant.<\/p>\n\n<p>When a site administrator copies the connection URL into an external AI assistant and approves the connection screen in WordPress, that assistant can request the enabled abilities. Depending on the enabled abilities and the connected WordPress user's permissions, requested data may include post titles, post content, excerpts, slugs, statuses, authors, dates, permalinks, category and tag names, media metadata, comments, and safe site settings such as site name, description, URLs, locale, timezone, date format, time format, permalink structure, and active theme name.<\/p>\n\n<p>The external service that receives this data is the AI assistant selected and configured by the administrator. Aculect AI Companion's built-in setup UI includes links for:<\/p>\n\n<ul>\n<li>ChatGPT by OpenAI: https:\/\/chatgpt.com\/, terms at https:\/\/openai.com\/policies\/terms-of-use\/, and privacy policy at https:\/\/openai.com\/policies\/row-privacy-policy\/<\/li>\n<li>Claude by Anthropic: https:\/\/claude.ai\/, terms at https:\/\/www.anthropic.com\/legal\/consumer-terms, and privacy policy at https:\/\/www.anthropic.com\/legal\/privacy<\/li>\n<\/ul>\n\n<p>Administrators should review the terms and privacy policy for the AI assistant they connect. Aculect AI Companion controls the WordPress-side approval and permissions checks; it does not control how a connected external assistant processes data after the administrator authorizes access.<\/p>\n\n<h3>Development<\/h3>\n\n<p>The production package ships built assets and Composer dependencies. Development manifests such as <code>composer.json<\/code>, <code>composer.lock<\/code>, and <code>package.json<\/code> are intentionally excluded from release ZIP files. Generated files under <code>build\/<\/code> are not committed to the source repository; release automation generates them before packaging.<\/p>\n\n<p>For source code, build tooling, and exact dependency manifests, use the public GitHub repository:<\/p>\n\n<p>https:\/\/github.com\/mehul0810\/aculect-ai-companion<\/p>\n\n<p>Contributing guidelines:<\/p>\n\n<p>https:\/\/github.com\/mehul0810\/aculect-ai-companion\/blob\/main\/CONTRIBUTING.md<\/p>\n\n<p>Security policy:<\/p>\n\n<p>https:\/\/github.com\/mehul0810\/aculect-ai-companion\/security\/policy<\/p>\n\n<p>From the repository checkout, use the Node.js version in <code>.nvmrc<\/code> and rebuild assets with:<\/p>\n\n<pre><code>npm ci\nnpm run build\n<\/code><\/pre>\n\n<p>Composer dependencies for production releases are installed with:<\/p>\n\n<pre><code>composer install --no-dev --prefer-dist --optimize-autoloader\n<\/code><\/pre>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>aculect-ai-companion<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the plugin ZIP from WordPress.<\/li>\n<li>Activate Aculect AI Companion from the Plugins screen.<\/li>\n<li>Open Settings &gt; Aculect AI Companion.<\/li>\n<li>Copy your connection URL.<\/li>\n<li>Open your AI tool and add a new connector.<\/li>\n<li>Paste the URL when prompted.<\/li>\n<li>Approve the connection on the screen that appears.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20aculect%20ai%20companion%20send%20my%20data%20automatically%3F\"><h3>Does Aculect AI Companion send my data automatically?<\/h3><\/dt>\n<dd><p>No. Aculect AI Companion does not send site data on activation or admin page load. Data is only available to an AI assistant after an administrator connects that assistant and approves access in WordPress.<\/p><\/dd>\n<dt id=\"can%20i%20disconnect%20access%3F\"><h3>Can I disconnect access?<\/h3><\/dt>\n<dd><p>Yes. Open Settings &gt; Aculect AI Companion &gt; Connections and disconnect one AI assistant or all active AI assistants.<\/p><\/dd>\n<dt id=\"can%20i%20control%20what%20my%20ai%20assistant%20can%20do%3F\"><h3>Can I control what my AI assistant can do?<\/h3><\/dt>\n<dd><p>Yes. After a connection exists, open Settings &gt; Aculect AI Companion &gt; Abilities and enable or disable individual abilities. WordPress permissions are still checked every time your AI assistant asks Aculect AI Companion to do something.<\/p><\/dd>\n<dt id=\"can%20i%20review%20what%20connected%20ai%20assistants%20changed%3F\"><h3>Can I review what connected AI assistants changed?<\/h3><\/dt>\n<dd><p>Yes. Open Settings &gt; Aculect AI Companion &gt; Activity to review write actions requested by connected AI assistants. The activity log stores the assistant, connected WordPress user, action, target, status, and sanitized metadata. Read-only actions are not logged in this version.<\/p><\/dd>\n<dt id=\"does%20aculect%20ai%20companion%20require%20an%20account%20with%20a%20third-party%20service%3F\"><h3>Does Aculect AI Companion require an account with a third-party service?<\/h3><\/dt>\n<dd><p>Aculect AI Companion does not require a separate product account. To use it with an external AI assistant, you may need an account with that external service.<\/p><\/dd>\n<dt id=\"can%20i%20try%20aculect%20ai%20companion%20in%20the%20wordpress.org%20preview%3F\"><h3>Can I try Aculect AI Companion in the WordPress.org preview?<\/h3><\/dt>\n<dd><p>Yes. The WordPress.org preview opens a temporary WordPress Playground site with Aculect AI Companion active and takes you to the plugin settings screen. The preview is useful for reviewing the setup flow, supported abilities, diagnostics, and activity screens. For a full ChatGPT or Claude connection test, use your own HTTPS WordPress site because external AI assistants must be able to reach the WordPress site during OAuth and MCP requests.<\/p><\/dd>\n<dt id=\"i%20use%20cloudflare.%20can%20bot%20fight%20mode%20block%20the%20connection%3F\"><h3>I use Cloudflare. Can Bot Fight Mode block the connection?<\/h3><\/dt>\n<dd><p>Yes. Cloudflare Bot Fight Mode can block automated MCP requests from an AI assistant before they reach WordPress. Keep Bot Fight Mode disabled for the hostname used by your Aculect AI Companion connection URL; otherwise setup and later tool calls, such as creating or updating content, may fail even after the assistant was previously connected.<\/p><\/dd>\n<dt id=\"i%20use%20cloudflare.%20can%20flexible%20ssl%20prevent%20the%20connection%20from%20working%3F\"><h3>I use Cloudflare. Can Flexible SSL prevent the connection from working?<\/h3><\/dt>\n<dd><p>Yes. If your DNS record is proxied through Cloudflare and SSL\/TLS mode is set to Flexible, the AI assistant connection may fail. Use an end-to-end HTTPS mode such as Full or Full (strict) with a valid origin certificate for the hostname used by your connection URL.<\/p><\/dd>\n<dt id=\"are%20custom%20post%20types%20and%20custom%20taxonomies%20supported%3F\"><h3>Are custom post types and custom taxonomies supported?<\/h3><\/dt>\n<dd><p>Yes. Aculect AI Companion can work with supported custom post types and custom taxonomies when they are visible through WordPress and the connected user has the required permissions.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.3.0<\/h4>\n\n<ul>\n<li>Added an AI Activity tab for reviewing write actions requested by connected AI assistants.<\/li>\n<li>Added a Connections control to temporarily pause or resume AI access without disconnecting assistants.<\/li>\n<li>Added connection diagnostics that check endpoint, OAuth, and MCP readiness from the settings screen.<\/li>\n<li>Refreshed the settings screen header with Aculect branding and clearer AI agent connection messaging.<\/li>\n<li>Added WordPress.org plugin icon, banner, branded screenshots, and a Playground preview blueprint for the plugin listing.<\/li>\n<li>Improved action permission controls so AI tools only expose and run enabled, authorized abilities.<\/li>\n<li>Added OAuth storage maintenance to clean up expired connection data.<\/li>\n<li>Hardened media uploads from public URLs with stricter sideload safeguards.<\/li>\n<li>Expanded connector flow, activity log, access control, media, OAuth, and diagnostics test coverage.<\/li>\n<li>Fixed the Active Connections screen so the active access notice does not appear when no assistants are connected.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Fixed diagnostics logging when the logs table is missing but the saved diagnostics database version is current.<\/li>\n<li>Added automatic repair for the diagnostics logs table during plugin boot.<\/li>\n<li>Added Cloudflare troubleshooting guidance for Bot Fight Mode and Flexible SSL\/TLS connection issues.<\/li>\n<li>Clarified that Cloudflare Bot Fight Mode should remain disabled for the hostname used by the MCP connection URL because it can block setup and later tool calls.<\/li>\n<li>Added unit coverage for diagnostics log table repair.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Added opt-in diagnostic logging for AI assistant connection flows.<\/li>\n<li>Added an Advanced setting to enable diagnostics and a Logs tab that appears only when logging is enabled.<\/li>\n<li>Added sanitized lifecycle and error logs for dynamic client registration, OAuth discovery, authorization, token exchange, and MCP authorization checks.<\/li>\n<li>Added 30-day log retention, automatic pruning, pagination, and clear-log controls.<\/li>\n<li>Hardened OAuth consent and authorization request handling with allowlisted, context-aware sanitization.<\/li>\n<li>Added stricter validation for response type, resource, PKCE, scopes, redirect URI, and consent decisions.<\/li>\n<li>Added unit coverage for diagnostic logging, redaction, repository behavior, and OAuth authorization parameter handling.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Connect a supported AI assistant by copying one connection URL from WordPress.<\/li>\n<li>Approve each AI assistant in WordPress before it can access your site.<\/li>\n<li>Choose which abilities your AI assistant can use after it is connected.<\/li>\n<li>See connected AI assistants and disconnect them whenever needed.<\/li>\n<li>Ask your AI assistant to help with content, comments, media, site information, plugins, and themes.<\/li>\n<li>Added clearer privacy notes and extra safety checks for testing.<\/li>\n<\/ul>","raw_excerpt":"Connect WordPress with AI. Aculect AI Companion helps you manage content, comments, media, and more with your AI assistant.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/312979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=312979"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/mehul0810"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=312979"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=312979"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=312979"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=312979"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=312979"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=312979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}