Skip to main content
Glama
johsem

Semaphore UI MCP server

by johsem

update_project_runner

DestructiveIdempotent

Update an existing project runner's name, tags, active state, webhook, default status, and parallel task limit using project and runner IDs.

Instructions

Update project runner. PUT /project/{project_id}/runners/{runner_id}. Supply API fields in body; JSON-encoded string fields must remain strings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes
runner_idYes
project_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare destructive=true, idempotent=true and openWorld=true, so the safety profile is carried by structured data. The description adds the HTTP verb (PUT implies full-replacement semantics) and a field-encoding caution, but never states explicitly that omitted fields may be reset or what permissions are required for a destructive mutation.

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

Conciseness3/5

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

Three short fragments, front-loaded and free of padding, but the middle sentence 'Supply API fields in body' spends words without adding information an agent can act on.

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

Completeness2/5

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

For a destructive, three-required-parameter mutation with no output schema, the description should say which body fields exist, which are optional, and whether unspecified fields are cleared. It omits all of that, leaving the agent to reverse-engineer PUT semantics and field requirements from the schema alone.

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

Parameters2/5

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

Top-level schema description coverage is 0% for the three required parameters (project_id, runner_id, body), so the description must compensate and largely does not — 'Supply API fields in body' enumerates nothing. The 'JSON-encoded string fields must remain strings' note is a genuine but narrow hint aimed at the webhook/string fields.

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?

The first sentence gives a specific verb and resource ('Update project runner') and the PUT path pins it to project runners rather than global runners. It does not, however, distinguish this general update from narrower siblings like set_project_runner_active or update_global_runner.

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

Usage Guidelines2/5

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

There is no guidance on when to use this versus set_project_runner_active (for the active flag) or update_global_runner (for non-project runners). The only usage remark is a mechanical note about supplying fields in the body.

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

Deploy Server

Other Tools