Skip to main content
Glama

Remove schedule

remove_schedule
DestructiveIdempotent

Stop spawnpoint calling an app on a timer: remove one of a project's schedules by name (its path when it was set without one); get_project lists them under schedules. The app and its data are untouched, and the schedule's past runs stay listed until they age out. To stop it for a while instead, set_schedule with paused: true keeps it.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "project_id": "<project_id>",
      "name": "<name>"
    },
    "name": "remove_schedule"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesthe schedule's name (its path when it was set without one)
project_idYesthe id of the project

Output Schema

NameRequiredDescriptionDefault
noteYes
removedYes
project_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already flag destructive=true, idempotent=true, and readOnly=false, so the description's job is to add scope rather than repeat the warning—and it does, specifying that the project and its files are not deleted and that historical runs remain until their retention expires. That is exactly the additional context an agent needs to predict the blast radius of an irreversible operation.

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 definition opens with the core effect, then handles identifier format, disclosure of what is untouched, and routing to the non-destructive alternative in three tight sentences with no boilerplate. Every clause carries distinct operational information.

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

Completeness5/5

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

An output schema exists, so return values need not be described, and with only two required parameters the description is not overloaded. The remaining risks for a destructive tool—scope of deletion, irreversibility, an alternative for temporary disabling—are all addressed.

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 coverage is 100% and both parameters are fully documented, including the parenthetical about name being a slug when none was set—the description restates the same fact, so it adds no new meaning beyond the schema. Baseline 3 applies when structured fields already cover the inputs.

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 and resource ('remove one of a project's schedules by name') and immediately clarifies what removal does not mean ('stop crm calling an app on a timer'), which an agent can use to distinguish it from set_schedule and run_schedule without opening a schema.

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

Usage Guidelines5/5

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

The description gives both routes: use this tool for permanent removal, and use set_schedule with is_active=false for pausing instead. It also tells the agent where to find valid schedule names (get_project under 'schedules'), which is the one piece of pre-call information a model would otherwise have to guess.

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.