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

NameTypeRequiredDescription
calendar_idstringnoCalendar ID (default: “primary”)
querystringyesFree-text search query to match against event fields
time_minstringnoLower bound for event start time as RFC3339 timestamp
time_maxstringnoUpper bound for event end time as RFC3339 timestamp
max_resultsnumbernoMaximum 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

FieldTypeDescription
kindstringResource kind identifier
etagstringETag of the resource
summarystringCalendar summary/name
timeZonestringCalendar time zone
itemsarrayMatching events
errorstringError code if connection failed
messagestringError 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.

Regenerated from source · build September 22, 2026