- How To Install the Astra Theme
- System Requirement for Astra Theme
- What Is a Child Theme and How To Install It for Astra?
- Manually Install Astra via FTP
- How to Update Astra Theme Manually?
- Automatic Beta Updates for Astra
- Astra 4.2.0-beta.1 : Migrations & Backwards Compatibility
- Know More about Astra Beta Versions? How to Download and Use?
- How to Create a Multisite Network and Use Astra Child Theme On It
- Getting Started with Astra Pro Addon Plugin
- What is Astra Pro Add on?
- How to Install Astra Pro Plugin?
- How to Get License Key of Astra Pro?
- How to Activate Astra Pro Addon License?
- Getting error – The package could not be installed. The theme is missing the style.css stylesheet?
- Why Can’t I Access Astra Pro Features After Purchasing the Pro Version?
- Do Not See License Activation Form for Astra Pro Addon Plugin?
- How to Fix “Sorry, You Are Not Allowed To Access This Page” Error In Astra Pro
- How to Download Your Purchase Invoice
- How to Manage License on Store?
- How to Renew Yearly License?
- How Do License Upgrades Work?
- How To Update Your Payment Method?
- How to Process Refund Requests?
- How to Apply For Brainstorm Force Affiliate Program? (Become Astra Affiliate)
- Frequently Asked Questions – VIP Priority Support
- How do I check my Support Ticket History?
- How To Create a Header With Astra Header Builder
- How To Create Mobile Header With Astra Header Builder
- How To Create a Footer With Astra Footer Builder
- Why Is My Logo Blurry?
- Astra – Customize the Submenu
- FAQs – Astra Header/Footer Builder
- Elements in Header/Footer Builder With Astra Theme and Astra Pro
- Add Multiple Elements in Header Footer Builder
- FAQs – Astra Header/Footer Builder – Existing Customers
- How To Manage Sidebars in Free Astra Theme
- Understanding Sidebar Style in Astra Theme: Customizing Your Sidebar’s Look
- Sticky Sidebar
- Scroll To Top
- How to Display a Breadcrumb Anywhere within a Page or Post with Shortcode?
- Find the Way With Breadcrumbs
- How to Change the “HOME” String in Breadcrumbs
- How to Switch From Existing Breadcrumb to New Trail?
- How To Add Breadcrumbs in WordPress Website with Astra
- Astra WooCommerce Mini Cart Shortcode
- WooCommerce Module Overview
- How to Design a Product Catalog Page or Shop Page Using WooCommerce Module in Astra?
- Single Product WooCommerce
- Checkout Page WooCommerce
- Colors & Background Options For WooCommerce
- Typography Options for WooCommerce
- Off-Canvas Sidebar for WooCommerce Shop Page
- Quick View for WooCommerce Products
- How to Disable EDD Inbuilt Styling?
- How to Add Download Archive Pages to the Menu When Using Astra with EDD?
- How to Add EDD Cart in Header? (Old Astra Header)
- How to Display a Mini Cart Anywhere Using Shortcode? (Astra and EDD)
- EDD – Easy Digital Downloads Module Overview
- General – EDD Module Options
- Product Archive – EDD Module Options
- Single Product – EDD Module Options
- Checkout Page – EDD Module Options
- Footer Custom Text Helper Strings
- Does Astra support Beaver Themer Plugin?
- How To Disable Right Click in WordPress
- Increasing the PHP Memory Limit of Your Website
- How To Disable Header or Footer for a Landing Page or Post
- Where Does Astra Primary Color Setting Take Effect?
- How To Adjust the Width of Your Sidebar
- How to Update the Plugin Manually from WordPress Backend?
- Recommended Settings for Elementor and the Astra Theme
- How To Translate Site Builder With WPML?
- How To Make Astra Multilingual With WPML
- How to Translate Astra Strings with WPML?
- Translating the Advanced Custom Fields with WPML
- How to Turn Astra Website Multilingual with Polylang?
- How to Translate Categories, Tags, and Astra Strings with Polylang
- How to Turn Astra Website Multilingual with TranslatePress?
- How to Translate Astra Theme / Plugins in Your Own Language using GlotPress?
- Translate Site Builder Layouts Using Polylang
- Fix for – The PCLZIP_ERR_BAD_FORMAT (-10) Error
- Host Google Fonts Locally – Performance Is the Key
- Fix for – Parse error: syntax error, unexpected T_FUNCTION
- How to fix Fatal Error / White Screen of Death?
- Fix for- cURL error 51: SSL: no alternative certificate subject name matches target host name ‘websitedemos.net’
- ‘The preview could not be loaded’ Pop Up with Astra and Elementor
- Troubleshooting Steps ( with Health Check & Troubleshooting plugin )
- How to Deal with Update Issues in Astra Theme and Astra Pro Addon?
- Blog Featured Image Size Not Working / Error in Image Processing Library
- How to Change the Default Astra Strings
- Using Hooks in Astra
- How to Change the “Scroll To Top” Icon in Astra?
- Astra Pro WP CLI Commands
- How to Add Custom PHP Code?
- How to Disable the Loading of Astra’s Default Font File? (Astra.woff)
- Disable Featured Image on Posts, Pages, or Other Post Types
- Change Sidebar Widget Title Heading Tag
- Disable All Meta Settings of Page or Post by Default
- How to Change Website Logo Destination URL
- Remove Primary Navigation Menu with Hook
- Change the Astra Header Breakpoint Width
- How to Disable Primary Header?
- Add Title attribute to Header Background Image as a Substitute for Alt Text
- How to Change HTML tag for Site Title and Tagline?
- How to Change the Heading Tag for the Page/Post Titles?
- How to Change the “Search Results For” String
- Change Placeholder for Search Box (Old Astra Header)
- How to Change Previous and Next Link Text from a Single Blog Post?
- How to Remove Featured Image Link on Archive Page?
- Filter to Remove Link From Featured Images on Blog Page
- Blog Featured Image Size Not Working / Error in Image Processing Library
- Filters to Support CPTs for Blog Meta and Single Blog Meta
- How To Change Navigation Links Text for a Blog Archive?
- How to Display the Post Category as a Related Posts Title?
- Change “Leave A Comment” title tag
- Customizing Social Profile Links for Individual Authors in Single Posts
- Change Woocommerce Out of Stock Text
- How to Disable Product Quantity (Plus-Minus) Buttons?
- How to Modify/Change the Quick View text?
- Filter to Add Global Button Settings Support for WooCommerce Buttons
- Change the “Shopping Cart” Text for WooCommerce & EDD Mobile Header Cart
- Fix Woocommerce Cart Becoming Transparent With Header Builder
- Restrict Search Results to WooCommerce Products Only
- How To Hide Quantity Number When the Woocommerce Cart Is Empty?
- Remove Astra Customization for WooCommerce
- How to Add Custom CSS Code Without Editing Theme Files?
- How to Highlight a Certain Menu Item?
- How to Design Bullets & Lists?
- Dim Content on Menu Hover
- How to add custom CSS and JavaScript to Astra theme
- How To add Custom CSS for Specific Pages
- Mobile Breakpoint Causes Issues with Transparent Header Menu Color
- How to Create Custom CSS using Inspect Element Tool?
- Display Coupon Field on Checkout & Cart Pages
- Fix Swap Sections Not Working on Mobile (Old Astra Header)
- How to Remove Google Fonts Suggestions in Astra Theme?
- Remove default stretched block layout spacing
- How to Change the Logo on Specific Pages?
- How to remove horizontal & vertical gallery layouts from a single product page?
- Introducing New Filter to Enable/Disable Rank-Math Theme Support
- Enable/Disable YouTube videos from Astra admin dashboard
- How to Fix the Line Height Unit being converted to “EM”?
- How to Change WordPress Post labels to Projects
Connecting Your WordPress Site to AI Clients via Astra MCP
Model Context Protocol (MCP) lets AI clients like Claude, Cursor, and ChatGPT directly interact with your WordPress site — reading content, managing settings, and taking actions on your behalf. Astra exposes two MCP endpoints that you can connect to any supported AI client.
What’s the Difference: Astra Only vs Global?
| Astra Only | Global | |
|---|---|---|
| What it exposes | Astra theme settings and controls only | All WordPress content (posts, pages, plugins, settings, etc.) |
| Best for | Managing your Astra theme via AI | Full site management via AI |
| Endpoint | {site-url}/wp-json/astra/v1/mcp | {site-url}/wp-json/mcp/mcp-adapter-default-server |
Start with Astra Only if you just want to control your theme. Use Global if you want your AI client to manage your entire site.
Prerequisite
Before you begin, make sure you have:
- Astra theme installed and active on your WordPress site
- Node.js v20 or v22 installed on your computer (check by running
node --versionin your terminal) - An AI client that supports MCP (Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, or ChatGPT)
Step 1: Create a WordPress Application Password
MCP uses Application Passwords to authenticate securely — you don’t share your main WordPress password.
- Log in to your WordPress admin dashboard
- Go to Users → Profile (or navigate directly to
{site-url}/wp-admin/profile.php#application-passwords-section) - Scroll down to the Application Passwords section
- Enter a name for the password (e.g.
Claude MCP) and click Add New Application Password - Copy the generated password — you won’t be able to see it again
Note: Application Passwords are available in WordPress 5.6 and later. Make sure your site is not blocking Application Password authentication via a security plugin.
Step 2: Get Your MCP Config from Astra
- In your WordPress admin, go to Astra → Settings → MCP
- Choose your mode — Astra Only or Global — using the tabs
- You’ll see a JSON config block pre-filled with your site URL and username
It looks like this:
{
"mcpServers": {
"yoursite-astra": {
"command": "npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "https://yoursite.com/wp-json/astra/v1/mcp",
"WP_API_USERNAME": "YOUR-WP-USERAME",
"WP_API_PASSWORD": "YOUR-APPLICATION-PASSWORD"
}
}
}
}
Replace YOUR-APPLICATION-PASSWORD with the password you generated in Step 1.
Step 3: Add the Config to Your AI Client
Claude Desktop
Config file location:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- Open your terminal and run the following — then paste the output back into Claude so it can detect your Node.js setup:
which npx && node --version && echo $PATH
- Open the config file in a text editor (create it if it doesn’t exist)
- Merge the MCP server entry into the
mcpServersobject — do not overwrite other existing entries - Set
"command"to the full path fromwhich npx(e.g./opt/homebrew/bin/npx) - Add a
"PATH"key to"env"with your actual$PATHoutput — MCP servers don’t inherit your shell’s PATH - Save the file and restart Claude Desktop
Example final config:
{
"mcpServers": {
"yoursite-astra": {
"command": "/opt/homebrew/bin/npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "https://yoursite.com/wp-json/astra/v1/mcp",
"WP_API_USERNAME": "admin",
"WP_API_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
"PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}
Claude Code
Config file: .mcp.json in your project root (or global ~/.claude/mcp.json)
- In your terminal, run:
which npx && node --version && echo $PATH
- Claude Code can run terminal commands directly — paste the prompt from Astra into Claude Code, and it will detect your setup automatically
- Merge the server entry and restart
Cursor
Config file: .cursor/mcp.json in your project root
- Open your terminal and run:
which npx && node --version && echo $PATH
- Open or create
.cursor/mcp.json - Merge the server entry using the full
npxpath and your$PATH - Restart Cursor
Windsurf
Config file: ~/.codeium/windsurf/mcp_config.json
- Run
which npx && node --version && echo $PATHin your terminal - Open or create the config file
- Merge the server entry with the full
npxpath and your$PATH - Restart Windsurf
VS Code (with GitHub Copilot Agent)
Config file: .vscode/mcp.json in your project root
Note: VS Code uses a
"servers"key instead of"mcpServers".
{
"servers": {
"yoursite-astra": {
"command": "/opt/homebrew/bin/npx",
"args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
"env": {
"WP_API_URL": "https://yoursite.com/wp-json/astra/v1/mcp",
"WP_API_USERNAME": "admin",
"WP_API_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
"PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}
ChatGPT
ChatGPT uses a connector URL instead of a JSON config file.
- Open ChatGPT and go to Settings → Connectors → Add Connector
- Paste your MCP endpoint URL:
- Astra Only:
https://yoursite.com/wp-json/astra/v1/mcp - Global:
https://yoursite.com/wp-json/mcp/mcp-adapter-default-server
- Astra Only:
- Set authentication to HTTP Basic Auth
- Enter your WordPress username and the Application Password from Step 1
- Save the connector
For more details, see: https://developers.openai.com/apps-sdk/deploy/connect-chatgpt
Using the AI Setup Prompt (Easiest Method)
Not sure how to edit config files? Use the ✨ sparkle button in the Astra MCP panel to copy a ready-made prompt, then paste it directly into your AI client. The AI will:
- Ask which client you use and your OS
- Ask for your Application Password
- Locate the correct config file for your setup
- Ask you to run
which npx && node --version && echo $PATHand paste the output - Write the correct config with your actual paths
- Confirm everything was added correctly
Troubleshooting
MCP server not showing up in my AI client
- Make sure you restarted the AI client after editing the config
- Verify the JSON is valid (no trailing commas, correct brackets)
- Check that
"command"uses the full absolute path tonpx, not justnpx
Authentication errors
- Double-check the Application Password — it should include spaces (e.g.
xxxx xxxx xxxx xxxx xxxx xxxx) - Make sure the username matches exactly what’s in your WordPress user profile
- Verify your site URL ends without a trailing slash in
WP_API_URL
Node.js version errors
- Run
node --version— you need v20 or v22 - Use nvm to install the correct version:
nvm install 22
“npx not found” or command errors
- The
"command"field must be the full path fromwhich npx, not justnpx - Add the
"PATH"key to"env"so the MCP server can find Node.js at runtime
Site is behind a local domain (e.g. .local)
- Local sites work fine — just make sure the AI client is running on the same machine
- Local URLs like
http://mysite.localwon’t be reachable from ChatGPT (cloud-based), use a public URL for ChatGPT
Further Reading
We don't respond to the article feedback, we use it to improve our support content.