🧵 Spoolman MCP服务器
](https://github.com/Disane87/spoolman-mcp)    
______________________________________________________________________
🚀 这是什么?
这个MCP服务器弥合了人工智能助手(如克劳德)和你的自托管之间的差距 斯波尔曼 例子您无需点击Spoolman UI,只需 问 您的AI助手:
_“我还剩多少解放军?”_ _“添加一个新的Bambu Lab PETG线轴,1kg,红色。”_ _“标记50g使用的12号线轴。”_
服务器公开 完整Spoolman REST API v1 作为MCP工具,涵盖了每个供应商、灯丝、线轴、设置、自定义字段、查找和导出端点。
______________________________________________________________________
✨ 特性
- 🏭 供应商管理 --创建、读取、更新、删除供应商
- 🎨 长丝管理 --带有颜色、温度设置、物品编号的完整CRUD
- 🧵 假脱机管理 --跟踪线轴、日志使用(按重量或长度)、重量测量、归档
- ⚙️ 设置 --读写Spoolman配置
- 🏷️ 自定义字段 --管理供应商、长丝和线轴的额外字段
- 🔍 查找 --浏览所有材料、位置、批号、货号
- 📦 出口 --将数据导出为JSON或CSV
- 💓 系统 --健康检查、信息和备份触发器
\[!注意\] 此服务器与您的 本地/自托管 斯波尔曼实例。在使用此MCP服务器之前,您需要一个正在运行的Spoolman。
______________________________________________________________________
📋 需求
| 要求 | 版本 |
|---|---|
| Node.js | ≥18 |
| npm | ≥9 |
| 斯波尔曼 | 任何最新版本 |
| 克劳德桌面/克劳德代码 | 任何 |
______________________________________________________________________
⚡ 快速开始
1.克隆和安装
git clone https://github.com/Disane87/spoolman-mcp.git
cd spoolman-mcp
npm install
npm run build2.配置克劳德桌面
将以下内容添加到您的 claude_desktop_config.json:
macOS/Linux: ~/.config/claude/claude_desktop_config.json 窗户: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"spoolman": {
"command": "node",
"args": ["/absolute/path/to/spoolman-mcp/dist/index.js"],
"env": {
"SPOOLMAN_URL": "http://localhost:7912"
}
}
}
}\[!重要\] 替换/absolute/path/to/spoolman-mcp使用克隆存储库的实际路径,以及http://localhost:7912使用Spoolman实例的URL。
3.重新启动克劳德桌面并开始聊天! 🎉
______________________________________________________________________
🔧 配置
服务器通过以下方式配置 环境变量:
| 变量 | 必填 | 描述 | 示例 |
|---|---|---|---|
SPOOLMAN_URL | ✅ 是 | 您的Spoolman实例的基本URL | http://localhost:7912 |
SPOOLMAN_API_KEY | ❌ 否 | 承载令牌(如果在具有身份验证的代理后面) | my-secret-key |
______________________________________________________________________
🛠️ 可用的MCP工具
🏭 供应商
| 工具 | 说明 |
|---|---|
spoolman_list_vendors | 搜索并列出所有供应商 |
spoolman_get_vendor | 按ID获取单个供应商 |
spoolman_create_vendor | 创建新供应商 |
spoolman_update_vendor | 更新现有供应商 |
spoolman_delete_vendor | 删除供应商(级联到细丝!) |
🎨 灯丝
| 工具 | 说明 |
|---|---|
spoolman_list_filaments | 按名称、材料、颜色、供应商搜索细丝。.. |
spoolman_get_filament | 通过ID获取单根灯丝 |
spoolman_create_filament | 创建新的灯丝定义 |
spoolman_update_filament | 更新现有灯丝 |
spoolman_delete_filament | 删除灯丝 |
🧵 线轴
| 工具 | 说明 |
|---|---|
spoolman_list_spools | 使用广泛的过滤器搜索线轴 |
spoolman_get_spool | 按ID获取单个线轴 |
spoolman_create_spool | 注册新线轴 |
spoolman_update_spool | 更新spool元数据 |
spoolman_delete_spool | 删除线轴 |
spoolman_use_spool | 对数长丝消耗量(g或mm) |
spoolman_measure_spool | 通过磅秤测量更新剩余重量 |
⚙️ 设置
| 工具 | 说明 |
|---|---|
spoolman_get_all_settings | 获取所有Spoolman设置 |
spoolman_get_setting | 按键获取特定设置 |
spoolman_set_setting | 更改设置值 |
🏷️ 自定义字段
| 工具 | 说明 |
|---|---|
spoolman_list_fields | 列出实体类型的自定义字段 |
spoolman_upsert_field | 添加或更新自定义字段 |
spoolman_delete_field | 删除自定义字段 |
🔍 查找
| 工具 | 说明 |
|---|---|
spoolman_list_materials | 列出所有已知的材料类型 |
spoolman_list_locations | 列出所有存储位置 |
spoolman_list_lot_numbers | 列出所有批号 |
spoolman_list_article_numbers | 列出所有商品编号 |
spoolman_rename_location | 重命名存储位置 |
📦 出口
| 工具 | 说明 |
|---|---|
spoolman_export_spools | 将所有假脱机导出为JSON或CSV |
spoolman_export_filaments | 将所有细丝导出为JSON或CSV |
spoolman_export_vendors | 将所有供应商导出为JSON或CSV |
💓 系统
| 工具 | 说明 |
|---|---|
spoolman_get_info | 获取Spoolman版本和配置信息 |
spoolman_health_check | 检查是否可以联系到斯波尔曼 |
spoolman_trigger_backup | 触发数据库备份(仅限SQLite) |
______________________________________________________________________
💬 对话示例
连接后,您可以进行自然对话,例如:
You: How many spools do I currently have?
Claude: You have 14 spools in Spoolman. 3 of them are archived.
The active spools include 5x PLA, 4x PETG, and 2x ABS.You: Add a new Bambu Lab PLA Basic spool. It's red, 1kg, 1.75mm.
Claude: I'll create that for you right away!
✅ Spool created: Bambu Lab PLA Basic (Red) — 1000g remaining.You: I just printed something and used about 45g from spool #7.
Claude: Done! Spool #7 now has 623g remaining (was 668g).You: I just weighed spool #3 on my kitchen scale — it's 312g total.
Claude: Got it! Based on the empty spool weight of 190g, spool #3
now shows 122g of filament remaining.______________________________________________________________________
🏗️ 项目结构
spoolman-mcp/
├── src/
│ ├── index.ts # MCP server entry point & transport
│ ├── client.ts # Typed Spoolman REST API client
│ └── tools/
│ ├── system.ts # System tools (health, info, backup)
│ ├── vendors.ts # Vendor CRUD tools
│ ├── filaments.ts # Filament CRUD tools
│ ├── spools.ts # Spool management tools
│ ├── settings.ts # Settings tools
│ ├── fields.ts # Custom field tools
│ ├── lookup.ts # Lookup / discovery tools
│ └── export.ts # Data export tools
├── dist/ # Compiled JavaScript (after npm run build)
├── package.json
├── tsconfig.json
└── README.md______________________________________________________________________
🔨 发展
# Install dependencies
npm install
# Build TypeScript
npm run build
# Watch mode (auto-rebuild on changes)
npm run watch
# Run directly with ts-node (no build step)
SPOOLMAN_URL=http://localhost:7912 npm run dev______________________________________________________________________
🤝 贡献
欢迎投稿!如果您发现错误、有功能想法或想改进文档,请随时打开问题或拉取请求。
- 分叉存储库
- 创建要素分支(
git checkout -b feat/my-feature) - 提交您的更改(
git commit -m 'feat: add my feature') - 推到分支(
git push origin feat/my-feature) - 打开拉取请求
______________________________________________________________________
📄 许可证
MIT许可证——见 许可证 了解详情。
______________________________________________________________________
🔗 相关斯波尔曼项目
看看斯波尔曼生态系统中的其他项目:
| 项目 | 描述 |
|---|---|
| 🏠 斯波尔曼家庭助理 | 将Spoolman与Home Assistant集成--跟踪spool、获取通知、自动化打印工作流程 |
| 📦 斯波尔曼长丝提取器 | 将您的细丝从Spoolman提取为SpoolmanDB格式 |
| 🗄️ SpoolmanDB 数据库 | Spoolman使用的集中式社区细丝数据库 |
| 🖨️ 斯波尔曼 | 强大的灯丝管理器,为一切提供动力 |
______________________________________________________________________
🙏 学分
______________________________________________________________________
Made with ❤️ for the 3D printing community
