Connect Your AI Assistant to Your Calendar
WebCalendar includes a built-in MCP server that lets AI assistants like Claude, ChatGPT, Cursor, and others interact directly with your WordPress calendar. List events, create recurring schedules, reschedule meetings, and more — all through natural conversation.
What is MCP?
MCP (Model Context Protocol) is an open standard that lets AI assistants connect to external tools and data sources. Think of it like a USB port for AI: instead of copy-pasting calendar details into a chat window, your AI assistant connects directly to your calendar and can read and write events on your behalf.
When you ask your AI “What’s on my calendar next week?” or “Schedule a team meeting for Friday at 2pm,” the AI calls WebCalendar’s MCP tools behind the scenes to get real answers and take real actions.
stdio (the older approach)
With stdio, the AI client launches a local program on your computer and talks to it through standard input/output — like a command-line program running in the background. This works well for local tools (file systems, databases on your machine), but it means the server must run on the same computer as your AI client.
Streamable HTTP (what WebCalendar uses)
With Streamable HTTP, the MCP server is a web endpoint — part of your WordPress site’s REST API. Your AI client sends standard HTTP requests to your site and gets JSON responses back. Works from anywhere. No extra software to install. Standard web security via HTTP headers.
What Can Your AI Do?
Once connected, your AI assistant has access to seven calendar tools.
list-events
Search events by date range, user, or category.
get-event
Get full details for a specific event.
list-categories
See all your calendar categories and colors.
get-calendar-info
Get calendar stats and configuration.
create-event
Create a new event with recurrence, participants, location, and more.
update-event
Modify an existing event’s time, title, description, or recurrence.
delete-event
Remove an event from the calendar.
Try These Prompts
• “What events do I have next week?”
• “Create a team standup every weekday at 9am starting Monday”
• “Move my dentist appointment to Thursday at 3pm”
• “How many events are on the calendar this month?”
• “Delete the meeting called ‘Budget Review’”
• “What categories do we have?”
Setup Guide
Get connected in four steps. The whole process takes about five minutes.
Step 1: Verify MCP is Enabled
MCP is enabled by default in WebCalendar. To confirm:
1. Go to WebCalendar → Settings in your WordPress admin.
2. Look for the AI/MCP Integration checkbox.
3. Make sure it’s checked.
You can also visit the WebCalendar → AI page for a status dashboard, test button, and configuration help.
Step 2: Create a WordPress Application Password
Your AI client needs credentials to authenticate with your WordPress site. Application Passwords are the secure way to do this — they’re separate from your login password and can be revoked individually.
1. Go to Users → Profile in your WordPress admin.
2. Scroll to the Application Passwords section.
3. Enter a name like “Claude Desktop” or “MCP Access.”
4. Click Add New Application Password.
5. Copy the generated password immediately — WordPress only shows it once.
Note: If you don’t see the Application Passwords section, your site may be running over plain HTTP. WordPress requires HTTPS for Application Passwords by default.
Step 3: Build Your Authorization Header
MCP clients authenticate using an HTTP Authorization header with Basic authentication. Take your WordPress username and the application password (spaces removed), join them with a colon, and Base64-encode the result.
Mac/Linux:
echo -n "admin:ABCDefgh1234WXYZ5678klmn" | base64
Windows PowerShell:
[Convert]::ToBase64String(
[Text.Encoding]::ASCII.GetBytes("admin:ABCDefgh1234WXYZ5678klmn")
)
Your full header value is: Basic YWRtaW46QUJDRGVm...
Step 4: Test the Connection
From your AI client: Ask “What calendar info do you have?” If you get real data back, you’re connected.
From WordPress admin: Visit WebCalendar → AI and click the Try It button to run a self-test.
From the command line:
curl -X POST \
https://yoursite.com/wp-json/webcal/v1/mcp \
-H "Content-Type: application/json" \
-H "Authorization: Basic YOUR_TOKEN" \
-d '{"jsonrpc":"2.0","id":1,
"method":"tools/list","params":{}}'
Client Configuration
Configuration varies by AI client. Here are the most common ones.
Claude Desktop
Edit your Claude Desktop configuration file:
Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"webcalendar": {
"url": "https://yoursite.com/wp-json/webcal/v1/mcp",
"headers": {
"Authorization": "Basic YOUR_BASE64_TOKEN"
}
}
}
}
Restart Claude Desktop after saving.
Claude Code (CLI)
claude mcp add webcalendar \ --transport http \ "https://yoursite.com/wp-json/webcal/v1/mcp" \ --header "Authorization: Basic YOUR_BASE64_TOKEN"
Cursor / Windsurf / VS Code + Copilot
These editors support MCP through their settings. The information you need:
• Server URL: https://yoursite.com/wp-json/webcal/v1/mcp
• Transport: Streamable HTTP
• Authorization header: Basic YOUR_BASE64_TOKEN
Check your editor’s MCP documentation for where to enter these values.
ChatGPT
ChatGPT supports MCP connections for Plus and Team users. Add WebCalendar as a remote MCP server using:
• Server URL: https://yoursite.com/wp-json/webcal/v1/mcp
• Authentication type: HTTP header
• Header name: Authorization
• Header value: Basic YOUR_BASE64_TOKEN
Permissions & Security
WebCalendar’s MCP server respects WordPress’s capability system. The tools available to your AI depend on your user role.
Viewing
Requires webcal_can_view. Private and Confidential events are filtered based on the authenticated user’s permissions.
Editing
Requires webcal_can_edit. Non-admin users can only edit their own events.
Deleting
Requires webcal_can_delete. Non-admin users can only delete their own events.
Security Best Practices
• Your Application Password grants the same access as your WordPress account. Use a dedicated account with only the permissions your AI needs, rather than an admin account.
• Application Passwords can be revoked at any time from Users → Profile without affecting your regular login.
• All MCP requests go through WordPress’s standard REST API infrastructure, including any security plugins or firewall rules you have in place.
Troubleshooting
“Authentication required” error
• Double-check your Base64 encoding. The most common mistake is including a newline or leaving spaces in the application password.
• Verify the Application Password hasn’t been revoked in Users → Profile.
• Make sure you’re using Basic (with a space) before the Base64 token.
Connection refused or timeout
• Confirm your site URL is correct and accessible from where your AI client is running.
• Check that your site’s REST API is accessible: visit https://yoursite.com/wp-json/ in a browser.
• Some security plugins block REST API access. You may need to whitelist the /webcal/v1/mcp endpoint.
Application Passwords section missing
Your site must use HTTPS for Application Passwords to appear. For local development, add this filter to enable them over HTTP:
add_filter( 'wp_is_application_passwords_available', '__return_true' );
Tools show up but operations fail
• Check that your WordPress user has the required WebCalendar capabilities for the operation (view, edit, or delete).
• Visit WebCalendar → AI in your WordPress admin to run the built-in self-test.
WordPress 6.9+ Abilities API
If your site runs WordPress 6.9 or later, WebCalendar also registers its tools through the native WordPress Abilities API. This means WordPress itself can surface your calendar tools to compatible AI assistants without any manual MCP configuration. The built-in MCP server continues to work alongside the Abilities API for clients that connect directly.

