Get Calendars
Immutable Catalog Entry
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
agent_ready - Risk:
read - Catalog version:
2026-07-12.2 - Descriptor hash:
f4ffcf0232985743a77066eb0e73ecf763c15c749f0d8db6fe7361057565f752
Get compact calendar summaries in the GoHighLevel location with optional filtering. Returns IDs, names, status, scheduling settings, and counts without raw provider configuration, team member arrays, notes, or location internals. GHL category: Calendars. This is a read-only GHL API operation.
Request Body
{
"jsonrpc": "2.0",
"id": "ghl-get-calendars-example",
"method": "tools/call",
"params": {
"name": "ghl.get_calendars",
"arguments": {
"limit": 1,
"groupId": "groupId_123",
"tenantId": "tenantId_123",
"showDrafted": false
}
}
}
Arguments Schema
{
"type": "object",
"properties": {
"limit": {
"type": "number",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Maximum number of calendar summaries to return. Defaults to 25 and is capped at 100."
},
"groupId": {
"type": "string",
"description": "Filter calendars by group ID"
},
"tenantId": {
"type": "string",
"description": "Tenant ID from list_tenants."
},
"showDrafted": {
"type": "boolean",
"default": true,
"description": "Include draft calendars (default: true)"
}
}
}
Output Schema
{
"type": "object",
"required": [
"ok",
"data",
"error",
"meta"
],
"properties": {
"ok": {
"type": "boolean",
"description": "Whether the GHL MCP operation completed successfully."
},
"data": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "array",
"items": {}
},
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Tool-specific GHL or local navigation result when ok is true."
},
"meta": {
"type": "object",
"description": "Safe execution, routing, and timing metadata.",
"additionalProperties": true
},
"error": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Safe error details when ok is false; credential values are never returned."
}
},
"description": "Normalized GHL MCP response envelope.",
"additionalProperties": false
}
Code Examples
- cURL
- Node.js
- Python
curl -X POST 'https://portal.madpanda3d.com/api/mcp' \
-H 'Authorization: Bearer mad_live_***' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "ghl-get-calendars-example",
"method": "tools/call",
"params": {
"name": "ghl.get_calendars",
"arguments": {
"limit": 1,
"groupId": "groupId_123",
"tenantId": "tenantId_123",
"showDrafted": false
}
}
}'
const response = await fetch('https://portal.madpanda3d.com/api/mcp', {
method: 'POST',
headers: {
Authorization: 'Bearer mad_live_***',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": "ghl-get-calendars-example",
"method": "tools/call",
"params": {
"name": "ghl.get_calendars",
"arguments": {
"limit": 1,
"groupId": "groupId_123",
"tenantId": "tenantId_123",
"showDrafted": false
}
}
}),
});
const data = await response.json();
console.log(data);
import requests
url = 'https://portal.madpanda3d.com/api/mcp'
headers = {
'Authorization': 'Bearer mad_live_***',
'Content-Type': 'application/json',
}
payload = {
"jsonrpc": "2.0",
"id": "ghl-get-calendars-example",
"method": "tools/call",
"params": {
"name": "ghl.get_calendars",
"arguments": {
"limit": 1,
"groupId": "groupId_123",
"tenantId": "tenantId_123",
"showDrafted": false
}
}
}
response = requests.post(url, headers=headers, json=payload, timeout=60)
print(response.json())
Example Responses
- 200 Success
- 502 Upstream Error
{
"ok": true,
"message": "Tool ghl.get_calendars executed successfully.",
"note": "Response shape varies by MCP tool. Inspect live responses for exact fields."
}
{
"ok": false,
"classification": "upstream_http_error",
"message": "Upstream MCP returned a non-success status."
}