gcal_search_events
Pack: google_calendar · Endpoint: https://gateway.pipeworx.io/google_calendar/mcp
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/gcal_search_events for the schema, then POST the same URL with its arguments for the data.
Search events by keyword across summaries, descriptions, locations, and attendees. Returns matching event details and times. Use to find events by topic or participant.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
calendar_id | string | no | Calendar ID (default: “primary”) |
query | string | yes | Free-text search query to match against event fields |
time_min | string | no | Lower bound for event start time as RFC3339 timestamp |
time_max | string | no | Upper bound for event end time as RFC3339 timestamp |
max_results | number | no | Maximum number of events to return (default 10, max 250) |
Example call
Arguments
{
"query": "budget review"
}
curl
curl -X POST https://gateway.pipeworx.io/google_calendar/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"gcal_search_events","arguments":{"query":"budget review"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('gcal_search_events', {
"query": "budget review"
});
More examples
{
"calendar_id": "primary",
"query": "client meeting",
"time_min": "2024-06-01T00:00:00Z",
"time_max": "2024-06-30T23:59:59Z",
"max_results": 20
}
Response shape
| Field | Type | Description |
|---|---|---|
kind | string | Resource kind identifier |
etag | string | ETag of the resource |
summary | string | Calendar summary/name |
timeZone | string | Calendar time zone |
items | array | Matching events |
error | string | Error code if connection failed |
message | string | Error message if connection failed |
Full JSON Schema
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "Resource kind identifier"
},
"etag": {
"type": "string",
"description": "ETag of the resource"
},
"summary": {
"type": "string",
"description": "Calendar summary/name"
},
"timeZone": {
"type": "string",
"description": "Calendar time zone"
},
"items": {
"type": "array",
"description": "Matching events",
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"description": "Event resource kind"
},
"etag": {
"type": "string",
"description": "Event ETag"
},
"id": {
"type": "string",
"description": "Event ID"
},
"status": {
"type": "string",
"enum": [
"confirmed",
"tentative",
"cancelled"
],
"description": "Event status"
},
"summary": {
"type": "string",
"description": "Event title"
},
"description": {
"type": "string",
"description": "Event description"
},
"location": {
"type": "string",
"description": "Event location"
},
"start": {
"type": "object",
"description": "Event start time",
"properties": {
"date": {
"type": "string",
"description": "Date for all-day events"
},
"dateTime": {
"type": "string",
"description": "DateTime for timed events"
},
"timeZone": {
"type": "string",
"description": "Time zone"
}
}
},
"end": {
"type": "object",
"description": "Event end time",
"properties": {
"date": {
"type": "string",
"description": "Date for all-day events"
},
"dateTime": {
"type": "string",
"description": "DateTime for timed events"
},
"timeZone": {
"type": "string",
"description": "Time zone"
}
}
},
"attendees": {
"type": "array",
"description": "Event attendees",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"description": "Attendee email"
},
"displayName": {
"type": "string",
"description": "Attendee display name"
},
"responseStatus": {
"type": "string",
"enum": [
"needsAction",
"declined",
"tentative",
"accepted"
],
"description": "RSVP status"
}
}
}
},
"created": {
"type": "string",
"description": "Creation timestamp"
},
"updated": {
"type": "string",
"description": "Last update timestamp"
},
"htmlLink": {
"type": "string",
"description": "HTML link to event"
}
}
}
},
"error": {
"type": "string",
"description": "Error code if connection failed"
},
"message": {
"type": "string",
"description": "Error message if connection failed"
}
}
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"google_calendar": {
"url": "https://gateway.pipeworx.io/google_calendar/mcp"
}
}
}
See Getting Started for client-specific install steps.