Skip to main content
Glama
johsem

Semaphore UI MCP server

by johsem

restore_project

Destructive

Restore a Semaphore UI project from a backup payload containing templates, inventories, repositories, environments, views, and keys. Provide the backup fields in the request body.

Instructions

Restore Project. POST /projects/restore. Supply API fields in body; JSON-encoded string fields must remain strings.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.6/5.0
Behavior2/5

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

With destructiveHint=true the key facts are whether an existing project is overwritten, whether the restored project gets a new ID, and whether the caller needs admin rights — none of which are disclosed. The one piece of added behavior, 'JSON-encoded string fields must remain strings', is useful payload guidance but does not compensate for the missing destructive-operation semantics.

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 resource and endpoint, with no padding. The opening fragment duplicates the title, but everything else earns its place.

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, non-idempotent mutation with a single deeply nested body and no output schema, the description is far too thin: it omits overwrite behavior, success/failure response, and the relationship to get_project_backup. The payload-type caveat is the only element that addresses the actual complexity.

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 0%, so the description must carry parameter meaning. It partially does by telling the agent to supply API fields in the body and flagging that string-typed fields carrying JSON must stay strings (survey_vars, arguments, inventory), which is genuinely non-obvious. It still never says the body is a ProjectBackup shape, which fields are optional, or that keys/meta structure is expected.

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

Purpose3/5

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

Names the resource (Project) and the endpoint (POST /projects/restore), but 'Restore Project' largely restates the tool name and never says what restoring means operationally (rebuilding a project from a backup payload). Nothing distinguishes it from sibling operations like get_project_backup, which is the obvious counterpart.

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 or when-not-to-use guidance, no mention that the body should come from get_project_backup output, and no statement of preconditions or required permissions. An agent must already know the product to select this tool over create_project or update_project.

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