Limited time discount
First Birthday, Big Savings
Up to 80%Off
Up to 80%Off
Grab Now
documentation-logo
Menu
  • Guides
  • Integrations

How do I connect an external MCP client to IvyForms

You’re working in Claude Desktop on your laptop and you’d like it to spin up an IvyForms form for you without switching over to the WordPress admin; that’s what an external MCP client setup gives you. Connecting a client like Claude Desktop, Cursor, or Claude Code lets the assistant call IvyForms tools directly from your machine over MCP. This is the advanced path; if you just want AI help inside the WordPress admin, use Angie instead (Elementor’s free AI agent, which only needs a free Elementor account to log in). This article walks through creating an application password, pointing your client at the IvyForms server, and confirming the connection.

When would I connect an external client instead of using Angie?

Use this setup when you want to manage IvyForms from an MCP client running on your own computer rather than from the browser. Angie connects automatically through your logged-in admin session, so it needs nothing more than the MCP toggle switched on. An external client lives outside WordPress, so it needs its own credentials and configuration; enabling the toggle on the site prepares the server, but it does not configure Claude, Cursor, or any other client for you.

What do I need before I start?

Have these ready before you begin:

  • WordPress 6.9 or newer, with IvyForms installed and active.
  • A site administrator account (the manage_options capability); IvyForms checks this on every request.
  • MCP enabled on the site, from IvyForms → Settings → General; see the IvyForms MCP documentation for that step.
  • HTTPS on the site for production use, since WordPress requires it for application passwords on non-local sites.

How do I create a WordPress application password?

You create the password from your own WordPress profile, using an administrator account. Go to Users → Profile (your own profile, not Add New User), scroll to Application Passwords, give it a recognizable name like Claude MCP, and click Add New Application Password. Copy the value right away, since it’s shown only once (the spaces in it are fine to keep). Your username for the client config is your WordPress login name from the top of the profile, not the label you gave the password.

Application Passwords section in a WordPress user profile

An application password is shown only once and grants the same access as your admin login. Copy it somewhere safe, never share it or commit it to a repository, and revoke it from the same screen if it’s ever exposed.

How do I add the IvyForms server to my MCP client?

Most clients speak stdio locally while WordPress speaks HTTP, so the connection runs through the @automattic/mcp-wordpress-remote proxy. In every client, point the proxy at the IvyForms-specific endpoint, https://YOUR-SITE/wp-json/mcp/ivyforms-mcp-server, and pass your username and application password as environment variables. Replace YOUR-SITE with your real domain and the credentials with the ones from the previous step.

How do I configure Claude Desktop?

Add this block to claude_desktop_config.json:

{
  "mcpServers": {
    "ivyforms": {
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
      "env": {
        "WP_API_URL": "https://YOUR-SITE/wp-json/mcp/ivyforms-mcp-server",
        "WP_API_USERNAME": "your-wp-login-username",
        "WP_API_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
        "OAUTH_ENABLED": "false"
      }
    }
  }
}

How do I configure Claude Code?

Run this from the command line:

claude mcp add ivyforms \
  --env WP_API_URL=https://YOUR-SITE/wp-json/mcp/ivyforms-mcp-server \
  --env WP_API_USERNAME=your-wp-login-username \
  --env WP_API_PASSWORD='your-application-password' \
  --env OAUTH_ENABLED=false \
  -- npx -y @automattic/mcp-wordpress-remote@latest

How do I configure Cursor?

Add the same mcpServers block shown for Claude Desktop under Cursor’s MCP settings (Cursor → Settings → MCP, or a project .cursor/mcp.json file, depending on your setup). The structure matches Claude’s format exactly.

How do I confirm the connection works?

Fully quit and reopen your client so the proxy starts with the new environment variables, then check that the IvyForms server shows as connected and lists its tools. You should see entries like ivyforms-get-forms, ivyforms-create-form, ivyforms-list-templates, and ivyforms-add-form-field. If you want to sanity-check the endpoint itself, open https://YOUR-SITE/wp-json/mcp/ivyforms-mcp-server in a browser while logged in as admin; a 404 means MCP is still disabled, while a 401 or 403 is normal and just means the route exists (a real session uses a POST with JSON-RPC, not a plain browser visit).

MCP client showing connected IvyForms server and its tools

How does the agent create a form for me?

Once connected, you ask in plain language, for example “create a contact form from the contact template in IvyForms,” and the agent chains the tools for you. It typically calls ivyforms-list-templates to find valid template IDs, then ivyforms-create-form (an optional templateId defaults to blank_form), which returns a form ID, an admin link, and a confirmation message. From there it can follow up in the same session with ivyforms-update-form-settings, ivyforms-add-form-field, or ivyforms-open-form-builder. The new form shows up under IvyForms in the admin exactly as if you’d built it yourself, and you can open the builder straight from the returned admin link.

Why don't I see IvyForms tools in my client?

An empty tool list or a server error almost always comes down to one of these:

  • MCP is still off; enable it and save in IvyForms → Settings → General.
  • The URL is wrong; it must end in /mcp/ivyforms-mcp-server, not just /wp-json/.
  • The username is the email instead of the WordPress login name, or the application password is mistyped.
  • The account isn’t a site administrator.
  • WordPress is older than 6.9, or the Abilities API isn’t available.

Do's and don'ts for external MCP access

  • Run the site over HTTPS in production so application passwords work and stay protected in transit.
  • Give each application password a clear name so you can revoke the right one later without guessing.
  • Disable MCP on the site whenever you’re not actively using an external client.
  • Don’t share the application password or commit it to a repository; it carries your full admin access.
  • Don’t point the proxy at the generic WordPress MCP endpoint; use the IvyForms-specific URL so you get the right tools.