原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Snipe-IT (unofficial)

作者:mguttmann版本 0.2.2i★ –i在你的电脑上运行
注册名称io.github.mguttmann/the-real-snipeit-mcp

安装

概览

作者提供的说明(英文原文)

Unofficial MCP server for the Snipe-IT REST API: assets, users, licenses, guarded writes.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他
  • 你需要填写:SNIPEIT_API_BASE, SNIPEIT_API_TOKEN

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: SNIPEIT_API_BASE, SNIPEIT_API_TOKEN, SNIPEIT_CONFIRM_WRITES, SNIPEIT_TIMEOUT_MS, SNIPEIT_LOG_LEVEL, SNIPEIT_MAX_RESULT_BYTES, SNIPEIT_CALL_DEADLINE_MS, SNIPEIT_REDACT_PII, SNIPEIT_REDACT_SECRETS, SNIPEIT_READ_ONLY, SNIPEIT_REQUIRE_PREVIEW

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "the-real-snipeit": {
      "command": "npx",
      "args": [
        "-y",
        "the-real-snipeit-mcp"
      ],
      "env": {
        "SNIPEIT_API_BASE": "your-value",
        "SNIPEIT_API_TOKEN": "your-value",
        "SNIPEIT_CONFIRM_WRITES": "your-value",
        "SNIPEIT_TIMEOUT_MS": "your-value",
        "SNIPEIT_LOG_LEVEL": "your-value",
        "SNIPEIT_MAX_RESULT_BYTES": "your-value",
        "SNIPEIT_CALL_DEADLINE_MS": "your-value",
        "SNIPEIT_REDACT_PII": "your-value",
        "SNIPEIT_REDACT_SECRETS": "your-value",
        "SNIPEIT_READ_ONLY": "your-value",
        "SNIPEIT_REQUIRE_PREVIEW": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add the-real-snipeit --env SNIPEIT_API_BASE=your-value --env SNIPEIT_API_TOKEN=your-value --env SNIPEIT_CONFIRM_WRITES=your-value --env SNIPEIT_TIMEOUT_MS=your-value --env SNIPEIT_LOG_LEVEL=your-value --env SNIPEIT_MAX_RESULT_BYTES=your-value --env SNIPEIT_CALL_DEADLINE_MS=your-value --env SNIPEIT_REDACT_PII=your-value --env SNIPEIT_REDACT_SECRETS=your-value --env SNIPEIT_READ_ONLY=your-value --env SNIPEIT_REQUIRE_PREVIEW=your-value -- npx -y the-real-snipeit-mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "the-real-snipeit": {
      "command": "npx",
      "args": [
        "-y",
        "the-real-snipeit-mcp"
      ],
      "env": {
        "SNIPEIT_API_BASE": "your-value",
        "SNIPEIT_API_TOKEN": "your-value",
        "SNIPEIT_CONFIRM_WRITES": "your-value",
        "SNIPEIT_TIMEOUT_MS": "your-value",
        "SNIPEIT_LOG_LEVEL": "your-value",
        "SNIPEIT_MAX_RESULT_BYTES": "your-value",
        "SNIPEIT_CALL_DEADLINE_MS": "your-value",
        "SNIPEIT_REDACT_PII": "your-value",
        "SNIPEIT_REDACT_SECRETS": "your-value",
        "SNIPEIT_READ_ONLY": "your-value",
        "SNIPEIT_REQUIRE_PREVIEW": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "the-real-snipeit": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "the-real-snipeit-mcp"
      ],
      "env": {
        "SNIPEIT_API_BASE": "your-value",
        "SNIPEIT_API_TOKEN": "your-value",
        "SNIPEIT_CONFIRM_WRITES": "your-value",
        "SNIPEIT_TIMEOUT_MS": "your-value",
        "SNIPEIT_LOG_LEVEL": "your-value",
        "SNIPEIT_MAX_RESULT_BYTES": "your-value",
        "SNIPEIT_CALL_DEADLINE_MS": "your-value",
        "SNIPEIT_REDACT_PII": "your-value",
        "SNIPEIT_REDACT_SECRETS": "your-value",
        "SNIPEIT_READ_ONLY": "your-value",
        "SNIPEIT_REQUIRE_PREVIEW": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • SNIPEIT_API_BASE 必填 env
    Snipe-IT API base URL including /api/v1, for example https://snipe-it.example.com/api/v1. Use https.
  • SNIPEIT_API_TOKEN 机密 必填 env
    Snipe-IT Personal API Token (JWT), from Snipe-IT > User > Manage API Keys. It acts with the rights of its user.
  • SNIPEIT_CONFIRM_WRITES env
    Write guard, on by default: write tools return a preview until called again with confirm: "YES". Only false, 0, no or off disable it.
  • SNIPEIT_TIMEOUT_MS env
    Timeout in ms per HTTP attempt, including the body read (positive integer).
  • SNIPEIT_LOG_LEVEL env
    Log level on stderr: debug, info, warn or error.
  • SNIPEIT_MAX_RESULT_BYTES env
    Cap for one tool result in bytes (serialized JSON), minimum 65536. Larger results come back shortened with truncated: true.
  • SNIPEIT_CALL_DEADLINE_MS env
    Overall deadline for one tool call in ms, across retries and all: true pagination. 0 means none.
  • SNIPEIT_REDACT_PII env
    true masks personal data (email, username, names of people, phone, address, employee number) in tool results.
  • SNIPEIT_REDACT_SECRETS env
    true masks secrets (password/secret/token/api_key fields, secret custom field values) in tool results with (redacted).
  • SNIPEIT_READ_ONLY env
    true refuses every write at runtime; all tools stay registered and reads work.
  • SNIPEIT_REQUIRE_PREVIEW env
    true (with the write guard on): confirm: "YES" executes only after a preview of the same request.

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月9日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 mguttmann 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 18674 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 18674 个服务器的 76% 更新
  • 基础检查结果等于或优于此分类中其他 18674 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Snipe-IT (unofficial) 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:SNIPEIT_API_BASE, SNIPEIT_API_TOKEN

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.2.2)于12天前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, bot2bot

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

作者:formulahendry起步阶段↓ 66/周★ 44014个月前更新

在你的电脑上运行

Remote Desktop Commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

作者:desktop-commander正在增长★ 2114天前更新

在云端运行✓ desktopcommander.app

bot2bot

Let your AI assistant message the bots of family and friends.

作者:bot2bot.link起步阶段今天更新

在云端运行✓ bot2bot.link

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

the-real-snipeit-mcp

An unofficial MCP server for the Snipe-IT REST API: one generated tool for every operation in the vendored Snipe-IT OpenAPI 3.1 spec (read + write), hand-written wrappers for common workflows, stdio transport.

Unofficial, not affiliated with Snipe-IT/Grokability. This project is not affiliated with, endorsed by, sponsored by or supported by Grokability, Inc. or the Snipe-IT project. "Snipe-IT" is a trademark of its owner. The vendored API description and its license situation are described in NOTICE.

Three tool layers (183 tools):

  • 37 hand-wrappers (snipeit_*): friendlier UX for common workflows
  • 145 generated tools (snipeit_gen_*): one per operation of the vendored spec (vendor/snipe-it-rest-api.json, Snipe-IT 8.2.0)
  • `snipeit_raw_request`: escape hatch for any method and path under SNIPEIT_API_BASE

Plus 3 resources and 3 prompts. The counts are held by tests/unit/docsFacts.test.ts.


Maintenance status

  • Maintained on a best-effort basis by one maintainer (@mguttmann) in spare time. The author runs it in production behind a private MCP gateway. There is no support contract and no guaranteed response time.
  • Security fixes take priority over features. Report vulnerabilities privately through GitHub Private Vulnerability Reporting, never in a public issue (see SECURITY.md).
  • Dependency updates come from Dependabot; CI fails when a runtime dependency has a known high or critical advisory.
  • Supported Node.js versions: 22.12 or newer (engines in package.json); CI tests Node 22, 24 and 26.
  • Only the latest minor release gets fixes. Releases and their changes: CHANGELOG.md.
  • Issues and pull requests are welcome; see CONTRIBUTING.md.

Install

Requires Node.js 22.12 or newer. The server needs SNIPEIT_API_BASE (your instance, including /api/v1) and SNIPEIT_API_TOKEN; all other variables are optional (see Configuration). Only the npm package the-real-snipeit-mcp and the MCP Registry name io.github.mguttmann/the-real-snipeit-mcp are this project.

npx (any stdio MCP host)

npx fetches and runs the package; no clone or build is needed. Attach it to Claude Code (type the token in your shell, never into a chat):

claude mcp add snipeit \

-e SNIPEIT_API_BASE=https://snipe-it.example.com/api/v1 \ -e SNIPEIT_API_TOKEN= \ -- npx -y the-real-snipeit-mcp

Any other stdio host takes the same command in its JSON configuration (Claude Desktop: claude_desktop_config.json):

{

"mcpServers": { "snipeit": { "command": "npx", "args": ["-y", "the-real-snipeit-mcp"], "env": { "SNIPEIT_API_BASE": "https://snipe-it.example.com/api/v1", "SNIPEIT_API_TOKEN": " " } } } }

A configuration file with these values holds the token: keep it readable for your user only and out of version control. the-real-snipeit-mcp@ pins a version.

Global install
npm install -g the-real-snipeit-mcp

The command is the-real-snipeit-mcp; use it as "command" in the host configuration above (without args).

From source
git clone https://github.com/mguttmann/the-real-snipeit-mcp.git

cd the-real-snipeit-mcp npm ci cp .env.example .env

edit .env: set SNIPEIT_API_BASE and SNIPEIT_API_TOKEN

npm run build # prebuild runs lint, typecheck and the unit tests first node --env-file=.env dist/index.js

npm run inspector opens the MCP Inspector against the built server.

Pinned install for gateways and servers

For an unattended host, install an exact version from a committed lockfile, without install scripts and without dev dependencies, and check the registry signatures and provenance attestations:

mkdir snipeit-mcp && cd snipeit-mcp

npm init -y npm install --save-exact --ignore-scripts the-real-snipeit-mcp@ # once; commit package.json and package-lock.json

on every deploy:

npm ci --omit=dev --ignore-scripts npm audit signatures node --env-file=/path/to/.env node_modules/the-real-snipeit-mcp/dist/index.js

Each release on GitHub Releases carries the npm tarball, a CycloneDX SBOM and SHA256SUMS; releases published by the release workflow carry an npm provenance statement and a GitHub build provenance attestation.

MCP Registry and Glama

Each stable release is listed in the official MCP Registry as io.github.mguttmann/the-real-snipeit-mcp (the npm package, with its environment variables). glama.json names the maintainer of the Glama listing.

Configuration

VariableDefaultDescription
SNIPEIT_API_TOKEN(required)Snipe-IT Personal API Token (JWT)
SNIPEIT_API_BASEhttps://snipe-it.example.com/api/v1API base URL. The default is an RFC 2606 placeholder; set your instance. The server starts with any valid URL but logs a warning when the placeholder is in use, when http goes to a non-loopback host (cleartext token), for other schemes, for credentials in the URL and for a query or fragment
SNIPEIT_CONFIRM_WRITEStrueIf on (default), destructive tools require confirm: "YES". Only false, 0, no or off (any case) disable the guard; empty or unrecognised values keep it on and log a warning. The effective state is logged to stderr at startup
SNIPEIT_TIMEOUT_MS30000Timeout in ms per attempt (positive integer), covering the response headers and the full body read
SNIPEIT_LOG_LEVELinfodebug \info \warn \error
SNIPEIT_MAX_RESULT_BYTES1048576 (1 MiB)Cap for one tool result (serialized JSON, bytes); minimum 65536. Values above 8 MiB log a warning: TypeScript SDK clients read at most 10 MiB per message. Larger results are shortened to valid JSON with a truncation marker (see Large and binary results). One HTTP response body is never buffered beyond the larger of 16 MiB and 4 times this value.
SNIPEIT_CALL_DEADLINE_MS0 (none)Overall deadline for one tool call in ms, across retries, backoffs and all: true pagination; 0 disables it. A call past the deadline ends with a DEADLINE_EXCEEDED tool error; all: true returns the rows collected so far with truncated: true and next_offset
SNIPEIT_REDACT_PIIfalseMask personal data in tool results and resource reads with (redacted) (not in error texts or write previews): email, employee_num(ber), phone, mobile, address, address2, username, first_name, last_name at any depth, and name of objects that describe a person. Asset, model and location names stay. Accepts true/false (also 1/0, yes/no, on/off); an unrecognised value turns it on and logs a warning
SNIPEIT_REDACT_SECRETSfalseMask secrets in tool results and resources with (redacted): the value of every key matching `password\secret\token\api[_-]?key at any depth, and the value of every custom_fields entry (object or array form) whose display name or database column (_snipeit_*, also as a flat key in write responses) matches passw\kennw\secret\token\key\recovery\bitlocker\pin\laps (any case; broad on purpose, so "Keyboard layout" is masked too); also old and new of every log_meta entry (action log, /reports/activity) and the default_value of every custom field definition whose name or column matches either rule. Null and empty values stay. Error texts that echo such a JSON field are masked as well. Same accepted values as SNIPEIT_REDACT_PII`; an unrecognised value turns it on and logs a warning. Write tools always refuse a body that contains the placeholder (see Write safety)
SNIPEIT_READ_ONLYfalseRefuse every write at runtime with a READ_ONLY tool error; all tools stay registered and reads work. Same accepted values as SNIPEIT_REDACT_PII; an unrecognised value turns it on
SNIPEIT_REQUIRE_PREVIEWfalseWhile the write guard is on, confirm: "YES" executes only after a preview of the identical request in the last 10 minutes, once per preview. Off: confirm: "YES" executes in the first call. Same accepted values as SNIPEIT_REDACT_PII

Variables come from the environment, from node --env-file= , or from a .env in the working directory (or DOTENV_CONFIG_PATH), which never overrides a variable that is already set. The names (never the values) of the variables a .env added are logged to stderr at startup.


Tool reference

Hand-wrappers (37 tools)
Identity (1)
ToolEndpointAnnotations
snipeit_meGET /users/mereadOnly
Hardware / Assets (13)
ToolEndpointAnnotations
snipeit_list_hardwareGET /hardware (paginated, common filters)readOnly
snipeit_search_hardwareGET /hardware?search={query} (convenience)readOnly
snipeit_get_hardware_by_idGET /hardware/{id}readOnly
snipeit_get_hardware_by_tagGET /hardware/bytag/{tag}readOnly
snipeit_get_hardware_by_serialGET /hardware/byserial/{serial}readOnly
snipeit_create_hardwarePOST /hardwarewriteOnce
snipeit_update_hardwarePATCH /hardware/{id}writeIdempotent
snipeit_delete_hardwareDELETE /hardware/{id} (soft delete; snipeit_gen_hardwareidrestore restores)writeIdempotent
snipeit_checkout_hardwarePOST /hardware/{id}/checkout (user/location/asset)writeOnce
snipeit_checkin_hardwarePOST /hardware/{id}/checkinwriteOnce
snipeit_audit_hardwarePOST /hardware/auditwriteOnce
snipeit_list_audit_dueGET /hardware/audit/duereadOnly
snipeit_list_audit_overdueGET /hardware/audit/overduereadOnly
Users (5)
ToolEndpointAnnotations
snipeit_list_usersGET /usersreadOnly
snipeit_get_userGET /users/{id}readOnly
snipeit_get_user_assetsGET /users/{id}/assetsreadOnly
snipeit_get_user_accessoriesGET /users/{id}/accessoriesreadOnly
snipeit_get_user_licensesGET /users/{id}/licensesreadOnly
Licenses (3)
ToolEndpointAnnotations
snipeit_list_licensesGET /licensesreadOnly
snipeit_get_license_seatsGET /licenses/{id}/seatsreadOnly
snipeit_checkout_license_seatPUT /licenses/{license_id}/seats/{seat_id}writeIdempotent
Accessories / Consumables / Components (8)
ToolEndpointAnnotations
snipeit_list_accessoriesGET /accessoriesreadOnly
snipeit_checkout_accessoryPOST /accessories/{id}/checkoutwriteOnce
snipeit_checkin_accessoryPOST /accessories/{id}/checkin (pivot-id)writeOnce
snipeit_list_consumablesGET /consumablesreadOnly
snipeit_checkout_consumablePOST /consumables/{id}/checkoutwriteOnce
snipeit_list_componentsGET /componentsreadOnly
snipeit_checkout_componentPOST /components/{id}/checkout (to asset)writeOnce
snipeit_checkin_componentPOST /components/{id}/checkin (pivot-id)writeOnce
Locations / Status-Labels / Maintenances (6)
ToolEndpointAnnotations
snipeit_list_locationsGET /locationsreadOnly
snipeit_get_locationGET /locations/{id}readOnly
snipeit_list_statuslabelsGET /statuslabelsreadOnly
snipeit_get_statuslabel_assetsGET /statuslabels/{id}/assetlistreadOnly
snipeit_list_maintenancesGET /maintenancesreadOnly
snipeit_create_maintenancePOST /maintenanceswriteOnce
Bulk (1)

| Tool | Behavior | Annotations

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx