Back to Browse

Snipeit MCP Server

Developer ToolsLow Risk10.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

Snipe-IT assets in Claude: find, audit, check out and in after a yes.

About

Snipe-IT assets in Claude: find, audit, check out and in after a yes.

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (1 strong, 2 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.

9 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

What You'll Need

Set these up before or after installing:

Your Snipe-IT addressOptional

Environment variable: SNIPEIT_URL

A Snipe-IT API tokenRequired

Environment variable: SNIPEIT_TOKEN

0 for real data (1 labels answers SAMPLE)Optional

Environment variable: SNIPEIT_SAMPLE

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-askmojood-snipeit-mcp": {
      "env": {
        "SNIPEIT_URL": "your-snipeit-url-here",
        "SNIPEIT_TOKEN": "your-snipeit-token-here",
        "SNIPEIT_SAMPLE": "your-snipeit-sample-here"
      },
      "args": [
        "mojood-snipeit-mcp"
      ],
      "command": "uvx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Snipe-IT MCP server

Snipe-IT (Mojood Connect) MCP server

Ask Claude about your assets in plain words: who has laptop LAP-0142, what needs auditing this month, what's running low. Check assets out and in from the same chat, with a confirmation step before anything changes.

Built by Mojood Connect as a working demo for Snipe-IT. It runs against any Snipe-IT through its REST API. This repository includes a local Snipe-IT with SAMPLE data for a made-up company, Harbor Trading, so you can try it without touching a real instance.

Tools

ToolWhat it doesChanges anything?
find_assetFind assets by tag, serial, model or holder: status, who has it, where, next audit, warranty endNo
whats_assigned_toEverything checked out to one person; asks which person when a name matches severalNo
needs_attentionAudits overdue and due, loans overdue and due back soon, warranties ending, assets out of serviceNo
low_stockConsumables and accessories below their minimum quantityNo
check_out_assetAssign an asset to a personYes, after confirmation
check_in_assetReturn an asset from whoever holds itYes, after confirmation

How changes are made safe. A call to check_out_asset or check_in_asset without a confirmation changes nothing: it returns a plain summary ("Check out LAP-0160 (ThinkPad T14 Gen 5) to Sara Al-Qahtani, Finance, Dammam HQ.") and a one-time code. The change happens only when the same request comes back with that code, within 10 minutes. A code works once, and only for the request it was issued for. The server's instructions tell the model to show the summary and wait for the user's yes. Every change goes through Snipe-IT's own checkout and check-in endpoints with the note "via Claude (Mojood Connect demo)", so it appears in the asset's history like any change a person makes.

The server acts as the user who owns the API token, with that user's Snipe-IT permissions.

Try it locally

Needs Docker (with Compose), uv and Python 3.13.

scripts/reset.sh                         # local Snipe-IT on http://localhost:8088, filled with the SAMPLE company
uv run --env-file .env snipeit-mcp       # MCP server on http://127.0.0.1:8002/mcp (Streamable HTTP)

scripts/reset.sh generates every password and the API token itself and keeps them in the git-ignored files docker/.env and .env; nothing is printed. Run it again any time to start over from fresh SAMPLE data. Everything listens on 127.0.0.1 only. scripts/up.sh starts it again after a restart without touching the data.

Claude Desktop: add this to claude_desktop_config.json (Settings › Developer), with the path to this folder:

{
  "mcpServers": {
    "snipe-it": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/snipeit-mcp", "--env-file", "/path/to/snipeit-mcp/.env", "snipeit-mcp", "--stdio"]
    }
  }
}

Then ask: "Who has LAP-0142, and what else do they hold?", "What needs attention this month?", "What's running low?", "Check the spare ThinkPad out to Sara."

Your own Snipe-IT: set SNIPEIT_URL and SNIPEIT_TOKEN (a personal API key from your Snipe-IT profile) and SNIPEIT_SAMPLE=0.

The SAMPLE company

Harbor Trading: three sites (Dammam HQ, Riyadh office, Jeddah warehouse), 15 people, 48 assets (laptops, monitors, phones, warehouse scanners, printers) and 7 stock items. Dates are set relative to the day it is seeded, so there are always audits overdue and due, one loaner laptop 12 days late, one due back in 4 days, warranties ending, a laptop out for repair and three items below their minimum. The people, serials and prices are made up.

Tests

uv run pytest                            # unit tests (a fake Snipe-IT API), plus live tests when the local Snipe-IT runs

What a production version adds

This demo signs in with one API token. A production server for Snipe-IT customers would add sign-in with each person's own Snipe-IT account, so Claude sees exactly what they may see; hosting with an audit log of every tool call; and more of the API (licenses, components, maintenance, requests). That is what Mojood Connect builds.

License

Apache 2.0. Snipe-IT is a trademark of Grokability, Inc.; this project is not made or endorsed by Grokability.

Reviews

No reviews yet

Be the first to review this server!