To connect Cursor, the AI code editor, to WordPress, add the WordPress site to Cursor as an MCP server. On InstaWP’s managed WordPress hosting, every site already runs InstaMCP, so it takes three steps: switch on MCP, click Add to Cursor, and approve the dialog. Cursor then gets 43 WordPress tools beside your code, so one chat can edit a plugin, update the page that explains it and check the live result. A site hosted elsewhere can use the official WordPress MCP Adapter instead, with more setup.
InstaWP tested every step below on 22 October 2026, connecting Cursor’s command-line agent (Cursor CLI 2026.10.19) to a sandbox running InstaMCP, the WordPress MCP server built into InstaWP sites. The run covered both ways in (a site token and an account-wide OAuth sign-in), five deliberately broken configs, and one real code-and-content change on a live site. Every number below comes from it.
Table of Contents
- Fastest route: on an InstaWP site, open Extensions, then MCP, switch on Enable MCP and click Add to Cursor. Cursor shows its own install dialog, and nothing is added until you approve it.
- Keep the token out of Git: in
mcp.json, send it asAuthorization: Bearer ${env:INSTAWP_SITE_TOKEN}rather than pasting the URL with?t=. - One site or all of them: a site connection gave Cursor 43 tools. Your whole InstaWP account over OAuth gave 18 tools on a read-only connection, across every site in the team.
- “Connection failed” hides five faults. One curl to the endpoint tells them apart: an HTML reply means MCP is off or the path is wrong, a JSON 401 means the token is.
- Two sets of brakes on a live site: keep Cursor’s tool approval on, and turn on InstaMCP’s Safe Mode, switching it off only for the one write that needs it.
- Site hosted somewhere else? The WordPress MCP Adapter (WordPress 6.9+) connects through an Application Password, but exposes only the abilities plugins mark as public.
What is Cursor, and why connect it to WordPress?
Cursor is an AI code editor and coding agent made by Anysphere. You open a project folder, describe the change you want, and Cursor’s Agent plans it, edits the files and runs terminal commands to check its work. It runs as a desktop app on macOS, Windows and Linux, and as the Cursor CLI in a terminal, and it has a free plan.

On its own, Cursor only sees the files in the folder you open. A WordPress site keeps most of what matters somewhere else: posts, pages, menus, settings and plugin state live in the site’s database on a server. So Cursor can edit a theme you have checked out, but it cannot see the page that theme renders, the plugin settings that change it, or the error your edit caused on the live site.
The bridge is the Model Context Protocol (MCP), an open standard for connecting AI apps to outside tools. Cursor is an MCP client, so once a WordPress site is added as an MCP server, the Agent can call the site’s tools in the same chat where it edits your code. On InstaWP, that server comes built into every site as InstaMCP, one of the AI features built into InstaWP. InstaWP explains the protocol side in its WordPress MCP guide.
What can Cursor do once it is connected to WordPress?
Once connected, Cursor can read and change the live WordPress site, not just the files in your editor. Over InstaMCP it creates and edits posts and pages, validates Gutenberg blocks, writes post meta, installs and edits plugins and themes, uploads media and reads the site’s error logs. The point for a Cursor user is that code and site live in one conversation: change a plugin, update the page that explains it, then check the page.
| Job | InstaMCP tools Cursor calls | What to know |
|---|---|---|
| Content | list_content, get_content, create_content, update_content, patch_content | patch_content changes one string and has a dry_run preview. Use it instead of resending a whole page. |
| Blocks | discover_blocks, validate_blocks | Ask Cursor to validate before every write, so the page opens in the editor without “unexpected content”. |
| Plugins and themes | plugin_info, plugin_operations, plugin_files, theme_info, theme_operations, theme_files | Plugin file writes saved a backup first. Safe Mode blocked plugin file writes and installs in InstaWP’s tests. |
| SEO and custom fields | get_meta, set_meta | Writes Rank Math, Yoast and ACF fields directly. Blocked while Safe Mode is on. |
| Media | media_upload, media_attach, media_metadata | Upload from a URL or base64, set alt text, attach to a post. |
| Diagnostics | site_logs | Filter by level. Ask for fatal errors after every code change. |
| Taxonomies | 9 tools for categories, tags and custom taxonomies | Create, assign and update terms. |
| Skills and memory | skill_list, skill_get, memory_save and more | Reusable instructions stored on the site, for example how to build pages in its theme. |
| Power tools | execute_php, db_query, site_files | Listed in Cursor, but refuse every call until a site admin switches them on. |
Two things in the right-hand column catch most people out. The power tools appear in Cursor’s tool list but refuse to run until an admin switches them on, and with Safe Mode on, InstaMCP blocked plugin file writes in InstaWP’s test. The site MCP documentation lists every tool.
Should you connect Cursor to one site or to your whole InstaWP account?
Connect one site when you are coding on that site; connect your account when you manage many. InstaWP offers both, and Cursor supports both. Site MCP reaches inside one WordPress install with a token. InstaWP Account MCP signs in once with OAuth and works across the sites in your current team, at the hosting level.
| Site MCP (InstaMCP) | Account MCP | |
|---|---|---|
| URL | https://your-site.instawp.site/insta-mcp | https://app.instawp.io/mcp |
| Sign-in | A token in an Authorization: Bearer header (or in the URL as ?t=) | OAuth in the browser. Cursor registers itself, no client ID needed |
| Reaches | One site: its content, plugins, themes, meta and logs | Every site in your current team: details, plugins, themes, users, backups, snapshots |
| Tools in Cursor | 43 | 18 on a read-only connection |
| Access level | The token’s WordPress role, plus Safe Mode | Read-only or Read and write, chosen on the consent screen for each connection |
| Turn it off | Switch off Enable MCP on the site | Switch off Enable MCP for your account |
| Use it for | Building or fixing one site | Finding a site, checking updates across sites, magic login links |
The real difference is reach. Site MCP works inside WordPress; Account MCP works on the hosting around it. Many agencies connect both: the account for the overview, and the one site they are coding on. InstaWP explains the split in more depth in Account MCP vs Site MCP.
What do you need before you connect Cursor to WordPress?
You need Cursor, a WordPress site hosted on InstaWP with MCP available, and a few minutes. Cursor’s desktop app and its CLI both support remote MCP servers with headers and OAuth, according to Cursor’s MCP documentation.
- Cursor, the desktop app or the Cursor CLI. InstaWP tested this guide on the CLI, version 2026.10.19. The CLI and the app read the same
mcp.json. - A WordPress site on InstaWP. Site MCP is available on the Sandbox plan and above. Create a site from scratch or from one of InstaWP’s WordPress templates, or use an existing one. Plans start at $2 a month for a sandbox and $5 for production. A WordPress staging copy of a live site is the safest target (staging is included on Pro and above).
- InstaMCP on the site. It comes with InstaWP sites; the MCP tab switches it on. InstaMCP runs on InstaWP-hosted sites only, so a site hosted elsewhere has to move to InstaWP managed WordPress hosting first.
- For Account MCP only: MCP switched on for your account under Profile, MCP. It is off by default.
- Site hosted somewhere else? Skip to Method 2, which uses the official WordPress MCP Adapter.
How to connect Cursor to a WordPress site
There are three ways to connect Cursor to a WordPress site, and this guide covers each one in detail. Which one you need depends on where the site is hosted and how many sites you want Cursor to reach.
Method 1 connects one InstaWP site with a token. The Account MCP section connects your whole InstaWP account with OAuth, and Method 2 covers sites hosted elsewhere. Pick the one you need; none depends on another.
Method 1: How do you connect Cursor to a WordPress site on InstaWP?
The easiest way to connect Cursor to WordPress is to host the site with a managed WordPress host that has an MCP server built in. When the server already runs on the site, connecting Cursor is a switch and a click: no plugin to install, no proxy to run and no Application Password to manage.
InstaWP is a managed WordPress hosting provider that builds a WordPress MCP server, InstaMCP, into every site. From the site’s MCP tab you get:
- 43 typed tools for content, Gutenberg blocks, plugins, themes, media, SEO meta and error logs.
- An Add to Cursor button that installs the server with the token in an
Authorizationheader, not in the URL. - Safe Mode, WordPress role-based access, and PHP, SQL and file power tools that stay off until an admin switches them on.
- Setup guides for 14 AI clients, so the same site also works in Claude, ChatGPT and VS Code.
With that in place, connecting Cursor takes three steps.
Step 1: Switch on MCP for the site
- Open the site in the InstaWP dashboard. In the site menu, open Extensions, then MCP, and switch on Enable MCP. The connection URL appears straight away, in the form https://your-site.instawp.site/insta-mcp?t=YOUR_TOKEN.

/insta-mcp, and Cursor reported Error: Connection failed.Step 2: Add the site to Cursor with one click
- On the same MCP tab, click Add to Cursor in the row of client buttons.

- Your browser asks whether to open Cursor. Allow it. Cursor then opens its own MCP install dialog showing the server name, which is the site address as a slug (for example corner-crumb-instawp-site). Check it is the right site and approve it. Nothing is added until you do.
- The server now appears in Cursor under Customize, then MCPs. Go to Step 3 to confirm it works.
The button sends the token in an Authorization header rather than as ?t= in the URL. That keeps the token out of server access logs and out of anything else that records URLs, and each site gets its own server name, so adding a second site creates a second entry instead of overwriting the first.
Step 2, the manual way: Add InstaMCP to Cursor’s mcp.json
Use this if the button cannot open Cursor (a locked-down browser, a remote machine) or you want the config in a project file your team shares.
- On the site’s MCP tab, open Setup guides for AI clients, then Cursor, and copy the JSON block with its copy button. It already holds the site URL and the token in an Authorization header.

- Open the mcp.json file. Use ~/.cursor/mcp.json in your home folder to make the site available in every project, or create .cursor/mcp.json inside one project folder. If both files name the same server, the project file wins.
- Paste the JSON block. Then replace the token after the word Bearer with ${env:INSTAWP_SITE_TOKEN}, so the file never holds the token itself and is safe to commit.
- Add the line export INSTAWP_SITE_TOKEN=your-token to your shell profile, then restart Cursor, or switch the server off and on under Customize, then MCPs.
The environment variable keeps the token out of the file. Cursor resolves ${env:NAME} in the url and headers fields from your environment, as Cursor documents for config interpolation. InstaWP tested it: with INSTAWP_SITE_TOKEN exported, Cursor showed the server as ready; with the variable unset, it showed Error: Connection failed. Export the variable in your shell profile and restart Cursor so the app can see it.
${env:...} form above, so each developer sets their own token and none of them lands in Git. The token-in-URL form (https://your-site.instawp.site/insta-mcp?t=YOUR_TOKEN with no headers) also connected in InstaWP’s test, but it puts the secret in the one string people copy around.Step 3: Check that Cursor can see the WordPress tools
In the Cursor app, open Customize, then MCPs. The server should be switched on and list its tools. If it shows an error instead, jump to the Connection failed table.
In the Cursor CLI, cursor-agent mcp list shows each server’s status and cursor-agent mcp list-tools prints the tools (Cursor’s current CLI docs call the command agent). This is what InstaWP’s run printed:
$ cursor-agent mcp list corner-crumb-instawp-site: ready # 3.95 s from command to "ready" $ cursor-agent mcp list-tools corner-crumb-instawp-site Tools for corner-crumb-instawp-site (43): - assign_terms_to_content (content_id, taxonomy, term_ids, append) - create_content (content_type, title, content, status, ...) - patch_content (content_id, operations, dry_run, create_backup) - plugin_files (action, plugin, file_path, content, create_backup) - site_logs (source, lines, level, search) - validate_blocks (content, render) # ...37 more
Then give Cursor a read-only first job, so you see it work before it changes anything: “Use the corner-crumb MCP server. List the active plugins and theme, and read the last 50 fatal errors from site_logs.” In InstaWP’s run, plugin_info answered in 0.72 seconds and theme_info in 0.78 seconds.
Cursor decides which tool calls need your approval. By default the agent asks before using an MCP tool. In Cursor 3.6 and later, the default Auto-review run mode lets allowlisted tools run straight away and sends the rest through a classifier, which Cursor’s run modes documentation says is not a security boundary. For a live site, keep Auto-review or Allowlist and do not use Run Everything.
How do you connect Cursor to your whole InstaWP account with OAuth?
Switch on MCP for your account, add https://app.instawp.io/mcp to Cursor, and sign in when Cursor asks. There is no token to copy: Cursor registers itself with InstaWP’s OAuth server, opens the sign-in in your browser and stores the result. InstaWP’s Account MCP docs cover the same flow for other clients.
- In the InstaWP dashboard, open Profile, then MCP, and switch on Enable MCP for your account. It is off by default.

- Click Add to Cursor on the same page. To add it by hand instead, put the URL https://app.instawp.io/mcp under a server name such as instawp in mcp.json. No headers are needed.
- Cursor shows the server as needing sign-in. Click it (in the Cursor CLI, run cursor-agent mcp login instawp), and InstaWP’s sign-in opens in your browser.
- On the Authorize Cursor screen, choose Read-only or Read & write, then click Authorize. The browser shows “Authorization complete!” and hands control back to Cursor.

- Back on the Profile, MCP page, check that Cursor now appears under Connected apps, with the date it was authorized.

Under the hood this is standard MCP OAuth, and both sides advertise it. InstaWP’s server publishes its protected resource metadata, a registration endpoint and PKCE with S256.
Cursor’s CLI registered itself, sent a PKCE challenge and listened on http://localhost:8787/callback, which is the desktop callback Cursor documents. After sign-in, cursor-agent mcp list showed instawp: ready and listed 18 tools on the read-only connection, including list_sites, list_site_plugins with an updates-only filter, list_backups and get_magic_login.
get_site_credentials, get_ssh_sftp, get_site_mcp_token) were switched on, so they appeared even on a read-only connection. The page notes that shell and credential tools are off by default.Every app that signs in is listed under Connected apps on the same page, with the date it was authorized and when it was last used, so you can see what has access. To shut every app out at once, switch off Enable MCP for your account: in InstaWP’s test, Cursor’s next request was refused with “MCP access is disabled for this account”.
Method 2: How do you connect Cursor to a WordPress site hosted elsewhere?
Install the official WordPress MCP Adapter plugin, create an Application Password, and add Automattic’s mcp-wordpress-remote proxy to Cursor’s mcp.json. It works on any host running WordPress 6.9 or later. Out of the box it gives Cursor much less than InstaMCP does, because it only exposes abilities that plugins, or your own code, mark as public.
- Check that the site runs WordPress 6.9 or later over HTTPS (Dashboard, then Updates shows the version), and that Node.js is installed on your computer, because the proxy runs with npx.
- Install the official plugin. Go to Plugins, then Add New, search for MCP Adapter (by WordPress.org), then click Install Now and Activate. Version 0.7.1 had 50,000+ active installs when InstaWP checked on 23 October 2026.

- Go to Users, then Profile, and scroll to Application Passwords. Type Cursor as the name, click Add Application Password and copy the password WordPress shows. It is shown only once. Use the lowest-privileged user that can do the job.

- Add the proxy to ~/.cursor/mcp.json, using the block from the MCP Adapter CLI usage guide. Set WP_API_URL to https://your-site.com/wp-json/mcp/mcp-adapter-default-server, WP_API_USERNAME to your WordPress username, and WP_API_PASSWORD to the Application Password, or to ${env:WP_APP_PASSWORD} to keep it out of the file.

- Restart Cursor and check the server under Customize, then MCPs.
For a local site, the Adapter can also run over STDIO with the WP-CLI command wp mcp-adapter serve, with no proxy and no password.
What Cursor gets is the catch. The Adapter exposes abilities registered through the WordPress Abilities API, and abilities are private until a plugin marks them public. On a bare install in InstaWP’s 6 October 2026 test, that meant 3 read-only core abilities. Writing posts or editing plugin files needs a plugin that registers those abilities, or your own code. InstaWP covers the Adapter in more depth in its WordPress MCP Adapter review, and compares the plugins that add tools in best WordPress MCP plugins.
If you would rather have the full tool set on that site, InstaWP includes free migrations on every plan, so you can move it with the WordPress migration tool and then follow Method 1.
What does a real Cursor and WordPress workflow look like?
A real workflow changes code and content together and then proves the result on the live page. InstaWP ran one on the test sandbox, a small bakery site with a custom order-ahead plugin. The request: orders now close at 4 pm instead of 6 pm, and the notice should say “4 pm”, not “16:00”. This is the prompt a Cursor user would type:
Use the corner-crumb MCP server. In corner-crumb-tools/corner-crumb-tools.php, change the order cutoff from 6 pm to 4 pm, and show the time in the notice as "4 pm" rather than "16:00". Show me the diff first. Then write the file, read site_logs for fatal errors, update the "Orders close at 6 pm" sentence on the Order ahead page with patch_content (dry run first), and fetch the page to confirm both say 4 pm.
InstaWP then made each of those tool calls over the site’s MCP endpoint, the same JSON-RPC requests Cursor’s agent sends once the server is connected. (Running Cursor’s own chat agent needs a Cursor account sign-in, which this test did not use.) The table shows what happened, in order.
| Call | Result | Time |
|---|---|---|
plugin_files read | Returned the 162-line plugin file. | 0.93 s |
plugin_files write | Refused: “Operation blocked: Safe mode is enabled. Write plugin file is not allowed.” | 0.73 s |
| Safe Mode off | A person unticked Safe Mode in WordPress admin, Settings, InstaMCP, General. | manual |
plugin_files write | Saved, backup_created: true, with the old file kept under wp-content/insta-mcp-backups/. | 0.72 s |
site_logs (fatal) | 0 lines returned. | 0.71 s |
| Fetch the live page | Still showed “18:00” at first. Showed “Orders close at 4 pm” about 40 seconds after the write. | about 40 s |
patch_content dry run | One replacement previewed, page length unchanged at 703 characters. | 0.72 s |
patch_content | Applied. The page copy now says 4 pm. | 0.72 s |
| Safe Mode on | Ticked again straight afterwards. | manual |
Two rows are where a Cursor user usually stops and assumes something broke: the first write being refused, and the page still showing 18:00. The refusal is Safe Mode doing its job, and the stale page is PHP’s OPcache serving compiled code until it checks the file again. Ask Cursor to re-fetch the page after a short wait before it starts “fixing” a change that already worked.
// before const CCT_CUTOFF_HOUR = 18; // Orders for tomorrow close at 6 pm, site time. __( 'Orders close at %1$d:00 for next-day pickup. ...' ), CCT_CUTOFF_HOUR, // after const CCT_CUTOFF_HOUR = 16; // Orders for tomorrow close at 4 pm, site time. __( 'Orders close at %1$s for next-day pickup. ...' ), gmdate( 'g a', CCT_CUTOFF_HOUR * HOUR_IN_SECONDS ),

The same pattern works for theme files with theme_files, and for new plugins with plugin_operations from a zip. Compare the agent’s code with the WordPress Plugin Handbook before you approve it: nonces, sanitised input and escaped output.
Writing a plugin from scratch rather than changing one? InstaWP’s guide to how you build WordPress plugins and blocks with AI covers the prompts and checks for a new plugin.
Why does Cursor say “Connection failed” for a WordPress MCP server?
Because Cursor’s CLI uses one message for several different problems. InstaWP broke the config five ways, and Cursor’s CLI printed Error: Connection failed every time. The server’s own response tells them apart, so check that before you change anything.
| Cause | What the server returns | Fix |
|---|---|---|
| MCP is switched off on the site | HTTP 200 with an HTML page (the site’s home page) | Switch on Enable MCP on the site’s MCP tab. |
| Wrong token | HTTP 401, "message":"Invalid token" | Copy the config again from the MCP tab. |
| No token sent | HTTP 401, "message":"Authentication required" | Add the headers block, or check the ${env:...} variable is set. |
Wrong path, for example /insta-mcp-agents | HTTP 404 with an HTML page | The path is /insta-mcp. A trailing slash is fine. |
| Environment variable not set | HTTP 401, the header arrives empty | Export it in your shell profile, then restart Cursor. |
The middle column is the diagnosis. An HTML answer means you are not reaching InstaMCP at all; a JSON 401 means you are, and only the token is wrong. This command reproduces Cursor’s first request and prints the status code:
# expect 200 and application/json; anything else matches a row in the table $ curl -s -o /dev/null -w "%{http_code} %{content_type}\n" -X POST \ -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \ -H "Authorization: Bearer $INSTAWP_SITE_TOKEN" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}' \ https://your-site.instawp.site/insta-mcp
Inside the Cursor app, the detail is in the Output panel (Cmd+Shift+U on a Mac, Ctrl+Shift+U on Windows and Linux) under MCP Logs, as Cursor’s MCP help page describes. For a PHP error on the WordPress side, InstaWP’s guide to finding site error logs shows where site_logs reads from.
How do you keep Cursor safe on a live WordPress site?
Point Cursor at a staging copy, keep approvals on in Cursor, and turn on InstaMCP’s Safe Mode (WP Admin, Settings, InstaMCP, General), switching it off only for the one step that needs it. Cursor’s settings decide what the agent may try. InstaMCP’s settings decide what WordPress will accept, even if the agent tries anyway. You want both.
| Risk | Cursor control | InstaWP control |
|---|---|---|
| The agent changes something you did not ask for | Approval before MCP tools, or Auto-review with a short allowlist. Not Run Everything. | Safe Mode blocked plugin file writes, plugin installs and meta writes in InstaWP’s tests, and blocks deletes. |
| Code that breaks the site | Review the diff in chat before you approve the write. | File writes keep a backup copy; site_logs shows fatal errors; site backups restore the rest. |
| A leaked token | Use ${env:...} in mcp.json; keep the file out of Git. | One token per site. Switching MCP off stops the endpoint answering at all. |
| Too much reach across sites | Connect only the sites you are working on. | Account MCP: Read-only at sign-in and the Tool access switches. Switching account MCP off refuses every app at once. |
| Raw PHP or SQL | Switch the tools off in the chat tools list. | execute_php, db_query and site_files are off until an admin enables them. |
| Changes reaching customers unreviewed | Plan the change in Cursor first. | Work on a staging environment and push to live after a person checks it. |
Each row pairs a control you can relax from the chat with one you cannot. The InstaWP controls hold whatever the agent decides, because only a site admin or the account owner can change them. InstaWP goes further into the risks in is MCP WordPress integration safe and how to use MCP for WordPress in production. Before a big change, take a backup first; backups on InstaWP explains what each plan keeps.
Can you deploy a WordPress site from Cursor?
Yes, but Cursor does not deploy anything by itself. It edits files, and something has to move them to the server. On an InstaWP site there are four ways to do that, and the right one depends on how big the change is.
For the Git route, InstaWP walks through how to deploy WordPress from GitHub and how to deploy WordPress from GitHub with an AI agent. The developer tools page lists Git, SFTP, SSH and WP-CLI access, Local Mount explained covers the mounted drive, and the WordPress staging environment guide covers the push to production.
Is Cursor the best AI client for WordPress, or should you use Claude Code or ChatGPT?
Cursor is the best fit when the work is mostly code you can see, such as a plugin or a theme. The WordPress side is the same in every client: InstaWP’s MCP docs have setup guides for 14 clients, and the same site URL works in all of them.
- Cursor suits developers who want to read every file and diff, with the site one tool call away.
- Claude Code is terminal-first and works well with reusable skills. InstaWP shows that style in Claude Code skills for web development and in how to connect Claude to WordPress.
- ChatGPT suits content and site management without an editor. See how to connect ChatGPT to WordPress.
- Google Antigravity is Google’s agent-first coding platform. See how to use Google Antigravity for WordPress.
For the protocol itself and other clients, how to connect AI agents to WordPress using MCP and InstaWP’s WordPress MCP guide go deeper, and the WordPress MCP servers comparison covers servers other than InstaMCP. The Model Context Protocol site has the specification. For a wider shortlist, see the best AI coding tools for WordPress developers and the hosts that offer WordPress hosting with MCP built in.
On an InstaWP site, switch on MCP and click Add to Cursor, or paste the url and Authorization header into ~/.cursor/mcp.json, using ${env:...} for the token. Check that Customize, then MCPs shows the server with 43 tools. For many sites, add https://app.instawp.io/mcp and sign in read-only. For a site on another host, use the WordPress MCP Adapter with an Application Password, and expect fewer tools. Keep approvals on in Cursor and Safe Mode on in WordPress, switching it off only for the write that needs it. If Cursor says Connection failed, curl the endpoint: HTML means MCP is off or the path is wrong, a JSON 401 means the token is.
Connecting Cursor to WordPress: FAQs
Can Cursor connect to WordPress?
Yes, over MCP. Add the site’s MCP server to Cursor, for example with the Add to Cursor button on an InstaWP site’s MCP tab, and Cursor gets tools to read and change the site. InstaWP tested this on 22 October 2026 with Cursor CLI 2026.10.19 and InstaMCP 1.11.4: 43 tools, ready in 3.95 seconds.
Where is Cursor’s mcp.json file?
The global file is ~/.cursor/mcp.json in your home folder and applies to every project. A project file at .cursor/mcp.json applies to one project. Cursor merges both, and the project file wins when both use the same server name.
Why does Cursor say Connection failed for my WordPress MCP server?
Cursor’s CLI showed the same message for several causes in InstaWP’s test: MCP switched off on the site, a wrong or missing token, a wrong path, or an unset environment variable. Send the initialize request with curl. An HTML response means you are not reaching the MCP server; a JSON 401 means the token is the problem.
Does Cursor need a local copy of the WordPress site?
No. InstaMCP talks to the live site over HTTPS. If you also have the theme or plugin in a local repo, Cursor can edit it there and then write the file and check the page over MCP.
Can Cursor edit WordPress plugin and theme files?
Yes. InstaMCP’s plugin_files and theme_files tools read and write files, check PHP before saving, and keep a backup before each write. With InstaMCP’s Safe Mode on, those writes were refused in InstaWP’s test, so switch it off for the step that needs it and back on afterwards.
What is the difference between Site MCP and Account MCP in Cursor?
Site MCP connects one WordPress site with a token and gave Cursor 43 tools. Account MCP connects your InstaWP account with OAuth, works across every site in your team, and gave Cursor 18 tools on a read-only connection.
Is it safe to give Cursor access to a live WordPress site?
It is safe enough with both sets of brakes on: approvals or Auto-review in Cursor, and Safe Mode plus a staging copy on the WordPress side. Keep execute_php off, keep tokens out of Git, and switch MCP off on sites and accounts you are not using.
Does InstaMCP work on WordPress sites hosted elsewhere?
No. InstaMCP runs on sites hosted on InstaWP. For a site on another host, install the official WordPress MCP Adapter plugin (WordPress 6.9 or later), create an Application Password, and connect Cursor through the mcp-wordpress-remote proxy. It exposes only the abilities plugins mark as public, so expect fewer tools than InstaMCP’s 43.
Can you deploy a WordPress site from Cursor?
Yes, through a second tool. Cursor edits files; on InstaWP you can write them straight to the site over MCP, push them to GitHub, GitLab or Bitbucket for automatic Git deployment, edit the live files through Local Mount or SFTP, or build on a staging copy and push it to production.
Do I need the Cursor desktop app, or does the Cursor CLI work?
Either works. The Cursor CLI uses the same mcp.json as the desktop app, so a server you add in one appears in the other. InstaWP tested this guide with Cursor CLI 2026.10.19.