The Events Calendar MCP Server
An MCP (Model Context Protocol) server that provides unified CRUD operations for The Events Calendar and Event Tickets WordPress plugins.
Features
- Unified Tools: Single tools for Create/Update, Read, Delete, and Search operations across all post types
- Supported Post Types:
- Events (
tribe_events
)
- Venues (
tribe_venue
)
- Organizers (
tribe_organizer
)
- Tickets (
tribe_rsvp_tickets
or tec_tc_ticket
)
- Full CRUD Operations: Create, Read, Update, Delete with proper error handling
- Search Functionality: Integrated search via the read tool with query parameter
- Type Safety: Full TypeScript support with proper type definitions
Requirements
- Node.js >= v20.0.0
- WordPress site with The Events Calendar plugin
- WordPress Application Password for authenticationd
Installation
Install in Cursor
Go to: Settings
-> Cursor Settings
-> MCP
-> Add new global MCP server
Pasting the following configuration into your Cursor ~/.cursor/mcp.json
file is the recommended approach. You may also install in a specific project by creating .cursor/mcp.json
in your project folder. See Cursor MCP docs for more info.
Since Cursor 1.0, you can click the install button below for instant one-click installation.
Cursor Local Server Connection

{
"mcpServers": {
"tec-mcp": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {
"WP_APP_PASSWORD": "your-application-password"
}
}
}
}
Install in Claude Code
Run this command. See Claude Code MCP docs for more info.
Claude Code Local Server Connection
WP_APP_PASSWORD="your-application-password" claude mcp add tec-mcp -- npx -y @the-events-calendar/mcp-server --url https://your-wordpress-site.com --username your-username
Install in Windsurf
Add this to your Windsurf MCP config file. See Windsurf MCP docs for more info.
Windsurf Local Server Connection
{
"mcpServers": {
"tec-mcp": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {
"WP_APP_PASSWORD": "your-application-password"
}
}
}
}
Install in VS Code

Add this to your VS Code MCP config file. See VS Code MCP docs for more info.
VS Code Local Server Connection
"mcp": {
"servers": {
"tec-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {
"WP_APP_PASSWORD": "your-application-password"
}
}
}
}
Install in Zed
It can be installed via Zed Extensions or you can add this to your Zed settings.json
. See Zed Context Server docs for more info.
{
"context_servers": {
"TEC MCP": {
"command": {
"path": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
]
},
"env": {"WP_APP_PASSWORD": "your-application-password"},
"settings": {}
}
}
}
Install in Augment Code
To configure TEC MCP in Augment Code, you can use either the graphical interface or manual configuration.
A. Using the Augment Code UI
-
Click the hamburger menu.
-
Select Settings.
-
Navigate to the Tools section.
-
Click the + Add MCP button.
-
Enter the following command:
WP_APP_PASSWORD="your-application-password" npx -y @the-events-calendar/mcp-server@latest --url https://your-wordpress-site.com --username your-username
-
Name the MCP: TEC MCP.
-
Click the Add button.
Once the MCP server is added, you can start using the TEC MCP tools directly within Augment Code.
B. Manual Configuration
- Press Cmd/Ctrl Shift P or go to the hamburger menu in the Augment panel
- Select Edit Settings
- Under Advanced, click Edit in settings.json
- Add the server configuration to the
mcpServers
array in the augment.advanced
object
"augment.advanced": {
"mcpServers": [
{
"name": "tec-mcp",
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
]
}
Once the MCP server is added, restart your editor. If you receive any errors, check the syntax to make sure closing brackets or commas are not missing.
Install in Roo Code
Add this to your Roo Code MCP configuration file. See Roo Code MCP docs for more info.
Roo Code Local Server Connection
{
"mcpServers": {
"tec-mcp": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
Install in Gemini CLI
See Gemini CLI Configuration for details.
- Open the Gemini CLI settings file. The location is
~/.gemini/settings.json
(where ~
is your home directory).
- Add the following to the
mcpServers
object in your settings.json
file:
{
"mcpServers": {
"tec-mcp": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
If the mcpServers
object does not exist, create it.
Install in Claude Desktop
Open Claude Desktop and navigate to Settings > Connectors > Add Custom Connector. Enter the name as TEC MCP
and configure it to launch via npx
.
Local Server Connection
Open Claude Desktop developer settings and edit your claude_desktop_config.json
file to add the following configuration. See Claude Desktop MCP docs for more info.
{
"mcpServers": {
"tec-mcp": {
"command": "npx",
"args": ["-y", "@the-events-calendar/mcp-server"]
}
}
}
Install in Opencode
Add this to your Opencode configuration file. See Opencode MCP docs docs for more info.
Opencode Local Server Connection
{
"mcp": {
"tec-mcp": {
"type": "local",
"command": [
"npx",
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"},
"enabled": true
}
}
}
Install in OpenAI Codex
See OpenAI Codex for more information.
Add the following configuration to your OpenAI Codex MCP server settings:
[mcp_servers.tec-mcp]
args = [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
]
command = "npx"
Install in JetBrains AI Assistant
See JetBrains AI Assistant Documentation for more details.
- In JetBrains IDEs go to
Settings
-> Tools
-> AI Assistant
-> Model Context Protocol (MCP)
- Click
+ Add
.
- Click on
Command
in the top-left corner of the dialog and select the As JSON option from the list
- Add this configuration and click
OK
{
"mcpServers": {
"tec-mcp": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
- Click
Apply
to save changes.
- The same way TEC MCP could be added for JetBrains Junie in
Settings
-> Tools
-> Junie
-> MCP Settings
Install in Kiro
See Kiro Model Context Protocol Documentation for details.
- Navigate
Kiro
> MCP Servers
- Add a new MCP server by clicking the
+ Add
button.
- Paste the configuration given below:
{
"mcpServers": {
"TEC MCP": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"},
"disabled": false,
"autoApprove": []
}
}
}
- Click
Save
to apply the changes.
Install in Trae
Use the Add manually feature and fill in the JSON configuration information for that MCP server.
For more details, visit the Trae documentation.
Trae Local Server Connection
{
"mcpServers": {
"tec-mcp": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
Using Bun or Deno
Use these alternatives to run the local TEC MCP server with other runtimes. These examples work for any client that supports launching a local MCP server via command + args.
Bun
{
"mcpServers": {
"tec-mcp": {
"command": "bunx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
Deno
{
"mcpServers": {
"tec-mcp": {
"command": "deno",
"args": [
"run",
"--allow-env=NO_DEPRECATION,TRACE_DEPRECATION",
"--allow-net",
"npm:@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
Using Docker
If you prefer to run the MCP server in a Docker container:
-
Build the Docker Image:
First, create a Dockerfile
in the project root (or anywhere you prefer):
Click to see Dockerfile content
FROM node:18-alpine
WORKDIR /app
# Install the latest version globally
RUN npm install -g @the-events-calendar/mcp-server
# Expose default port if needed (optional, depends on MCP client interaction)
# EXPOSE 3000
# Default command to run the server
CMD ["mcp-server"]
Then, build the image using a tag (e.g., tec-mcp
). Make sure Docker Desktop (or the Docker daemon) is running. Run the following command in the same directory where you saved the Dockerfile
:
docker build -t tec-mcp .
-
Configure Your MCP Client:
Update your MCP client's configuration to use the Docker command.
Example for a cline_mcp_settings.json:
{
"mcpServers": {
"TEC MCP": {
"autoApprove": [],
"disabled": false,
"timeout": 60,
"command": "docker",
"args": ["run", "-i", "--rm", "tec-mcp"],
"transportType": "stdio"
}
}
}
Note: This is an example configuration. Please refer to the specific examples for your MCP client (like Cursor, VS Code, etc.) earlier in this README to adapt the structure (e.g., mcpServers
vs servers
). Also, ensure the image name in args
matches the tag used during the docker build
command.
Install in Windows
The configuration on Windows is slightly different compared to Linux or macOS (Cline
is used in the example). The same principle applies to other editors; refer to the configuration of command
and args
.
{
"mcpServers": {
"github.com/the-events-calendar/mcp-server": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"},
"disabled": false,
"autoApprove": []
}
}
}
Install in Amazon Q Developer CLI
Add this to your Amazon Q Developer CLI configuration file. See Amazon Q Developer CLI docs for more details.
{
"mcpServers": {
"tec-mcp": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
Install in Warp
See Warp Model Context Protocol Documentation for details.
- Navigate
Settings
> AI
> Manage MCP servers
.
- Add a new MCP server by clicking the
+ Add
button.
- Paste the configuration given below:
{
"TEC MCP": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"},
"working_directory": null,
"start_on_launch": true
}
}
- Click
Save
to apply the changes.
Install in Copilot Coding Agent
Using TEC MCP with Copilot Coding Agent
Add the following configuration to the mcp
section of your Copilot Coding Agent configuration file Repository->Settings->Copilot->Coding agent->MCP configuration:
{
"mcpServers": {
"tec-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
For more information, see the official GitHub documentation.
Install in LM Studio
See LM Studio MCP Support for more information.q
Manual set-up:
- Navigate to
Program
(right side) > Install
> Edit mcp.json
.
- Paste the configuration given below:
{
"mcpServers": {
"TEC MCP": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
- Click
Save
to apply the changes.
- Toggle the MCP server on/off from the right hand side, under
Program
, or by clicking the plug icon at the bottom of the chat box.
Install in Visual Studio 2022
You can configure TEC MCP in Visual Studio 2022 by following the Visual Studio MCP Servers documentation.
Add this to your Visual Studio MCP config file (see the Visual Studio docs for details):
{
"mcp": {
"servers": {
"tec-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
}
For more information and troubleshooting, refer to the Visual Studio MCP Servers documentation.
Install in Crush
Add this to your Crush configuration file. See Crush MCP docs for more info.
Crush Local Server Connection
{
"$schema": "https://charm.land/crush.json",
"mcp": {
"tec-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
Install in BoltAI
Open the "Settings" page of the app, navigate to "Plugins," and enter the following JSON:
{
"mcpServers": {
"tec-mcp": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
Once saved, you can start using the TEC MCP tools. More information is available on BoltAI's Documentation site. For BoltAI on iOS, see this guide.
Install in Rovo Dev CLI
Edit your Rovo Dev CLI MCP config by running the command below -
acli rovodev mcp
Example config -
Local Server Connection
{
"mcpServers": {
"tec-mcp": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {"WP_APP_PASSWORD": "your-application-password"}
}
}
}
Install in Zencoder
To configure TEC MCP in Zencoder, follow these steps:
- Go to the Zencoder menu (...)
- From the dropdown menu, select Agent tools
- Click on the Add custom MCP
- Add the name and server configuration from below, and make sure to hit the Install button
{
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {
"WP_APP_PASSWORD": "your-application-password"
}
}
Once the MCP server is added, you can easily continue using it.
Install in Qodo Gen
See Qodo Gen docs for more details.
- Open Qodo Gen chat panel in VSCode or IntelliJ.
- Click Connect more tools.
- Click + Add new MCP.
- Add the following configuration:
Qodo Gen Local Server Connection
{
"mcpServers": {
"tec-mcp": {
"command": "npx",
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
"--password",
"your-password"
]
}
}
}
Install in Perplexity Desktop
See Local and Remote MCPs for Perplexity for more information.
- Navigate
Perplexity
> Settings
- Select
Connectors
.
- Click
Add Connector
.
- Select
Advanced
.
- Enter Server Name:
TEC MCP
- Paste the following JSON in the text area:
{
"command": "npx"
"args": [
"-y",
"@the-events-calendar/mcp-server",
"--url",
"https://your-wordpress-site.com",
"--username",
"your-username"
],
"env": {
"WP_APP_PASSWORD": "your-application-password"
}
}
Command-Line Options
--url <url> | WordPress site URL (required) |
--username <username> | WordPress username (required) |
--password <password> | WordPress application password (required) |
--ignore-ssl-errors | Ignore SSL certificate errors (for local development) |
--log-level <level> | Set logging level (error, warn, info, http, verbose, debug, silly) |
--log-file <path> | Write logs to file (suppresses console output for clean MCP protocol) |
--help , -h | Show help message |
Authentication Setup
Creating a WordPress Application Password
- Log in to your WordPress admin dashboard
- Navigate to Users → Your Profile
- Scroll down to "Application Passwords" section
- Enter a name for this application (e.g., "MCP Server")
- Click "Add New Application Password"
- Copy the generated password (spaces can be included)
Security Best Practices
- Never commit passwords to version control
- Use environment variables or secure configuration files
- Rotate application passwords regularly
- Use SSL/HTTPS for production sites
- Restrict application password permissions when possible
Available Tools
1. tec-calendar-create-update-entities
Create or update a post. If an ID is provided, it updates; otherwise, it creates.
Parameters:
postType
: "event" | "venue" | "organizer" | "ticket"
id
: (optional) Post ID for updates
data
: Post data object (fields depend on post type)
Example - Create Event:
{
"postType": "event",
"data": {
"title": "My Event",
"start_date": "2024-12-25 10:00:00",
"end_date": "2024-12-25 18:00:00",
"venue": 123
}
}
Example - Create Event with Nested Venue:
{
"postType": "event",
"data": {
"title": "Conference 2024",
"start_date": "2024-12-25 10:00:00",
"end_date": "2024-12-25 18:00:00",
"venue": {
"venue": "Convention Center",
"address": "123 Main St",
"city": "New York",
"state_province": "NY",
"zip": "10001",
"country": "US"
}
}
}
2. tec-calendar-read-entities
Read a single post by ID or list posts with filters.
Parameters:
postType
: "event" | "venue" | "organizer" | "ticket"
id
: (optional) Post ID for single post
query
: (optional) Search term
- Common filters (all post types):
page
: Page number
per_page
: Items per page (max 100 by default)
status
: Post status
order
: "asc" | "desc"
orderby
: Field to order by
include
: Array of specific IDs to include
exclude
: Array of specific IDs to exclude
eventFilters
: (optional) Event-specific filters
start_date
: Events starting after this date
end_date
: Events ending before this date
venue
: Filter by venue ID
organizer
: Filter by organizer ID
Example - List Events:
{
"postType": "event",
"per_page": 10,
"status": "publish",
"eventFilters": {
"start_date": "2024-12-01",
"end_date": "2024-12-31"
}
}
Example - Search Events:
{
"postType": "event",
"query": "conference",
"per_page": 20
}
3. tec-calendar-delete-entities
Delete a post (soft delete to trash or permanent delete).
Parameters:
postType
: "event" | "venue" | "organizer" | "ticket"
id
: Post ID to delete
force
: (optional) true for permanent delete, false for trash
Example:
{
"postType": "event",
"id": 123,
"force": false
}
Development
Setting Up for Development
git clone https://github.com/the-events-calendar/mcp-server.git
cd mcp-server
npm install
- Copy environment template:
cp .env.example .env
- Configure
.env
with your credentials:
WP_URL=https://your-wordpress-site.com
WP_USERNAME=your-username
WP_APP_PASSWORD=your-application-password
LOG_LEVEL=info
npm run dev
Build Commands
npm run dev | Run in watch mode with hot reload |
npm run build | Build TypeScript to JavaScript |
npm start | Run the compiled server |
npm run start:bun | Run with Bun runtime |
npm run start:debug | Run with debug logging |
Environment Variables Reference
WP_URL | WordPress site URL | Required |
WP_USERNAME | WordPress username | Required |
WP_APP_PASSWORD | Application password | Required |
WP_IGNORE_SSL_ERRORS | Ignore SSL errors | false |
WP_ENFORCE_PER_PAGE_LIMIT | Enforce 100 item limit | true |
MCP_SERVER_NAME | Server identifier | tec-mcp-server |
LOG_LEVEL | Logging verbosity | info |
LOG_FILE | Log output file | Console output |
Important Notes
Per-Page Limits
By default, the API limits results to 100 items per page. To disable this limit:
- Set
WP_ENFORCE_PER_PAGE_LIMIT=false
in your environment
- Or use smaller
per_page
values in your requests
Post Type Names
Use the simplified post type names:
- Events:
event
- Venues:
venue
- Organizers:
organizer
- Tickets:
ticket
Additional Resources
License
ISC