Important: The WordPress Abilities API and MCP Server are still in development and latest versions may include breaking changes. This documentation refers to the following versions:
- Abilities API – Version 0.4.0
- MCP Adapter – Version 0.3.0
As of version 1.10.60, WS Form includes an MCP server that can be used to interact with WS Form from external applications, scripts, or services, including AI tools. This makes it possible to connect WS Form directly to AI-powered workflows, enabling intelligent form handling, automated decision-making, and seamless integration with next-generation assistants that speak the MCP protocol.
Prerequisites
In order to use the WS Form MCP Server, the following plugins must first be installed:
- Abilities API (WordPress version 6.9 introduced the Abilities API into core)
- MCP Adapter
Enabling the MCP Server
To enable the WS Form MCP Server:
- Go to WS Form > Settings > AI from the WordPress admin menu.
- Under MCP Server check Enable.
- Click Save Changes.
Form editing is disabled by default for security reasons. If you would like to experiment with making form edits via the MCP server:
- Go to WS Form > Settings > AI.
- Under Abilities API, check Allow Updates.
- Click Save Changes.
Due to AI still being in its infancy, we do not recommend making changes to forms in production.
Authentication
When connecting to the MCP server, we’re going to need a way of authenticating that the request is coming from an authorized user.
To do this, we can create a WordPress user application password as follows:
- Click WP admin in WordPress studio to access the WordPress admin.
- Click Users in the WordPress admin menu.
- Edit the user you would like to use for accessing the MCP server (e.g. admin).
- Scroll down Application Passwords.
- In the New Application Password Name input, enter:
My MCP Server - Click Add Application Password.
- Copy the application password and keep it somewhere safe for now. It is only generated and shown once.

Testing the MCP Server
MCP Inspector
Here is how you can use MCP Inspector to test the MCP server:
- Create an
mcp-wsform.jsonfile that contains the following:{ "mcpServers": { "wsform": { "command": "npx", "args": ["-y", "@automattic/mcp-wordpress-remote"], "env": { "WP_API_URL": "https://yoursite.com/wp-json/ws-form/v1/mcp", "WP_API_USERNAME": "username", "WP_API_PASSWORD": "password" } } } } - In
WP_API_URLenter the URL found under WS Form > Settings > AI > MCP Server > Server URL - In
WP_API_USERNAMEenter the username you used when creating the application password. - In
WP_API_PASSWORDenter the password you were given when creating the application password. - Open MCP Inspector:
npx @modelcontextprotocol/inspector --config mcp-wsform.json --server "wsform" - Ensure that Transport Type is set to STDIO.
- Click Connect.
- Click the Tools tab.
- Click List Tools. The MCP Inspector will show the available tools registered with the WS Form MCP server.

Claude Desktop
Here is how you can use Claude Desktop to test the MCP server:
- Download and install Claude Desktop.
- Login. You will need at least a Pro level account.
- Go to Settings > Desktop App > Developer
- Click Edit Config and edit the
claude_desktop_config.jsonfile. Add this to the file:{ "mcpServers": { "WS Form @ yoursite.com": { "command": "npx", "args": ["-y", "@automattic/mcp-wordpress-remote"], "env": { "WP_API_URL": "https://yoursite.com/wp-json/ws-form/v1/mcp", "WP_API_USERNAME": "username", "WP_API_PASSWORD": "password" } } } } - Restart Claude.
You should now see the MCP server listed when you start a new chat.

You can then try to chat with WS Form on your server by issuing a prompt.
Tips
- Start a new, fresh chat for each form you work with.
- If you create a new form, you don’t need to specify the form ID in subsequent prompts.
- If you are modifying an existing form, identify it initially in your prompt using the form ID
e.g. Publish form ID 123. - You can insert fields before another field by identifying it by ID or label
e.g. Add a select field before the submit button for preferred method of communication.
Example Prompts
Get Forms
Get a List of the Published Forms
List all published forms in WS Form, including their IDs and labels.
How Many Forms?
Count the total number of forms in WS Form and return the result. Include both published and unpublished forms.
Add Form
Create a Contact Us Form and Add it to a Page
Create an accessible Contact Us form with helpful field descriptions, and add it to a new page.
Create a Specific Contact Form
Create a simple contact form with first name, last name, email address, phone number (optional), subject line dropdown (General Inquiry, Support, Sales, Partnership), and a message textarea. Make name and email required. Add help text under the message field saying "Please provide as much detail as possible."
Dog Adoption Form
Create a dog adoption form.
Job Application
Make me a multi-step job application form, including a PDF file upload field.
Mortgage Calculator
Create a mortgage calculator form
Multi-Lingual Form Creator
Create a contact form in English, then immediately create a Spanish version by cloning it and translating all field labels, placeholders, and help text to Spanish. Give me both shortcodes.
Multi-Step Loan Form
Create a multi-step loan application form with:
Step 1: Personal info (name, email, phone)
Step 2: Employment details (employer, income, job title)
Step 3: Loan details (amount requested, purpose)Include next/previous buttons and make sure all fields are required except the loan purpose.
Support Ticket Form
Design a technical support form with:
- Your name and email (required)
- Product/service affected dropdown: Website, Mobile App, API, Billing, Other
- Priority level radio: Low, Medium, High, Critical
- Issue category dropdown: Bug Report, Feature Request, Access Issue, Performance, Documentation
- Subject line (text field, required)
- Detailed description (textarea, required, placeholder: "Please include
steps to reproduce the issue")
- Browser/Device info (text field)
- Screenshot upload (file field, optional, help text: "Attachments help us resolve issues faster")
- Error message (textarea, if applicable)
Workshop Registration
I need a registration form for a workshop. Include fields for full name, email, company, job title, and a checkbox to agree to terms and conditions. Add a dropdown for selecting which session they want to attend with options: Morning, Afternoon, or Evening.
Edit Form
Accessible Help Text
Add help text to all fields to improve accessibility.
Add Multiple Fields
Add three rating fields called Design, Usability, and Support.
Add Placeholders
Add placeholders to the first and last name fields.
Publish a Form
Publish form ID 123.
Translate a Form
Translate form ID 123 into Spanish.
Add Field
Add Fields
Insert an email field before the company field and make it required.
Edit Field
Add Sample Options to a Select Field
Add 20 sample options to the "Programming Language" select field in form ID 123. Use a variety of common languages such as JavaScript, Python, PHP, etc., and include both modern and legacy languages.
Alphabetize Select Options
Reorder the options in the "Country" select field for form ID 123 alphabetically by their label.
Edit a Field
Make the Last Name field required and add help text to it.
Placeholder and Help Text on Email Field
For form ID 5, update the email field to include placeholder text "your@email.com" and make the help text say "We'll never share your email."
Statistics
Form View in Past 5 Days
How many times was form ID 123 viewed in the past 5 days?
Saves Last Month
How many times was form ID 123 saved last month?
Submissions in Given Month
How many times was form ID 123 submitted in January 2025?
Total Submission Records
How many submission records does form ID 123 have?
Total Unread Submissions
How many unread submissions does form ID 123 have?
Advice
Ask How to Improve a Form
How could I improve form ID 13?
Get Advice For Poor Performing Form
Show me statistics for form ID 123 from the last 30 days. If it has more than 100 views but less than 10 submissions, suggest improvements to increase the conversion rate.
Help With #calc
Give me an example #calc I can use in WS Form to create a mortgage monthly payment amount.
Scope
The MCP server can be used with both WS Form LITE and WS Form PRO and can create forms that include the following field types:
When using WS Form PRO, the following additional field types are available:
The following WS Form features can be used when creating forms:
- Tabs (multi-step forms)
- Calculations (for example,
#calc(#field(1) + #field(2))) - Field settings (such as Default Value, Required, Placeholder, Help, and Invalid Feedback)
- Select, Checkbox, and Radio population
- Field sizing
The WS Form features made available to the MCP server are intentionally simplified to minimize the data AI has to handle when interacting with forms. We hope to expose more features as AI technology progresses.
Current Limitations
- Updates to select, checkbox and radio data grid rows are limited a 2 column format of values and labels.
- Tabs and sections can only be added when initially creating a new form.
- Conditional logic cannot be added.
We hope to add additional functionality as AI technology evolves and becomes more reliable.
Security
All abilities exposed via the MCP server are protected by permission callbacks. User capabilities are checked against standard WS Form capabilities.