Skip to main content
Glama
meetergo

meetergo MCP server

Official
by meetergo

Reschedule an appointment

reschedule_appointment
Destructive

Move an existing appointment to a new start time while keeping duration unchanged. Validates availability to avoid conflicts, with option to override when needed.

Instructions

Move an appointment to a new start time. Duration is unchanged. Validates availability unless ignoreAvailability is set. A successful response echoes the new time as startUtc.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
startYesNew start time
appointmentIdYes
ignoreAvailabilityNoSchedule outside available hours or over an existing booking

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
startUtcNoThe new start, ISO 8601 UTC
appointmentNoAn appointment with its derived status
bookingStateNo

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changedv0.6.25
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "description": "The moved appointment",
      +  "properties": {
      +    "appointment": {
      +      "anyOf": [
      +        {
      +          "additionalProperties": true,
      +          "description": "An appointment with its derived status",
      +          "properties": {
      +            "attendees": {
      +              "anyOf": [
      +                {
      +                  "items": {
      +                    "additionalProperties": true,
      +                    "description": "A person on an appointment",
      +                    "properties": {
      +                      "email": {
      +                        "$ref": "#/properties/appointment/anyOf/0/properties/id"
      +                      },
      +                      "firstname": {
      +                        "$ref": "#/properties/appointment/anyOf/0/properties/id"
      +                      },
      +                      "fullname": {
      +                        "$ref": "#/properties/appointment/anyOf/0/properties/id"
      +                      },
      +                      "id": {
      +                        "$ref": "#/properties/startUtc",
      +                        "description": "The attendeeId other tools take"
      +                      },
      +                      "lastname": {
      +                        "$ref": "#/properties/appointment/anyOf/0/properties/id"
      +                      },
      +                      "phone": {
      +                        "$ref": "#/properties/appointment/anyOf/0/properties/id"
      +                      },
      +                      "timezone": {
      +                        "$ref": "#/properties/appointment/anyOf/0/properties/id"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "end": {
      +              "$ref": "#/properties/startUtc",
      +              "description": "End, ISO 8601"
      +            },
      +            "hosts": {
      +              "anyOf": [
      +                {
      +                  "items": {
      +                    "additionalProperties": true,
      +                    "properties": {},
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ]
      +            },
      +            "id": {
      +              "$ref": "#/properties/startUtc"
      +            },
      +            "isCancelled": {
      +              "$ref": "#/properties/appointment/anyOf/0/properties/rescheduled"
      +            },
      +            "location": {
      +              "description": "Where the meeting happens, as configured on the meeting type"
      +            },
      +            "meetingTypeId": {
      +              "$ref": "#/properties/appointment/anyOf/0/properties/id"
      +            },
      +            "notes": {
      +              "description": "Host-side note and booking-form answers"
      +            },
      +            "rescheduled": {
      +              "description": "Present and true when the appointment was moved at least once",
      +              "type": [
      +                "boolean",
      +                "null"
      +              ]
      +            },
      +            "start": {
      +              "$ref": "#/properties/startUtc",
      +              "description": "Start, ISO 8601"
      +            },
      +            "status": {
      +              "anyOf": [
      +                {
      +                  "enum": [
      +                    "confirmed",
      +                    "cancelled"
      +                  ],
      +                  "type": "string"
      +                },
      +                {
      +                  "type": "null"
      +                }
      +              ],
      +              "description": "Derived by this server: never report a cancelled appointment as upcoming"
      +            }
      +          },
      +          "type": "object"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "An appointment with its derived status"
      +    },
      +    "bookingState": {
      +      "anyOf": [
      +        {
      +          "const": "confirmed",
      +          "type": "string"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "startUtc": {
      +      "description": "The new start, ISO 8601 UTC",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observedv0.1.1

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructive behavior (destructiveHint true) and non-read-only, and the description adds valuable behavioral detail beyond that: duration is unchanged, availability is validated unless ignoreAvailability is set, and a successful response echoes the new time as startUtc. This gives the agent concrete expectations for side effects and response.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only three sentences, each conveying essential information without redundancy. The core action is front-loaded ('Move an appointment to a new start time'), followed by concise behavioral notes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering read-only/destructive hints, the description provides enough operational context: what changes, what remains constant, when availability is enforced, and what the response contains. It does not elaborate on permissions or notifications, but these are not required for invoking the tool correctely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% and the description compensates meaningfully. It clarifies that 'start' is a new start time, that duration remains fixed, and that ignoreAvailability controls whether availability validation is bypassed. It also ties the response field startUtc to the new time, deepening understanding of the start parameter. AppointmentId's role is implicitly clear from the verb 'Move an appointment'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Move') and resource ('an appointment') with the exact outcome ('to a new start time'). It clearly separates from sibling tools like book_appointment or cancel_appointment, which perform different lifecycle operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: this tool is for rescheduling an existing appointment rather than creating or canceling one. It does not explicitly name alternatives or state exclusions, but the operation is unambiguous and distinct from siblings like book_appointment and cancel_appointment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/meetergo/meetergo-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server