HappenBoard can let an AI assistant such as Claude, ChatGPT or Cursor work on your calendar. Once connected, the assistant (also called an agent) can list your events, create one, find free booking slots or register an attendee when you ask it to in a chat.
HappenBoard has its own MCP server for this (MCP is the standard way AI assistants connect to other tools). You paste one address into your assistant, sign in with your WordPress account and click Allow. There is no key to copy.
Before you start
- WordPress 6.9 or later. AI agents use the Abilities API, which arrived in that version.
- For claude.ai, the Claude desktop app and ChatGPT: a site with a public HTTPS address. These assistants connect from their own servers, so they cannot reach a site that only runs on your computer.
- Any permalink structure other than Plain, under Settings → Permalinks in WordPress. Assistants need it to find where to sign in.
- A WordPress account with the role the assistant needs. It can do what that account can do in HappenBoard, nothing more.
Turn on AI agents
The feature is off when you install HappenBoard.
- Go to HappenBoard → Settings → AI agents.
- Switch on Expose HappenBoard to AI agents.
- Click Save.
Two cards appear under the switch: Connect an AI client and Your connected clients.
Connect your assistant
The Connect an AI client card has one tab per assistant: Claude, ChatGPT, Cursor and Other. Each tab shows the steps and the text to paste, with a Copy button. Your server address looks like this:
https://your-site.com/wp-json/happenboard/mcp/v1
Copy it from the screen rather than typing it. Every assistant then works the same way: it opens your site in your browser, you sign in if asked, and you click Allow.
Claude (claude.ai and the desktop app)
- In claude.ai or the Claude desktop app, open Settings → Connectors and choose Add custom connector.
- Name it HappenBoard, paste your server address, and leave the other fields empty.
- Click Connect. Your site opens: sign in if asked, then click Allow.
Claude Code
Copy the command shown under the Claude tab and run it in a terminal. It looks like this:
claude mcp add --transport http --scope user HappenBoard "https://your-site.com/wp-json/happenboard/mcp/v1"
Then type /mcp in Claude Code, choose HappenBoard and sign in. Your site opens: click Allow. Claude Code runs on your computer, so it also reaches a site that runs on your computer (with Local, for example).
ChatGPT
- In ChatGPT, open Settings and find the screen that lists your connectors (or apps). Add a custom MCP server there. If you do not see the option, turn on developer mode in the advanced settings first.
- Name it HappenBoard, paste your server address, choose OAuth if ChatGPT asks how to sign in, and save.
- Your site opens: sign in if asked, then click Allow.
Cursor
- Open the file
~/.cursor/mcp.json(create it if needed) and paste the block from the Cursor tab, shown below. If the file already has"mcpServers", add only the HappenBoard entry inside it. - Restart Cursor, open its MCP settings and click the sign-in button next to HappenBoard. Your site opens: click Allow.
{
"mcpServers": {
"HappenBoard": {
"type": "http",
"url": "https://your-site.com/wp-json/happenboard/mcp/v1"
}
}
}
Other assistants
Any assistant that supports remote MCP servers (sometimes called Streamable HTTP) can connect. Give it your server address, and it signs in through your browser in the same way.
Choose what the assistant may do
Before connecting, your site shows the assistant’s name and the WordPress account it will act as. Under What it may do, pick one option:
| Option | What the assistant gets |
|---|---|
| Read and change | It can see, create and update events, bookings and attendees. |
| Read only | It can see, but change nothing. The tools that change data are not offered to it. |
Click Allow to connect, or Refuse to stop. The assistant chooses its own name and nothing checks it, so only click Allow if you started the connection yourself, just now.
The connection acts as the account you are signed in with in that browser. To use a separate account with a smaller role, sign in to WordPress as that account first.
What an assistant can do
Its tools come from HappenBoard’s actions (called abilities), in four groups:
- Events & calendar: events, venues, organizers, categories and tags, repeat rules, weather and the calendar feed.
- Appointment booking: booking types, hosts’ availability, free slots, and creating or moving bookings.
- Attendees & RSVPs: attendee lists, registering someone, and changing or moving a sign-up.
- Configuration & diagnostics: a site overview, the system status and your settings, which it can read but not change.
Deleting is never possible through MCP. The tools that delete or are hard to undo are left out, and you do these in WordPress yourself:
- deleting an event, a venue, an organizer or a booking type;
- cancelling a booking;
- importing events from CSV;
- replacing a host’s weekly availability.
With HappenBoard Pro, these are left out too:
- deleting a ticket type, a custom field or a shared resource;
- creating or deleting a webhook;
- approving or declining an event a visitor submitted;
- fetching changes from Google Calendar or Outlook on demand;
- exporting name badges.
A sign-up is different: a Read and change connection can change an attendee’s status, as the Attendees screen does, and Cancelled is one of the statuses. With HappenBoard Pro, it can also skip one date of a recurring event, and bring it back. Choose Read only when the assistant should change nothing.
Open the tool list on the Connect an AI client card to see each tool and whether it reads or changes data. Each assistant only gets the tools its account may use. HappenBoard Pro adds tools for tickets, orders, check-in, custom fields and more. Pro’s AI event assistant, which fills in the event form from a sentence, is a separate feature.
How your site stays safe
- The assistant is checked against the same roles and permissions as the admin screens. Nothing works without signing in. An account that cannot export attendees sees their names and statuses, not their emails.
- Rate limits apply per user: 300 reads a minute, 60 changes a minute and 600 changes an hour.
- A Read only connection is refused any change, even if the assistant asks for a tool by name.
- An assistant that is not used for 30 days has to sign in again.
Your public sign-up and booking forms are not affected. They keep their own spam protection.
Disconnect an assistant
Your connected clients lists the assistants connected to your account, each with Read only or Read and change and the date it was last used. Click Disconnect to cut one off at once.
To connect it again later, sign in from the assistant again. You do not need to remove and re-add it there. A line saying it was made for a former address of this site (after a move to a new domain, for example) needs a new connection.
Read the setup check
At the bottom of the Connect an AI client card, Setup check says Everything is ready or how many checks need attention. Open it to see each check, marked OK, Check, Problem or Not checked. Click Check again after a fix.
| Check | If it is not OK |
|---|---|
| WordPress version | Update WordPress to 6.9 or later. |
| AI agents turned on | Switch on Expose HappenBoard to AI agents and save. If it is on, remove HAPPENBOARD_DISABLE_ABILITIES from wp-config.php. |
| MCP server reachable | “Not found” or “forbidden”: a security plugin, firewall or CDN blocks your server address, so allow it there. “Could not call itself”: your host blocks this test, and assistants may still connect. |
| Sign-in | Your site has no HTTPS (see below), or it runs on your computer, where only assistants on that computer can reach it. |
| Sign-in discovery | Choose any permalink structure other than Plain. If that is already the case, ask your host to send /.well-known/ requests to WordPress. |
If your site is not on HTTPS
Signing in through the browser needs HTTPS. On a public site without it, claude.ai and ChatGPT cannot connect. Claude Code and Cursor can, with an application password:
- Click Create an application password on the Connect an AI client card.
- Copy the command (Claude Code) or the block for
~/.cursor/mcp.json(Cursor). The password is already filled in. - Copy it before you leave the page: it is not shown again.
Once your site has HTTPS, the screen goes back to signing in through the browser.
See what an assistant did
The Agent activity list, at the bottom of the screen, records every change an assistant made or tried to make. Each line shows When, Acting as (the account used), Ability and Outcome. Open Arguments to see what it sent, with passwords and keys shown as [redacted].
| Outcome | What it means |
|---|---|
| Completed | The change was made. |
| Refused | HappenBoard said no, for example because the sign-up was already cancelled. |
| Errored | Something failed unexpectedly. |
| Rate limited | The account went over its limit. |
| Not confirmed | An action that cannot be undone arrived without its confirmation. |
| Not allowed | The account’s role does not allow this action. |
Use the Outcome filter to find refusals, and Refresh to load new entries. Only changes are recorded, not reads. Entries are kept for 90 days.
Turn it off
Switch off Expose HappenBoard to AI agents and click Save. Every assistant loses access on its next request. Nothing is deleted, and the log stays.
Importing a settings backup also sets this switch to the value saved in the file. In an emergency, or to block agents on every site of a network, add this line to wp-config.php. It wins over the switch:
define( 'HAPPENBOARD_DISABLE_ABILITIES', true );
Next steps
- Roles and permissions: choose the role of the account your assistant acts as.
- Health and maintenance: the system status an assistant can also read.
- Agent and ability hooks: change the ability list or the rate limits in code.