spoolman-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@spoolman-mcpHow much PLA do I have left?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐งต Spoolman MCP Server
A Model Context Protocol server for Spoolman โ manage your entire 3D printer filament inventory through natural language with Claude and other AI assistants! ๐
๐ What is this?
This MCP server bridges the gap between AI assistants (like Claude) and your self-hosted Spoolman instance. Instead of clicking through the Spoolman UI, you can simply ask your AI assistant:
"How much PLA do I have left?" "Add a new Bambu Lab PETG spool, 1kg, red." "Mark spool #12 as used by 50g."
The server exposes the full Spoolman REST API v1 as MCP tools โ every vendor, filament, spool, setting, custom field, lookup, and export endpoint is covered.
Related MCP server: StashDog MCP Server
โจ Features
๐ญ Vendor Management โ Create, read, update, delete vendors
๐จ Filament Management โ Full CRUD with color, temperature settings, article numbers
๐งต Spool Management โ Track spools, log usage (by weight or length), weight measurement, archiving
โ๏ธ Settings โ Read and write Spoolman configuration
๐ท๏ธ Custom Fields โ Manage extra fields for vendors, filaments, and spools
๐ Lookups โ Browse all materials, locations, lot numbers, article numbers
๐ฆ Export โ Export data as JSON or CSV
๐ System โ Health check, info, and backup trigger
This server communicates with yourlocal/self-hosted Spoolman instance. You need a running Spoolman before using this MCP server.
๐ Requirements
Requirement | Version |
Node.js | โฅ 18 |
npm | โฅ 9 |
Spoolman | Any recent version |
Claude Desktop / Claude Code | Any |
โก Quick Start
1. Clone & Install
git clone https://github.com/Disane87/spoolman-mcp.git
cd spoolman-mcp
npm install
npm run build2. Configure Claude Desktop
Add the following to your claude_desktop_config.json:
macOS / Linux: ~/.config/claude/claude_desktop_config.json
Windows: %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"
}
}
}
}Replace/absolute/path/to/spoolman-mcp with the actual path where you cloned the repository, and http://localhost:7912 with the URL of your Spoolman instance.
3. Restart Claude Desktop & Start Chatting! ๐
๐ง Configuration
The server is configured via environment variables:
Variable | Required | Description | Example |
| โ Yes | Base URL of your Spoolman instance |
|
| โ No | Bearer token (if behind a proxy with auth) |
|
๐ ๏ธ Available MCP Tools
๐ญ Vendors
Tool | Description |
| Search and list all vendors |
| Get a single vendor by ID |
| Create a new vendor |
| Update an existing vendor |
| Delete a vendor (cascades to filaments!) |
๐จ Filaments
Tool | Description |
| Search filaments by name, material, color, vendor... |
| Get a single filament by ID |
| Create a new filament definition |
| Update an existing filament |
| Delete a filament |
๐งต Spools
Tool | Description |
| Search spools with extensive filters |
| Get a single spool by ID |
| Register a new spool |
| Update spool metadata |
| Delete a spool |
| Log filament consumption (g or mm) |
| Update remaining weight via scale measurement |
โ๏ธ Settings
Tool | Description |
| Get all Spoolman settings |
| Get a specific setting by key |
| Change a setting value |
๐ท๏ธ Custom Fields
Tool | Description |
| List custom fields for an entity type |
| Add or update a custom field |
| Remove a custom field |
๐ Lookups
Tool | Description |
| List all known material types |
| List all storage locations |
| List all lot/batch numbers |
| List all article numbers |
| Rename a storage location |
๐ฆ Export
Tool | Description |
| Export all spools as JSON or CSV |
| Export all filaments as JSON or CSV |
| Export all vendors as JSON or CSV |
๐ System
Tool | Description |
| Get Spoolman version and config info |
| Check if Spoolman is reachable |
| Trigger a database backup (SQLite only) |
๐ฌ Example Conversations
Once connected, you can have natural conversations like:
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.๐๏ธ Project Structure
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๐จ Development
# 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๐ค Contributing
Contributions are welcome! Feel free to open an issue or pull request if you find a bug, have a feature idea, or want to improve the documentation.
Fork the repository
Create a feature branch (
git checkout -b feat/my-feature)Commit your changes (
git commit -m 'feat: add my feature')Push to the branch (
git push origin feat/my-feature)Open a Pull Request
๐ License
MIT License โ see LICENSE for details.
๐ Related Spoolman Projects
Check out these other projects from the Spoolman ecosystem:
Project | Description |
Integrate Spoolman with Home Assistant โ track spools, get notifications, automate your printing workflow | |
Beautiful, interactive filament color browser for Spoolman. Live Demo | |
Extract your filaments from Spoolman to SpoolmanDB format | |
Centralized community filament database used by Spoolman | |
The awesome filament manager that powers everything |
๐ Credits
Spoolman by @Donkie โ the awesome filament management system that makes this possible
Model Context Protocol by Anthropic โ the open standard powering AI tool integration
Inspired by spoolman-homeassistant ๐
This server cannot be installed
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Disane87/spoolman-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server