Skip to main content
Glama

Approve work request

upkeep_approve_request
Destructive

WRITE: approve a pending work request, which converts it into a work order (it may notify the assignee). Needs a token whose role may approve requests. Approving a request that is already approved or declined fails with HTTP 409. POST /requests/{id}/approve.

Input Schema

NameRequiredDescriptionDefault
request_idYesUpKeep request id (a short string such as "HW2I379ErS").

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructive/non-idempotent/open-world, and the description adds real context beyond them: the state transition into a work order, a possible assignee notification, a required privileged role, and the exact 409 conflict condition. It stops short of saying whether approval can be undone or what is returned, which matters given destructiveHint=true.

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?

Three tight sentences with the write/approve intent front-loaded, followed by side effects, auth requirement, error case, and endpoint. Every sentence carries distinct information; nothing is redundant.

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?

For a one-parameter mutation with no output schema, it covers auth, side effects, and failure semantics well. The remaining gap is the return value — since approval produces a new work order, an agent would benefit from knowing whether the new order id comes back or a follow-up lookup is needed.

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 the single request_id parameter is fully documented in the schema with an example id format. The description adds only the endpoint template POST /requests/{id}/approve, which confirms path placement but no new syntax or constraints, so the baseline 3 applies.

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 opens with an explicit verb and resource ("WRITE: approve a pending work request") and immediately names the resulting state change ("converts it into a work order"), which no sibling tool does. An agent can distinguish this from upkeep_create_work_order or upkeep_get_request without inspecting either schema.

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?

It gives a clear condition for calling (a request must be pending) and states the failure mode when that condition is violated (HTTP 409 on already-approved or declined). It does not explicitly name an alternative such as checking status via upkeep_get_request first, so the routing guidance is implicit rather than complete.

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.