Skip to main content
Glama
jameshgordy

Snipe-IT MCP Server

by jameshgordy

asset_requests

Manage asset checkout requests for the authenticated user. Submit, cancel, list pending requests, and view requestable assets.

Instructions

Manage asset checkout requests (as the authenticated user).

Allows users to request checkout of requestable assets. Assets must have the 'requestable' flag set (either on the asset or its model).

Operations:

  • request: Submit a request to checkout an asset (requires asset_id)

  • cancel: Cancel a pending request (requires asset_id)

  • list: List the authenticated user's own pending checkout requests

  • requestable: List assets the authenticated user may request

Note: Approving/denying requests is only available through the web UI - there are no API endpoints for these administrative functions.

Returns: dict: Result of the operation including success status

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (for requestable action)
actionYesThe request action to perform
offsetNoNumber of results to skip (for requestable action)
searchNoSearch query (for requestable action)
asset_idNoAsset ID (required for request and cancel; must be a requestable asset)
request_dataNoRequest details (for request action)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changedv1.6.1
    • changedInput schema / properties / action / enum
      Previous value: -[
      -  "request",
      -  "cancel"
      -]New value: +[
      +  "request",
      +  "cancel",
      +  "list",
      +  "requestable"
      +]
    • addedInput schema / properties / asset_id / anyOf
      Added value: +[
      +  {
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / asset_id / default
      Added value: +null
    • changedInput schema / properties / asset_id / description
      Previous value: -"Asset ID (must be a requestable asset)"New value: +"Asset ID (required for request and cancel; must be a requestable asset)"
    • removedInput schema / properties / asset_id / type
      Removed value: -"integer"
    • addedInput schema / properties / limit
      Added value: +{
      +  "default": 50,
      +  "description": "Number of results to return (for requestable action)",
      +  "type": "integer"
      +}
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "description": "Number of results to skip (for requestable action)",
      +  "type": "integer"
      +}
    • addedInput schema / properties / search
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Search query (for requestable action)"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "action",
      -  "asset_id"
      -]New value: +[
      +  "action"
      +]
  2. First observedv1.6.0

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations, the description discloses important behavior: operations act only on the authenticated user's requests, assets must be requestable, and approval/denial are not exposed via API. This adds meaningful scope and limitation context that annotations alone do not provide.

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?

The description is well-organized with a clear overview, a compact list of operations, and a relevant note about administrative limits. It is concise and front-loaded, though the return type line adds limited value given the presence of an output schema.

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?

The definition covers the scope, required asset property, supported operations, and parameter relationships, making it sufficient for selecting and invoking the tool. It is missing very little, such as exact cancellation behavior or error semantics, but these are not essential for initial correct invocation.

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

Parameters4/5

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

The input schema already covers all parameters, but the description goes further by mapping each operation to the relevant parameters, such as asset_id being required for request and cancel, and limit/offset/search applying to requestable. This association is not fully obvious from the schema.

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 clearly states this tool manages asset checkout requests scoped to the authenticated user, and enumerates four specific operations. This distinguishes it from sibling asset tools by naming the exact resource and user scope.

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?

The description provides clear context: it explains the 'requestable' flag requirement, which operations exist, and that admin approval is intentionally not available through the API. It does not explicitly name alternative tools or say when not to use this tool, but the behavioral boundaries are clear.

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