Skip to main content

Snipe-IT 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

Tool What it does Changes anything?
find_asset Find assets by tag, serial, model or holder: status, who has it, where, next audit, warranty end No
whats_assigned_to Everything checked out to one person; asks which person when a name matches several No
needs_attention Audits overdue and due, loans overdue and due back soon, warranties ending, assets out of service No
low_stock Consumables and accessories below their minimum quantity No
check_out_asset Assign an asset to a person Yes, after confirmation
check_in_asset Return an asset from whoever holds it Yes, 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.

Metadata

Release files for mojood-snipeit-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mojood-snipeit-mcp 0.1.0
File Size Uploaded Provenance Actions
mojood_snipeit_mcp-0.1.0.tar.gz 59.1 kB With provenance Details for mojood_snipeit_mcp-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for mojood-snipeit-mcp 0.1.0
File Interpreter ABI Platform Actions
mojood_snipeit_mcp-0.1.0-py3-none-any.whl Python 3 none any Details for mojood_snipeit_mcp-0.1.0-py3-none-any.whl

Total release size: 77.9 kB

Release files / mojood_snipeit_mcp-0.1.0.tar.gz

Download URL mojood_snipeit_mcp-0.1.0.tar.gz
Size 59.1 kB
Tags Source
SHA-256 checksum
How to use checksums
88e022c53f2c6a2e9a938e733ea3021cc430d92ffe59368f9c8a54e3b261f8ec
BLAKE2b-256 checksum
How to use checksums
31a84a5040bd822492271bb6ae25dbbff9685f738cc11ed8897213c7996f6693
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / mojood_snipeit_mcp-0.1.0-py3-none-any.whl

Download URL mojood_snipeit_mcp-0.1.0-py3-none-any.whl
Size 18.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b537b1c8adc67aee707715c39482df14135c5a160ca69179cb8633f43263ee2a
BLAKE2b-256 checksum
How to use checksums
50ebe9abb86394cce6e9b8032b318a0aee2a8dd66ebf4f671effd154eb872df1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Security for mojood-snipeit-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for mojood_snipeit_mcp-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page