Skip to main content
Glama

Delete event notifications

clm_delete_event_reminders
DestructiveIdempotent

Remove linked notifications and stop their emails; retain events.

Input Schema

NameRequiredDescriptionDefault
remindersYesNotification changes
idempotencyKeyYesIdentical-input retry key

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • addedInput schema / properties / idempotencyKey / description
      Added value: +"Identical-input retry key"
    • addedInput schema / properties / reminders / description
      Added value: +"Notification changes"
    • removedInput schema / properties / reminders / items / properties / contractId / pattern
      Removed value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    • removedInput schema / properties / reminders / items / properties / reminderId / pattern
      Removed value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    • changedOutput schema / (root)
      Previous value: -{
      -  "$schema": "http://json-schema.org/draft-07/schema#",
      -  "additionalProperties": false,
      -  "properties": {
      -    "results": {
      -      "items": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "contractId": {
      -            "allOf": [
      -              {
      -                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                "type": "string"
      -              },
      -              {
      -                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                "type": "string"
      -              }
      -            ],
      -            "type": "string"
      -          },
      -          "error": {
      -            "anyOf": [
      -              {
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "errorCode": {
      -            "anyOf": [
      -              {
      -                "enum": [
      -                  "conflict",
      -                  "denied",
      -                  "invalid",
      -                  "not_found",
      -                  "failed"
      -                ],
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "ok": {
      -            "type": "boolean"
      -          },
      -          "reminder": {
      -            "anyOf": [
      -              {
      -                "additionalProperties": false,
      -                "properties": {
      -                  "anchorType": {
      -                    "enum": [
      -                      "custom",
      -                      "system"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "contractId": {
      -                    "allOf": [
      -                      {
      -                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                        "type": "string"
      -                      },
      -                      {
      -                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                        "type": "string"
      -                      }
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "eventId": {
      -                    "anyOf": [
      -                      {
      -                        "allOf": [
      -                          {
      -                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                            "type": "string"
      -                          },
      -                          {
      -                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                            "type": "string"
      -                          }
      -                        ],
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "id": {
      -                    "allOf": [
      -                      {
      -                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                        "type": "string"
      -                      },
      -                      {
      -                        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                        "type": "string"
      -                      }
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "isDisabled": {
      -                    "type": "boolean"
      -                  },
      -                  "message": {
      -                    "anyOf": [
      -                      {
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "offsetDirection": {
      -                    "enum": [
      -                      "before",
      -                      "on",
      -                      "after"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "offsetUnit": {
      -                    "enum": [
      -                      "days",
      -                      "weeks",
      -                      "months",
      -                      "quarters",
      -                      "years"
      -                    ],
      -                    "type": "string"
      -                  },
      -                  "offsetValue": {
      -                    "maximum": 9007199254740991,
      -                    "minimum": 0,
      -                    "type": "integer"
      -                  },
      -                  "recipient": {
      -                    "oneOf": [
      -                      {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "type": {
      -                            "const": "contract_owner",
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "type"
      -                        ],
      -                        "type": "object"
      -                      },
      -                      {
      -                        "additionalProperties": false,
      -                        "properties": {
      -                          "type": {
      -                            "const": "user",
      -                            "type": "string"
      -                          },
      -                          "userId": {
      -                            "allOf": [
      -                              {
      -                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                                "type": "string"
      -                              },
      -                              {
      -                                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                                "type": "string"
      -                              }
      -                            ],
      -                            "type": "string"
      -                          }
      -                        },
      -                        "required": [
      -                          "type",
      -                          "userId"
      -                        ],
      -                        "type": "object"
      -                      }
      -                    ]
      -                  },
      -                  "systemType": {
      -                    "anyOf": [
      -                      {
      -                        "enum": [
      -                          "notice",
      -                          "end",
      -                          "renewal",
      -                          "open_ended_review"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      {
      -                        "type": "null"
      -                      }
      -                    ]
      -                  },
      -                  "updatedAt": {
      -                    "allOf": [
      -                      {
      -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -                        "type": "string"
      -                      },
      -                      {
      -                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
      -                        "type": "string"
      -                      }
      -                    ],
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id",
      -                  "contractId",
      -                  "anchorType",
      -                  "eventId",
      -                  "systemType",
      -                  "offsetValue",
      -                  "offsetUnit",
      -                  "offsetDirection",
      -                  "recipient",
      -                  "message",
      -                  "isDisabled",
      -                  "updatedAt"
      -                ],
      -                "type": "object"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "reminderId": {
      -            "anyOf": [
      -              {
      -                "allOf": [
      -                  {
      -                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      -                    "type": "string"
      -                  }
      -                ],
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          }
      -        },
      -        "required": [
      -          "contractId",
      -          "reminderId",
      -          "ok",
      -          "reminder",
      -          "error",
      -          "errorCode"
      -        ],
      -        "type": "object"
      -      },
      -      "type": "array"
      -    }
      -  },
      -  "required": [
      -    "results"
      -  ],
      -  "type": "object"
      -}New value: +null
  2. First observed

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is covered. The description still adds value annotations cannot: that emails associated with the reminders will stop sending, and that the parent events are retained rather than cascaded — a non-obvious side-effect and scope boundary. It does not address reversibility or partial-failure behavior, which keeps it below 5.

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?

A single front-loaded sentence with the destructive action first and the retention caveat second; every clause carries information and nothing is padded. Structure is exactly right for a terse destructive tool.

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

Completeness3/5

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

For a destructive batch operation (1–100 reminders) with no output schema, the definition covers scope but omits what an agent would want before firing: whether deletion is reversible, what happens if some reminderIds fail or expectedUpdatedAt is stale, and whether already-queued emails are cancelled. Minimum viable rather than complete.

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

Parameters3/5

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

Schema description coverage is 100%, with documented fields for the reminders array and idempotencyKey, so the schema carries the parameter burden and baseline 3 applies. The description adds no meaning about the reminders payload, the expectedUpdatedAt concurrency token, or the 1–100 item batch limit.

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

Purpose4/5

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

"Remove linked notifications and stop their emails; retain events" gives a specific verb (remove) and resource (linked notifications/reminders), plus the clarifying clause "retain events" which separates it from the sibling clm_delete_contract_events. It stops short of 5 because the term "notifications" never resolves to the schema's "reminders" vocabulary, so the agent must infer they are the same object.

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

Usage Guidelines3/5

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

"Retain events" implicitly routes the agent away from clm_delete_contract_events when the events themselves should survive, which is real but indirect guidance. There is no explicit when-to-use statement, no mention of the update/create reminder siblings (clm_update_event_reminders, clm_create_event_reminders), and no prerequisites or exclusions.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.