Skip to main content
Glama
karlattard237

Snipe-IT Copilot MCP

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HOSTNoHost address for the MCP server to bind to.
SNIPEIT_URLYesThe base URL of the Snipe-IT instance, e.g. https://snipeit.example.com
FASTMCP_HOMENoDirectory for FastMCP state. Must be persistent and mode-restricted.
MCP_TRANSPORTNoTransport mode for the MCP server, e.g. stdio or http. Defaults to http.
SNIPEIT_TOKENYesSnipe-IT API token for the shared service account.
SNIPEIT_CA_BUNDLENoPath to a CA bundle for TLS verification against Snipe-IT.
SNIPEIT_MCP_TOKENNoSeparate bearer/API key for the inbound MCP server boundary. Required in HTTP mode and must be at least 32 characters.
SNIPEIT_MCP_BASE_URLNoPublic base URL of the MCP server, used in per-user OAuth mode.
SNIPEIT_ALLOWED_TOOLSNoExact comma-separated allowlist of tools to expose. Unset to expose all tools. Unknown, blank, or incorrectly cased names fail startup.
SNIPEIT_INTEGRATION_TESTSNoSet to true to run integration tests against a Snipe-IT instance.
SNIPEIT_OAUTH_JWT_SIGNING_KEYNoDurable signing key for OAuth JWT, used in per-user OAuth mode.
SNIPEIT_INTEGRATION_ALLOW_DESTRUCTIVENoSet to true to allow destructive integration tests.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
assets_searchA

Search and retrieve Snipe-IT hardware by ID, exact asset tag, exact serial, text, structured fields, custom fields, or the authenticated user's requestable catalog. Use for every read-only asset question. Returns explicit asset_tag, serial, model_name, model_number, manufacturer, status, assignment, location, dates, cost, and stable custom_fields. Do not use for writes, lifecycle actions, or deletion.

assets_writeA

Create or update a Snipe-IT hardware asset using explicit common fields and optional custom fields. Use only for an explicit create or update request. This tool cannot delete, checkout, checkin, audit, or restore assets. Returns the normalized asset when the backend includes it.

asset_lifecycleA

Checkout, checkin, audit, or restore one Snipe-IT asset after deterministically resolving its ID. Human identifiers and exact user email are accepted when unambiguous. Use only when the user explicitly requests the lifecycle action. This tool never deletes an asset.

asset_labelsA

Generate a bounded printable Snipe-IT asset-label PDF for explicitly supplied asset IDs. Returns file metadata and base64 content suitable for a client to save. Do not use for ordinary asset lookup or for unbounded label generation.

asset_maintenanceB

List, retrieve, create, update, complete, or add/list notes for Snipe-IT asset maintenance, and list maintenance types. Use for maintenance records only. The tool cannot delete maintenance records or types; deletion is isolated in delete_resource.

asset_licensesB

Read software licences associated with one asset, resolving an exact asset tag or serial when needed. Returns product keys only when Snipe-IT and the caller's permissions expose them. This tool is read-only.

asset_requestsA

Submit or cancel the authenticated user's request for a requestable asset. Use only when the user explicitly asks to request or cancel a request. This does not approve requests, checkout assets, or delete data.

files_readA

List attachment metadata or download one bounded attachment for a supported Snipe-IT parent. Download returns base64 only when the file fits max_inline_bytes; otherwise it reports metadata and content_truncated=true. This tool cannot upload or delete files.

files_uploadA

Upload one explicitly supplied base64 attachment to a supported Snipe-IT parent. The filename is sanitized, upload size is bounded, and multipart encoding is used. This tool cannot read or delete attachments.

inventory_searchB

Read accessories, components, or consumables with normalized quantity, model, serial, manufacturer, location, company, supplier, purchase, and audit-safe extra fields. Set inventory_type to accessory, component, or consumable. Do not use for writes, assignments, or deletion.

inventory_writeA

Create or update one accessory, component, or consumable using explicit fields. Use for ordinary inventory record writes after required IDs are known. This tool cannot assign, check in, check out, or delete inventory.

inventory_lifecycleA

Checkout or check in accessories and components, or checkout consumables, using only assignment workflows officially exposed by Snipe-IT. Accessories accept user, asset, or location targets; components require an asset; consumables require a user. This tool never deletes records.

users_searchA

List, search, retrieve, or identify the current authenticated Snipe-IT user. Supports exact email, username, employee number and organisation filters, including deleted-user queries. Returns explicit identity, department, location, company, manager, flags, and inventory counts. Do not use for writes or deletion.

users_writeA

Create, update, restore, or explicitly reset two-factor authentication for a Snipe-IT user. Use create/update/restore for requested administration; use reset_2fa only when the user explicitly asks for that high-impact security action. This tool cannot delete users.

user_inventoryB

Retrieve everything assigned to one unambiguously identified user in one call: rich assets, accessories, licences, consumables, and optional EULA/acceptance records. Assets use the same normalization as assets_search and explicitly include asset_tag, serial, model_name, model_number, manufacturer, status, and location. This tool is read-only.

organization_searchA

List, search, or retrieve Snipe-IT companies, departments, and permission groups. Use organization_type=company, department, or group. Returns stable identity/contact fields and safe extra field entries. This tool is read-only and cannot modify memberships or delete records.

organization_writeA

Create or update a Snipe-IT company, department, or group. Common relationship fields are explicit; group permissions can be supplied as a JSON object. Use only for requested writes. This tool cannot delete organisation records.

catalog_searchC

Read Snipe-IT categories, manufacturers, models, status labels, locations, suppliers, depreciations, predefined kits, and maintenance types. Relationship actions assets_by_model, assets_by_status, assets_at_location, and users_at_location return rich records without hiding model information. This tool is read-only.

catalog_writeB

Create or update supported Snipe-IT catalog records with explicit model, status, hierarchy, contact, depreciation, and type fields. Use for normal requested configuration writes. This tool has no delete action; all catalog deletion goes through delete_resource.

custom_fields_searchA

Read/search custom fields, fieldsets, db_column identifiers, validation metadata, and fieldset membership. Use resource_type=field or fieldset. Dynamic values are represented through stable named properties and extra_fields arrays. This tool is read-only.

custom_fields_writeA

Create/update fields and fieldsets, associate or disassociate a field, or reorder fields. Use explicit actions create_field, update_field, create_fieldset, update_fieldset, associate, disassociate, or reorder. This tool cannot delete fields or fieldsets.

licenses_searchB

List, search, or retrieve software licences with explicit product_key, seat counts, category, manufacturer, supplier, company, purchase, expiry, maintenance, and reassignment fields. Product keys appear only when permissions allow. This tool is read-only.

licenses_writeA

Create or update a Snipe-IT software licence. The public product_key input is deliberately translated to Snipe-IT's write-side serial field while reads expose product_key. Use only for explicit writes. This tool cannot delete licences or assign seats.

license_seatsA

List, checkout, checkin, or update licence seats. Checkout accepts exactly one user or asset target; checkin removes an assignment but never deletes the licence or seat. Use mutation actions only for explicit assignment requests.

reportsB

Read Snipe-IT activity, one item's history, checkout/checkin history, status summaries, depreciation reports, and assets due, overdue, or due-or-overdue for audit. Results explicitly advertise both activity fields and rich asset identity fields. This tool never audits or changes records.

importsA

Run the Snipe-IT CSV import workflow in explicit stages: list, get, upload, configure, validate, or process. Upload never processes a file; process runs only when action_name=process is explicitly requested. This tool cannot delete import files; use delete_resource after separate confirmation.

system_readA

Read Snipe-IT version/system information, list backups, or download one bounded backup. Version data supports capability diagnosis. Backup content is base64 only when it fits max_inline_bytes. This tool cannot change settings or delete backups.

ldap_operationsA

Test the configured Snipe-IT LDAP connection or explicitly synchronize LDAP users. action_name=test only checks connectivity; action_name=sync can materially change users and must be used only when synchronization was explicitly requested. This tool never infers sync from a test request.

delete_resourceA

Permanently or destructively remove confirmed Snipe-IT data. Use only for an explicit deletion request after the calling agent has retrieved and shown the exact target and received immediate user confirmation. For files, provide parent_id and file_id; for records, provide resource_id. This is the only MCP tool that can issue HTTP DELETE.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 29 tools

Disambiguation4/5

Tools are mostly split by resource and operation (search, write, lifecycle), with clear descriptions distinguishing read-only from mutation workflows. Minor overlaps exist, such as maintenance types being available in both catalog_search and asset_maintenance, and asset_licenses versus licenses_search, but these are well explained.

Naming Consistency4/5

The set mostly follows a resource_action pattern (assets_search, users_write, licenses_search), making tools predictable. Minor deviations include bare nouns like imports and reports, singular/plural inconsistencies (asset_licenses vs licenses_search), and the verb_noun delete_resource.

Tool Count3/5

At 29 tools, the surface is heavy for a single MCP server. The broad Snipe-IT domain justifies many resource-specific tools, and each tool groups multiple related operations, but the count still exceeds typical scoped sets and risks overwhelming selection.

Completeness5/5

Coverage is comprehensive: CRUD and lifecycle operations exist for assets, inventory, users, organizations, catalog data, custom fields, licenses, and license seats, with dedicated tools for files, imports, reports, system info, LDAP, and deletion. No obvious dead ends remain for standard Snipe-IT workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues