Skip to main content
Glama
the-real-snipeit-mcp

the-real-snipeit-mcp

Checkout (assign) a license seat

snipeit_checkout_license_seat
DestructiveIdempotent

Assign a license seat to a specific user or asset by license and seat ID, enabling controlled software license allocation through Snipe-IT.

Instructions

PUT /licenses/{license_id}/seats/{seat_id}: assign a seat to a user or asset.

Input Schema

NameRequiredDescriptionDefault
noteNo
confirmNoRequired when SNIPEIT_CONFIRM_WRITES=true. Exact string "YES" to apply this write.
seat_idYes
asset_idNoAsset ID to assign this seat to
license_idYes
assigned_toNoUser ID to assign this seat to

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.2

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, openWorldHint=true and readOnlyHint=false, so safety is partly covered. However, for a destructive mutation the description never explains what is overwritten if the seat is already assigned, whether a seat is consumed/reserved, or that only one of the asset/user targets is valid — all key side effects beyond the annotation profile.

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?

One sentence, front-loaded with the endpoint and then the purpose; nothing wasted. Slight hit for encoding the raw path first, which is less useful to an agent than the effect, but overall efficient.

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

Completeness3/5

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

No output schema, so the description need not cover returns, but for a 6-parameter destructive mutation it omits the user/asset mutual exclusivity, reassignment/overwrite behavior, and confirm gating context (left to the schema). Adequate but with clear behavioral gaps.

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 50%: confirm, asset_id and assigned_to carry descriptions, but license_id, seat_id and note do not. The description fills part of the gap by indicating the seat is assigned to 'a user or asset', implying assigned_to/asset_id are alternative targets, but it does not state they are mutually exclusive nor clarify the undocumented parameters.

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 ('assign') and resource ('a seat' of a license) plus the target ('user or asset'), and the endpoint makes it concrete. It does not name or distinguish itself from the raw sibling snipeit_gen_put_licensesidseatsseat_id, so it stops short of full sibling differentiation.

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?

No when-to-use guidance, no exclusions, and no mention of the raw PUT sibling as an alternative. The agent must infer that this is the high-level tool for assigning a seat and that snieit_gen_put_* is the raw equivalent.

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