Goldnat Plugins
← Back to WordPress

WordPress AI Connect — Installation & Setup Guide

Install, activate, and connect the Goldnat AI Connect plugin (Servio Protocol) to your WordPress site. 5 free tools + Pro upgrade.

📅 Updated: 2026-07-07 🎬 Video: wordpress-install-connect

Overview

Goldnat AI Connect for WordPress turns your WordPress site into a Servio Protocol tool server for AI agents. You install a plugin, generate a token, and paste the prompt into your AI agent (Claude / ChatGPT / goldnat.ai / any MCP client). From that moment the agent can search posts, read pages, and identify the current user — all under the permissions of the user who generated the token.

What you get:

  • 5 free tools — Read-only basics: getCurrentUser, searchPosts, getPost, searchPages, getPage
  • Pro upgrade — 6 more tools for content management (create/edit/delete + media upload)
  • Additional Pro extensions — Elementor (9 tools) and WooCommerce (17 tools)

Prerequisites

  • WordPress 6.0 or higher
  • PHP 7.4 or higher (8.1+ recommended)
  • Permalinks set to “Post name” format or equivalent
  • HTTPS recommended (required for goldnat.ai integration)
  • Administrator role on the site

Installation

  1. In WordPress admin, go to Plugins → Add New and search for “Goldnat AI Connect” in the official WordPress.org plugin directory. (Alternatively, download the plugin from your personal area at goldnat.ai and upload it via Plugins → Add New → Upload Plugin.)
  2. Click Install Now on the plugin.
  3. After installation → click Activate.
  4. A new menu item AI Connect appears in the admin sidebar.

Connecting to an AI Agent

  1. Go to AI Connect → My Tokens.
  2. Click Generate Prompt — a ready-to-paste text block appears for your AI client of choice:
    • Claude Desktop — via the Goldnat MCP extension
    • ChatGPT / Gemini / Grok — direct connection to the manifest URL
    • goldnat.ai — add the site to your vault
  3. Copy the prompt and paste it into your agent.
  4. The agent performs OAuth 2.0 + PKCE automatically — you’ll get a consent screen in your browser.
  5. Approve → the agent is connected.

First Test

Ask your AI agent one of these three prompts:

  • “Who am I on this site?” → Should call wordpress.getCurrentUser.
  • “Search for the 5 most recent posts on the site.” → Should call wordpress.searchPosts with limit=5.
  • “What’s in the About page?” → Should call wordpress.searchPages and then wordpress.getPage.

If all three requests work → the plugin is connected correctly.

Reconnecting (when the token expires)

Access tokens are valid for 1 hour, refresh tokens for 30 days. If you see a “Token expired” error:

  1. Go to AI Connect → My Tokens.
  2. Click Revoke on the old token.
  3. Click Generate Prompt again.
  4. Paste the new prompt into your agent.

Tip: Most agents refresh the token automatically every hour, so you typically only reconnect manually once every 30 days.

Token Management

ColumnMeaning
PrefixFirst 16 characters (identification only)
CreatedCreation timestamp
Last usedMost recent request timestamp
IPIP address of the agent
User AgentClient identifier (Claude, ChatGPT, etc.)
ActionsRevoke — immediate cancellation

Filters: Active / Renewable / Unused / Inactive / Revoked / All. Bulk revoke available for inactive tokens (30+ days).

Uninstalling the Plugin

  • AI Connect → My Tokens → Revoke All. Kills every active agent session immediately.

2. Deactivate the plugin

  • Plugins → Installed Plugins → find Goldnat AI Connect → click Deactivate.
  • The plugin stops working, but DB tables and options remain.

3. Delete the plugin (optional)

  • After deactivation → click Delete. WordPress removes the plugin files.

4. Clean the DB (only for a fresh reinstall)

DROP TABLE IF EXISTS wp_aiconnect_tokens;
DROP TABLE IF EXISTS wp_aiconnect_audit;
DELETE FROM wp_options WHERE option_name LIKE 'aiconnect_%';

Warning: Deletes token history, audit logs, and settings permanently. Take a full DB backup first.

Common Troubleshooting

ErrorLikely causeFix
Manifest not found (404)Permalinks not configuredSettings → Permalinks → Save
Token expired and non-refreshableToken permanently expiredReconnect (see above)
Rate limit exceededToo many requests in a short window (default 50/minute)Wait a minute, or raise the limit in the plugin settings
Bearer token requiredAgent isn’t sending the tokenRegenerate the prompt in full

Support

Need help? Contact us and we’ll get back to you.

Video Tutorial (Coming Soon)

A 3-4 minute video will appear here covering: (A) What is Goldnat AI Connect on the Servio Protocol, (B) installing the plugin, (C) connecting to Claude Desktop, (D) live usage — 3 typical requests.

Screenshots

WordPress Plugins menu
Navigate to Plugins → Add New
Upload plugin ZIP file
Upload Plugin with ZIP file
Plugin active in the list
Plugin is active and ready
My Tokens page
Generate prompt for AI agent connection

🎬 Video Tutorial — Coming Soon

A 3-5 minute video covering: intro → install → connect → demo.

Tag: wordpress-install-connect

Status: Awaiting production

This guide is informational and non-binding. Steps and behavior can vary between platforms and plugin versions. For the binding terms, see the Terms & Conditions.

Tools

Available tool calls.

171 tools exposed via the Servio protocol. Pro tools are marked.

wordpress

  • wordpress.getCategories Fetch all category taxonomies with names, descriptions, post counts and hierarchy.
  • wordpress.getComments Fetch comments filtered by post, page, author or status. Returns content, date, author and approval state.
  • wordpress.getCurrentUser Returns the currently authenticated user.
  • wordpress.getMedia Get details of a media item (image, video, PDF) by ID: URL, title, description, alt text, size, MIME type.
  • wordpress.getMenus Fetch all site menus with hierarchical structure, links, labels and locations.
  • wordpress.getPage Returns a single page by ID.
  • wordpress.getPost Returns a single post by ID.
  • wordpress.getPostTypes List all registered post types including custom ones: names, labels, capabilities and available statuses.
  • wordpress.getSiteInfo Get general site info: name, description, URL, language, timezone, date format, WordPress version.
  • wordpress.getSiteSettings Get site settings: title, tagline, admin email, timezone, default category, discussion settings.
  • wordpress.getTags Fetch all tag taxonomies with names, descriptions and post counts.
  • wordpress.getTaxonomies List all taxonomies including custom ones: names, labels, associated post types and hierarchy.
  • wordpress.getUsers List users by role, name search and count. Returns names, emails, roles and post counts.
  • wordpress.listCategories List post categories. Use search (matches name OR slug, case-insensitive substring) to resolve a category id from its name/slug — the common pre-step for createPost.
  • wordpress.listComments List all comments across the site with filters (post, status, author).
  • wordpress.listMedia List media library items with filters (mime_type, upload date, author). Returns URLs and metadata.
  • wordpress.listPages List pages with filters (status, parent hierarchy, date, per_page). Returns metadata + total count.
  • wordpress.listPosts List posts with filters (status, category, date, author, per_page). Returns metadata + total count.
  • wordpress.listTags List post tags. Use search (matches name OR slug, case-insensitive substring) to resolve a tag id from its name/slug — the common pre-step for createPost.
  • wordpress.searchMedia Search media items by name, title, description, MIME type, upload date. Returns files with URLs and available sizes.
  • wordpress.searchPages Searches pages by keywords.
  • wordpress.searchPosts Searches posts by keywords.
  • wordpress.createCategory Create a new category taxonomy with name, slug, description and parent category. Pro
  • wordpress.createComment Create a new comment on a post or page: content, author name, email, parent (for threaded replies). Pro
  • wordpress.createTag Create a new tag taxonomy with name, slug and description. Pro
  • wordpress.createUser Create a new user (admin scope) with username, email, role, password. Pro
  • wordpress.getUser Get a single user by ID: name, email, role, bio, avatar, post count, registration date. Pro
  • wordpress.listUsers List all users with role and post filters (admin scope). Returns emails and last login. Pro
  • wordpress.updateComment Update an existing comment: change content, approval status (approved/pending/spam) or move to trash. Pro
  • wordpress.updateMedia Update media item metadata: title, description, alt text, associated post. Does not change the file itself. Pro
  • wordpress.updateSiteSettings Update site settings (admin scope): title, tagline, admin email, timezone, default category. Pro
  • wordpress.updateUser Update an existing user (admin scope): name, email, role, bio, password. Pro

media

  • wordpress.uploadMedia Upload a media file to the WordPress media library from URL or base64 data. Pro

pages

  • wordpress.createPage Create a new WordPress page with title, content, parent, status, and featured image. Pro
  • wordpress.updatePage Update an existing WordPress page. Pro

posts

  • wordpress.createPost Create a new WordPress post with title, content, categories, tags, status, and featured image. Pro
  • wordpress.deletePost Delete (or trash) a WordPress post. Pro
  • wordpress.updatePost Update an existing WordPress post. Pro

woocommerce

  • woocommerce.createOrder Create a new order with line items Pro
  • woocommerce.createProduct Create a new WooCommerce product Pro
  • woocommerce.getCustomer Get customer profile + order stats Pro
  • woocommerce.getOrder Get a single order by ID with line items and totals Pro
  • woocommerce.getSalesReport Sales totals + counts for a date range Pro
  • woocommerce.getTopSellers Top-selling products by units sold in a period Pro
  • woocommerce.listCustomers List customers with basic profile info Pro
  • woocommerce.listOrders List orders across the shop with filters (admin scope) Pro
  • woocommerce.listProductCategories List all product categories with counts Pro
  • woocommerce.updateInventory Update stock quantity + stock-status for a product Pro
  • woocommerce.updateOrderStatus Change an order's status (e.g. pending → processing → completed) Pro
  • woocommerce.updateProduct Update an existing product's fields Pro
  • woocommerce.addOrderNote Add a note to an order — internal (admin-only) or customer-visible (triggers email). Pro
  • woocommerce.applyCouponToCart Apply a coupon code to the current cart, returning updated totals. Pro
  • woocommerce.bulkUpdateProducts Apply the same price/stock/status/category patch to many products in one call. Pro
  • woocommerce.bulkUpdateStock Set stock quantities for many products in one call: [{product_id, stock_quantity}]. Pro
  • woocommerce.createCoupon Create a new WooCommerce coupon (percent / fixed_cart / fixed_product). Pro
  • woocommerce.createCustomer Create a new WooCommerce customer with email + address (auto-generates username if omitted). Pro
  • woocommerce.createProductAttribute Create a global attribute (product_attribute) with name + slug + type. Pro
  • woocommerce.createProductCategory Create a WooCommerce product category (product_cat term) with optional parent + description. Pro
  • woocommerce.createProductTag Create a new product tag (product_tag term). Pro
  • woocommerce.createProductVariation Add a variation to a variable product with attributes + price + stock. Pro
  • woocommerce.createRefund Issue a full or partial refund on an order. Supports line-item breakdown and restocking. Pro
  • woocommerce.createWebhook Create a webhook: topic (order.created, product.updated…), delivery URL, secret. Pro
  • woocommerce.deleteCoupon Trash a coupon by ID (recoverable) or force-delete it. Pro
  • woocommerce.deleteCustomer Delete a customer account. Optionally reassign their content/orders to another user. Pro
  • woocommerce.deleteOrder Delete an order (trash or force-delete). Force-delete is IRREVERSIBLE and destroys refunds. Pro
  • woocommerce.deleteProduct Delete a product (trash or force-delete). Pro
  • woocommerce.deleteProductCategory Delete a product category (products keep their other categories). Pro
  • woocommerce.deleteProductVariation Delete a variation (force-delete recommended). Pro
  • woocommerce.deleteWebhook Delete a webhook by ID. Pro
  • woocommerce.duplicateProduct Duplicate a product as a new draft (copies core fields, meta, taxonomies). Pro
  • woocommerce.getCustomerReport Top customers by spend + new/returning breakdown for a date range. Pro
  • woocommerce.getLowStockReport Products at or below the low-stock threshold, plus a list of out-of-stock SKUs. Pro
  • woocommerce.getProductVariation Get one variation with attributes, price, SKU, stock. Pro
  • woocommerce.getRevenueReport Revenue breakdown over a date range with day-by-day totals and comparison to previous period. Pro
  • woocommerce.getShippingMethods List all registered shipping method types (flat_rate, free_shipping, local_pickup, etc.). Pro
  • woocommerce.getStockStatus Get stock status of one product (or SKU): in_stock/out_of_stock/on_backorder, quantity, manage_stock. Pro
  • woocommerce.listCoupons List existing coupons with usage stats. Filter by status/search. Pro
  • woocommerce.listOrderNotes Retrieve all notes on an order with author, timestamp, and type. Pro
  • woocommerce.listPaymentGateways List available payment gateways with enabled state + settings summary. Pro
  • woocommerce.listProductAttributes List global product attributes (Color, Size…) with their term counts. Pro
  • woocommerce.listProductReviews List product reviews with rating + status + author. Pro
  • woocommerce.listProductTags List product tags with post counts. Pro
  • woocommerce.listProductVariations List all variations of a variable product with attributes, price, SKU, stock. Pro
  • woocommerce.listRefunds List all refunds issued against an order with amount, reason, date. Pro
  • woocommerce.listShippingZones List all shipping zones with regions + assigned methods. Pro
  • woocommerce.listTaxRates List all tax rates with country/state/rate/name. Pro
  • woocommerce.listWebhooks List active WooCommerce webhooks with topic + delivery URL. Pro
  • woocommerce.replyToReview Post a reply to a review as the site admin. Pro
  • woocommerce.sendOrderEmail Trigger a WooCommerce order email (customer_invoice / customer_processing_order / customer_completed_order / new_order). Pro
  • woocommerce.setOrderTracking Attach shipment tracking metadata to an order (carrier, tracking number, tracking URL). Pro
  • woocommerce.updateCoupon Modify amount, expiry, usage limit, or status of an existing coupon. Pro
  • woocommerce.updateCustomer Update customer email/name/address/phone. Pro
  • woocommerce.updateOrder Update order fields beyond status: customer_id, billing/shipping addresses, customer_note. Pro
  • woocommerce.updatePaymentGateway Enable / disable a payment gateway or update its title/description. Pro
  • woocommerce.updateProductCategory Update product category name/slug/description/parent. Pro
  • woocommerce.updateProductVariation Update variation price/stock/SKU/status. Pro
  • woocommerce.updateReview Approve / hold / spam / trash a review. Pro
  • woocommerce.updateShippingZone Rename a shipping zone or reorder its position. Pro
  • woocommerce.updateTaxRate Update a tax rate: percentage, name, priority, compound, shipping. Pro

WooCommerceModule

  • woocommerce.addToCart Add a product to the shopping cart Pro
  • woocommerce.getCart Get current shopping cart contents Pro
  • woocommerce.getOrders Get customer orders Pro
  • woocommerce.getProduct Get a single WooCommerce product by ID or SKU Pro
  • woocommerce.searchProducts Search WooCommerce products with filters Pro

elementor

  • elementor.addElement Insert a new element into a page at a specific parent + position. Auto-generates ID if not given. Pro
  • elementor.analyzePagePerformance Metrics for one page: widget count, tree depth, data size, unique widget types, custom CSS size. Pro
  • elementor.applyKit Set the active Kit (elementor_active_kit option) to a specific kit post ID. Flushes CSS. Pro
  • elementor.batchUpdateElements Apply many updateElement patches in one call — decodes/encodes once, single CSS flush at end. Pro
  • elementor.createPage Create a new WordPress page with Elementor enabled (all required postmeta). Optionally seed initial _elementor_data. Pro
  • elementor.createTemplate Create a new empty Elementor template (elementor_library post) with a given type. Pro
  • elementor.deleteMedia Delete a media library item. Pro
  • elementor.deletePage Delete an Elementor page (trash or force-delete). Force-delete is irreversible. Pro
  • elementor.deleteTemplate Delete a template by ID. Pro
  • elementor.duplicateElement Clone an element (with children) as a sibling. Regenerates fresh 8-char IDs across the whole subtree. Pro
  • elementor.duplicatePage Duplicate an Elementor page: clones the post + every _elementor_* postmeta into a new draft. Pro
  • elementor.exportPage Export one page as portable JSON (title, template_type, _elementor_data, _elementor_page_settings). Pro
  • elementor.exportSite Export EVERY Elementor page + template + active kit as one JSON blob. Large payload. Pro
  • elementor.exportTemplate Export a template as portable JSON (Elementor .json export shape). Pro
  • elementor.findElements Search a page tree by widget type, element css_id, or text substring. Returns matching IDs + paths. Pro
  • elementor.findWidgetUsage Find every page/template using a given widget type. Returns pages + per-page count. Pro
  • elementor.flushCSSCache Clear Elementor's generated CSS cache — site-wide or per-page. Every WRITE tool already flushes; call this explicitly after bulk operations. Pro
  • elementor.generateCriticalCSS Generate above-the-fold Critical CSS for a page. Requires an external service (e.g. Critical CSS plugin); returns a stub + hint when unavailable. Pro
  • elementor.getBreakpoints Elementor responsive breakpoints (mobile/tablet extra/laptop widescreen values). Pro
  • elementor.getCustomCSS Get site-wide custom CSS from the active Kit (elementor_kit._custom_css) OR page-level custom CSS. Pro
  • elementor.getEditorSettings Elementor editor-level settings (page title selector, cpt_support, disable default colors etc.). Pro
  • elementor.getElement Fetch a single element (container or widget) by its 8-char ID from a page. Pro
  • elementor.getElementResponsiveSettings Return the per-device settings blob of an element (desktop/tablet/mobile keys). Pro
  • elementor.getExperiments List Elementor experiments (feature flags) with current state (active/inactive/default). Pro
  • elementor.getGlobalColors Just the global color palette (system + custom) from the active Kit. Pro
  • elementor.getGlobalFonts Global typography presets (Primary/Secondary/Text/Accent) from the active Kit. Pro
  • elementor.getGlobalSettings Get the active Kit's global colors, typography presets, and site-wide settings. Pro
  • elementor.getMediaItem Get one attachment: URL, sizes, metadata, alt text. Pro
  • elementor.getPageData Full raw _elementor_data + _elementor_page_settings for one page. Large payload — prefer getPageStructure when you only need the map. Pro
  • elementor.getPageRevisions List WordPress revisions of an Elementor page — for rollback / audit. Pro
  • elementor.getPageStructure Compact element-tree map of a page: IDs, elType, widgetType, brief text preview. Cheap to fetch (no full settings blob). Pro
  • elementor.getSystemInfo Elementor + WP system info (versions, active plugins, PHP/DB versions) — for debugging support requests. Pro
  • elementor.getTemplate Fetch full data of a saved template (elementor_library post): title, type, _elementor_data. Pro
  • elementor.getWidgetSchema Return the full control schema for a widget type — all setting keys, types, defaults. Read this BEFORE calling updateElement so you use correct keys. Pro
  • elementor.importPage Import a single page from a portable JSON payload. Pro
  • elementor.importSite Import an exportSite payload back. Creates pages + templates + optionally sets active kit. Pro
  • elementor.importTemplate Import a template from a JSON payload (Elementor .json export format). Pro
  • elementor.listKits List installed Elementor kits with active-kit indicator. Pro
  • elementor.listMedia List media library items with basic metadata. Filter by type + search. Pro
  • elementor.listPages List all pages/posts built with Elementor. Filter by status/post_type/search. Pro
  • elementor.listRegisteredWidgets List all registered widget TYPES available on this install (including third-party addon widgets). Pro
  • elementor.listTemplates List saved Elementor templates (elementor_library). Filter by template_type (page/section/header/footer/popup/kit). Pro
  • elementor.listUnusedAssets List media library items that no Elementor page references (candidates for cleanup). Pro
  • elementor.listWidgetsInPage Count each widget type used inside one page — histogram of usage. Pro
  • elementor.minifyCustomCSS Minify the site-wide custom CSS in the active Kit (whitespace/comment strip). Reversible via getCustomCSS backup. Pro
  • elementor.moveElement Move an element to a different parent and/or position within the same page. Rejects circular nesting. Pro
  • elementor.optimizeImages Trigger image optimization for a page's attachments. Delegates to any registered optimizer plugin (Smush, ShortPixel, Optimole); no-op with a report if none is present. Pro
  • elementor.publishPage Publish or unpublish a page. Convenience wrapper over updatePageMeta. Pro
  • elementor.regenerateCSS Regenerate ALL Elementor CSS (equivalent to Tools → Regenerate CSS in the admin). Pro
  • elementor.removeElement Remove an element (and all its children) from the page tree by ID. Fails silently if not found. Pro
  • elementor.restoreRevision Restore a specific revision as the current version of the page. Regenerates CSS after restore. Pro
  • elementor.saveAsTemplate Save an existing page (or one of its elements) as a reusable template. Pro
  • elementor.savePageData Replace the entire _elementor_data tree of a page with a new JSON array, then flush CSS cache. Pro
  • elementor.searchContent Full-text search across all Elementor page/template content — case-insensitive substring match on _elementor_data. Pro
  • elementor.toggleExperiment Set an Elementor experiment on/off/default. Pro
  • elementor.updateBreakpoints Update Elementor's responsive breakpoint values. Pro
  • elementor.updateCustomCSS Set custom CSS (global via active Kit, OR page-level via _elementor_page_settings). Flushes CSS. Pro
  • elementor.updateEditorSettings Update Elementor editor settings via option merge. Pro
  • elementor.updateElement Shallow-merge a settings patch into a specific element by ID, then flush CSS. Pro
  • elementor.updateElementResponsive Update an element's responsive settings for a specific device (desktop/tablet/mobile). Applies the settings suffix Elementor uses (e.g. font_size_mobile). Pro
  • elementor.updateGlobalColors Update one or more named global colors in the active Kit (matches by _id or title), then flush CSS. Pro
  • elementor.updateGlobalFonts Update global typography presets in the active Kit (match by _id or title). Flushes CSS. Pro
  • elementor.updatePageMeta Update WordPress-level page metadata: title, slug, status, excerpt. Replaces the older updateStatus/updateTitle single-field tools. Pro
  • elementor.updatePageSettings Shallow-merge key/value pairs into _elementor_page_settings (background, padding, hide_title, custom_css…). Pro
  • elementor.updateTemplate Update a template's title, status, or _elementor_data. Pro
  • elementor.uploadCustomIcon Upload a custom SVG icon (Elementor Custom Icons — if plugin/library supports it). Stored as an SVG attachment tagged with elementor-icon. Pro
  • elementor.uploadImage Upload an image to the WordPress media library from a URL or base64 payload. Pro