Zenoti MCP server
{
"mcpServers": {
"jamesrosingmd-zenoti": {
"command": "npx",
"args": [
"-y",
"zenoti-mcp-server@latest"
],
"env": {
"ZENOTI_API_KEY": "<zenoti_api_key>",
"ZENOTI_API_URL": "https://...",
"ZENOTI_CENTER_ID": "<zenoti_center_id>"
}
}
}
}{
"mcpServers": {
"jamesrosingmd-zenoti": {
"command": "npx",
"args": [
"-y",
"zenoti-mcp-server@latest"
],
"env": {
"ZENOTI_API_KEY": "<zenoti_api_key>",
"ZENOTI_API_URL": "https://...",
"ZENOTI_CENTER_ID": "<zenoti_center_id>"
}
}
}
}{
"mcpServers": {
"jamesrosingmd-zenoti": {
"command": "npx",
"args": [
"-y",
"zenoti-mcp-server@latest"
],
"env": {
"ZENOTI_API_KEY": "<zenoti_api_key>",
"ZENOTI_API_URL": "https://...",
"ZENOTI_CENTER_ID": "<zenoti_center_id>"
}
}
}
}{
"servers": {
"jamesrosingmd-zenoti": {
"command": "npx",
"args": [
"-y",
"zenoti-mcp-server@latest"
],
"env": {
"ZENOTI_API_KEY": "${input:zenoti_api_key}",
"ZENOTI_API_URL": "${input:zenoti_api_url}",
"ZENOTI_CENTER_ID": "${input:zenoti_center_id}"
}
}
},
"inputs": [
{
"id": "zenoti_api_key",
"type": "promptString",
"description": "Zenoti api key",
"password": true
},
{
"id": "zenoti_api_url",
"type": "promptString",
"description": "Zenoti api url",
"password": true
},
{
"id": "zenoti_center_id",
"type": "promptString",
"description": "Zenoti center id",
"password": true
}
]
}{
"mcpServers": {
"jamesrosingmd-zenoti": {
"command": "npx",
"args": [
"-y",
"zenoti-mcp-server@latest"
],
"env": {
"ZENOTI_API_KEY": "<zenoti_api_key>",
"ZENOTI_API_URL": "https://...",
"ZENOTI_CENTER_ID": "<zenoti_center_id>"
}
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsoninstall npx -y zenoti-mcp-serverversion 1.1.0
MCP server for Zenoti spa/wellness/medspa — guests, appointments, bookings, invoices
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.