关于 Snipe-IT (Mojood Connect)
面向 Snipe-IT 资产管理用户的 MCP 服务,可通过 Claude 查询资产、借用情况、审计和库存,并在确认后办理资产借出或归还。适用于连接现有 Snipe-IT 实例,也附带虚构公司的本地示例数据。
主要功能
- 01按标签、序列号或持有人查资产
- 02查看个人名下的资产
- 03检查审计、借用和保修事项
- 04查询低库存耗材
- 05确认后借出或归还资产
适用场景
- 01查找某台设备的持有人和位置
- 02筛选逾期或即将到期的审计与借用
- 03检查保修即将结束的资产
- 04确认后为员工办理设备借用
MCP 相关
该 MCP 服务通过 Snipe-IT REST API 向 MCP 客户端提供资产查询、审计和库存信息,以及资产借出和归还操作。变更需经一次性确认码批准,并使用 API 令牌用户的权限。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Snipe-IT MCP server
用日常语言向 Claude 询问资产信息:谁持有笔记本电脑 LAP-0142、本月有哪些事项需要审计、哪些物品库存不足。你也可以在同一聊天中办理资产借出和归还,所有变更都会先经过确认。
由 Mojood Connect 构建,作为 Snipe-IT 的可运行演示。 它通过 REST API 连接任意 Snipe-IT。本仓库包含一个本地 Snipe-IT 实例,其中有一家虚构公司的示例数据,公司名为 Harbor Trading,你可以直接试用,无需接触真实实例。
工具
| 工具 | 功能 | 是否会更改数据? |
|---|---|---|
find_asset | 按标签、序列号、型号或持有人查找资产:状态、持有人、位置、下次审计日期、保修到期日 | 否 |
whats_assigned_to | 查看某人名下所有已借出的物品;如果有多个人同名,会询问具体是哪一位 | 否 |
needs_attention | 已逾期和即将到期的审计、已逾期和即将到期归还的借出物品、即将到期的保修、停用资产 | 否 |
low_stock | 低于最低数量的耗材和配件 | 否 |
check_out_asset | 将资产分配给某人 | 是,确认后更改 |
check_in_asset | 将资产从当前持有人处收回 | 是,确认后更改 |
如何确保变更安全。 如果调用 check_out_asset 或 check_in_asset 时没有提供 confirmation,则不会进行任何更改:工具会返回一段简明摘要(“将 LAP-0160(ThinkPad T14 Gen 5)借给 Sara Al-Qahtani,Finance,Dammam HQ。”)和一个一次性代码。只有在 10 分钟内使用该代码再次提交相同请求时,才会执行变更。代码只能使用一次,且只能用于发放该代码的请求。服务的指令会要求模型展示摘要,并等待用户确认。每项变更都会通过 Snipe-IT 自身的借出和归还端点完成,并附上备注“via Claude (Mojood Connect demo)”,因此它会像人工操作的变更一样记录在资产历史中。
此服务以 API token 所有者的身份操作,并遵循该用户在 Snipe-IT 中的权限。
本地试用
需要 Docker(含 Compose)、uv 和 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 会自行生成所有密码和 API token,并将其保存在被 git 忽略的文件 docker/.env 和 .env 中;不会输出任何内容。你可以随时再次运行该脚本,从全新的示例数据开始。所有服务都只监听 127.0.0.1。重启后,运行 scripts/up.sh 即可重新启动服务,不会影响数据。
**Claude Desktop:**将以下内容添加到 claude_desktop_config.json(Settings › Developer),并将路径替换为此文件夹的路径:
{
"mcpServers": {
"snipe-it": {
"command": "uv",
"args": ["run", "--directory", "/path/to/snipeit-mcp", "--env-file", "/path/to/snipeit-mcp/.env", "snipeit-mcp", "--stdio"]
}
}
}
接着可以询问:“谁持有 LAP-0142?他们还持有哪些物品?”、“本月有哪些事项需要处理?”、“哪些物品库存不足?”、“把备用 ThinkPad 借给 Sara。”
**使用你自己的 Snipe-IT:**设置 SNIPEIT_URL 和 SNIPEIT_TOKEN(从 Snipe-IT 个人资料获取的个人 API key),并将 SNIPEIT_SAMPLE=0。
示例公司
Harbor Trading:3 个站点(Dammam HQ、Riyadh office、Jeddah warehouse)、15 名员工、48 项资产(笔记本电脑、显示器、手机、仓库扫描仪、打印机)和 7 种库存物品。日期会根据数据载入当天设定,因此始终会有已逾期和即将到期的审计、一台逾期 12 天的借用笔记本电脑、一台 4 天后到期归还的设备、即将到期的保修、一台正在维修的笔记本电脑,以及 3 种低于最低库存量的物品。人物、序列号和价格均为虚构。
测试
uv run pytest # unit tests (a fake Snipe-IT API), plus live tests when the local Snipe-IT runs
生产版本增加的功能
此演示使用一个 API token 登录。面向 Snipe-IT 客户的生产级服务会增加使用每个人自己的 Snipe-IT 账户登录的功能,让 Claude 只能看到他们有权查看的内容;还会提供带有每次工具调用审计日志的托管服务,以及更多 API 功能(许可证、组件、维护、请求)。这正是 Mojood Connect 所构建的服务。
许可证
Apache 2.0。Snipe-IT 是 Grokability, Inc. 的商标;本项目并非由 Grokability 制作或认可。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。