Skip to main content
Glama
johsem

Semaphore UI MCP server

by johsem

update_access_key

DestructiveIdempotent

Updates an existing Semaphore UI access key by project and key ID, applying supplied body fields such as name, type, credentials, or owner.

Instructions

Updates access key. PUT /project/{project_id}/keys/{key_id}. Supply API fields in body; JSON-encoded string fields must remain strings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes
key_idYes
project_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is carried structurally. The description usefully adds the PUT/replacement contract and a real gotcha ("JSON-encoded string fields must remain strings"), but it never explains what 'destructive' means here — e.g., that omitting optional body fields may clear them — which is the key behavioral risk for an agent.

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

Conciseness4/5

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

Three short sentences, front-loaded with the action and then the endpoint, with no filler. "Supply API fields in body" is slightly vague but not wasted, since it does tell the agent the payload must be assembled.

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?

This is a destructive, idempotent mutation with a complex required body and no output schema, yet the description says nothing about replacement semantics, credential fields, or what the caller gets back. Annotations cover the safety flags, but an agent still lacks enough guidance to construct a correct update safely.

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?

Schema description coverage is 0% and the body is a nested AccessKeyRequest with many optional fields and enums, so the description needs to carry the load. It only offers the vague "Supply API fields in body" plus a narrow note about string encoding; required fields (name, type), the type enum, and the ssh/login_password shapes go entirely unexplained.

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?

States a specific verb and resource ("Updates access key") and pins it to the concrete endpoint PUT /project/{project_id}/keys/{key_id}, so an agent knows exactly which object is affected. It does not explicitly distinguish itself from create_access_key or delete_access_key, but the action verb plus endpoint makes the boundary obvious.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as create_access_key for new keys or get_access_key for reads. The only implicit guidance is the PUT verb, which hints at replacement rather than partial update, but that is never stated.

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