PrintVaultMCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PRINT_VAULT_URL | Yes | Base URL of your Print Vault instance | |
| PRINT_VAULT_TIMEOUT | No | HTTP request timeout in seconds | 30 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_dashboardA | Get a full status overview of your Print Vault: alerts, stats, featured trackers, and active projects. |
| get_versionA | Get the current Print Vault version. |
| dismiss_alertA | Dismiss a specific dashboard alert. Args: alert_type: The type of alert (e.g. 'printer_repair', 'low_stock', 'maintenance_overdue'). alert_id: The ID of the specific alert to dismiss. |
| search_inventoryA | Search inventory items by keyword, brand, part type, or location. Args: query: Free-text search across title, brand, part type, location, and notes. brand: Filter by brand name (exact match on brand__name). part_type: Filter by part type name (exact match on part_type__name). location: Filter by location name (exact match on location__name). |
| get_inventory_itemB | Get full details on a specific inventory item. Args: item_id: The ID of the inventory item. |
| add_inventory_itemA | Add a new inventory item. Brand, part type, location, and vendor are created automatically if they don't exist. Args: title: Name/title of the inventory item. quantity: Quantity on hand. brand: Brand name (will be created if new). part_type: Part type name (will be created if new). location: Storage location name (will be created if new). cost: Unit cost. is_consumable: Whether this is a consumable item (enables low stock tracking). low_stock_threshold: Quantity threshold for low stock alerts (consumables only). notes: Free-text notes. vendor: Vendor name (will be created if new). vendor_link: URL to vendor product page. model: Model/part number. |
| update_inventory_itemA | Update an existing inventory item. Only the fields you provide will be changed. Args: item_id: The ID of the inventory item to update. title: New title. quantity: New quantity on hand. brand: Brand name (will be created if new). part_type: Part type name (will be created if new). location: Location name (will be created if new). cost: Unit cost. is_consumable: Whether this is a consumable item. low_stock_threshold: Low stock alert threshold. notes: Free-text notes. vendor: Vendor name (will be created if new). vendor_link: URL to vendor product page. model: Model/part number. |
| get_low_stockA | List all consumable inventory items that are at or below their low stock threshold. |
| get_item_allocationA | Get the allocation summary for an inventory item — how much is on hand, needed, and which projects are using it. Args: item_id: The ID of the inventory item. |
| list_materialsA | List filament material blueprints and generic material types. Args: search: Search by material or brand name. material_type: Filter by 'generic' or 'blueprint'. favorites: If true, show only favorited materials. |
| get_material_spoolsA | List all physical spools for a given material blueprint. Args: material_id: The ID of the material blueprint. |
| create_materialA | Create a new material — either a generic type (e.g. 'PLA') or a specific blueprint (e.g. 'Sunlu PLA+ Black'). A generic material is a base type that blueprints reference. A blueprint is a specific brand/color combination that spools are linked to. Create a generic first, then blueprints that reference it via base_material_id. Args: name: Material name (e.g. 'PLA' for generic, 'Sunlu PLA+ Black' for blueprint). is_generic: True for a generic base material, False for a specific blueprint. brand: Brand name for blueprints (will be created if new). Ignored for generics. base_material_id: ID of a generic material this blueprint is based on. colors: List of color names (e.g. ['Black'] or ['Black', 'Red'] for multicolor). color_family: Color family for grouping (e.g. 'Black', 'Red', 'Neutral'). diameter: Filament diameter in mm (default 1.75). spool_weight: Net filament weight per spool in grams (default 1000). empty_spool_weight: Empty spool weight in grams. nozzle_temp_min: Minimum nozzle temperature in Celsius. nozzle_temp_max: Maximum nozzle temperature in Celsius. bed_temp_min: Minimum bed temperature in Celsius. bed_temp_max: Maximum bed temperature in Celsius. density: Filament density in g/cm3 (e.g. 1.24 for PLA). price_per_spool: Price per spool. vendor: Vendor name (will be created if new). vendor_link: URL to vendor product page. notes: Free-text notes. features: List of feature names (e.g. ['Matte', 'High Speed']). Created if new. |
| list_spoolsA | List filament spools with optional filtering. Args: status: Filter by status — 'new', 'opened', 'active', 'in_use', 'low', 'empty', 'archived'. printer: Filter by assigned printer ID. color: Filter by color name (fuzzy match). is_archived: If true, show only archived spools. If false, exclude archived. |
| add_filament_spoolA | Add new filament spool(s) linked to an existing material blueprint. Args: filament_type_id: ID of the material blueprint this spool uses. quantity: Number of identical spools to add (default 1). initial_weight: Net filament weight in grams (default 1000g / 1kg). location: Storage location name (will be created if new). notes: Free-text notes. price_paid: Price paid for this spool. |
| quick_add_spoolA | Quick-add a filament spool without a material blueprint. Use this when you just want to track a spool without setting up a full material blueprint first. Args: standalone_name: Name for this spool (e.g. 'eSun PLA+ Black'). quantity: Number of identical spools to add (default 1). initial_weight: Net filament weight in grams (default 1000g / 1kg). standalone_brand: Brand name (will be created if new). standalone_material_type_id: ID of a generic material type (e.g. PLA, PETG). Use list_materials with material_type='generic' to find IDs. standalone_colors: List of color names (e.g. ['Black']). standalone_color_family: Color family for grouping (e.g. 'Black', 'Red'). location: Storage location name (will be created if new). notes: Free-text notes. price_paid: Price paid for this spool. standalone_nozzle_temp_min: Min nozzle temp in Celsius. standalone_nozzle_temp_max: Max nozzle temp in Celsius. standalone_bed_temp_min: Min bed temp in Celsius. standalone_bed_temp_max: Max bed temp in Celsius. standalone_density: Filament density in g/cm3. |
| update_spool_weightA | Update the current weight of an opened filament spool. Auto-updates status based on remaining weight. Args: spool_id: The ID of the spool to update. current_weight: The current net filament weight in grams. |
| mark_spool_emptyA | Mark a filament spool as empty and clear its printer assignment. Args: spool_id: The ID of the spool to mark as empty. |
| open_spoolA | Open a spool from an unopened batch. Creates a new individual spool record. Args: spool_id: The ID of the unopened spool batch to open from. status: Status for the opened spool — 'opened' or 'in_use'. location_id: Optional location ID to assign the opened spool. printer_id: Optional printer ID to assign the opened spool. |
| archive_spoolsA | Bulk archive empty spools. Args: spool_ids: List of spool IDs to archive (must have 'empty' status). |
| toggle_material_favoriteA | Toggle the favorite status of a material blueprint (max 5 favorites). Args: material_id: The ID of the material blueprint. |
| list_printersA | List all printers with optional search and status filter. Args: search: Search by title, manufacturer, serial number, or notes. status: Filter by status (e.g. 'Active', 'Under Repair', 'Retired'). |
| get_printerA | Get full details on a specific printer including mods and assigned filament. Args: printer_id: The ID of the printer. |
| update_printerA | Update a printer record. Only the fields you provide will be changed. Args: printer_id: The ID of the printer to update. title: New title. status: New status (e.g. 'Active', 'Under Repair', 'Retired'). serial_number: Serial number. notes: Free-text notes. purchase_price: Purchase price. maintenance_notes: Maintenance notes. manufacturer: Manufacturer/brand name (will be created if new). |
| add_modA | Add a mod/upgrade to a printer. Args: printer: The ID of the printer to add the mod to. name: Name of the mod. link: URL to the mod (Printables, GitHub, etc.). status: Mod status — 'Planned', 'In Progress', 'Completed'. |
| update_modA | Update a printer mod. Only the fields you provide will be changed. Args: mod_id: The ID of the mod to update. name: New name for the mod. link: URL to the mod. status: New status — 'Planned', 'In Progress', 'Completed'. |
| list_projectsA | List projects with optional search and status filter. Args: search: Search by project name, description, status, or notes. status: Filter by status — 'Planning', 'In Progress', 'On Hold', 'Completed', 'Canceled'. |
| get_projectA | Get full project details including BOM, linked inventory, printers, trackers, and files. Args: project_id: The ID of the project. |
| create_projectA | Create a new project. Args: project_name: Name of the project. description: Project description. status: Initial status — 'Planning', 'In Progress', 'On Hold'. start_date: Start date in YYYY-MM-DD format. due_date: Due date in YYYY-MM-DD format. notes: Free-text notes. |
| update_projectA | Update a project. Only the fields you provide will be changed. Args: project_id: The ID of the project to update. project_name: New project name. description: New description. status: New status — 'Planning', 'In Progress', 'On Hold', 'Completed', 'Canceled'. start_date: Start date in YYYY-MM-DD format. due_date: Due date in YYYY-MM-DD format. notes: Free-text notes. |
| add_bom_itemA | Add a Bill of Materials line item to a project. If linked to an inventory item, it reserves stock. Args: project: The ID of the project. description: Description of the BOM item (e.g. "M3x8 SHCS"). quantity_needed: Quantity needed. inventory_item: Optional ID of an existing inventory item to link (reserves stock). status: BOM status — 'linked' (auto-reserves), 'unlinked', or 'needs_purchase'. notes: Free-text notes. |
| get_shopping_listA | Get the consolidated shopping list — items that need to be purchased across all active projects. |
| link_printer_to_projectB | Associate a printer with a project. Args: project: The project ID. printer: The printer ID. |
| list_trackersA | List all print trackers with optional search. Args: search: Search by tracker name or GitHub URL. |
| get_trackerA | Get full tracker details including file list and progress. Args: tracker_id: The ID of the tracker. |
| create_tracker_from_githubA | Crawl a GitHub repository for printable files and return the results. Use this to preview files before creating a tracker. Args: github_url: Full GitHub URL to a repository or subdirectory (e.g. https://github.com/VoronDesign/Voron-0/tree/main/STLs). |
| update_file_statusB | Update the print status or printed quantity of a tracker file. Args: file_id: The ID of the tracker file. status: New status for the file. printed_quantity: Number of copies printed so far. |
| list_brandsA | List all brands/manufacturers in the system. |
| list_locationsA | List all storage locations in the system. |
| list_part_typesB | List all part types/categories in the system. |
| list_vendorsA | List all vendors/suppliers in the system. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/BrandonDoster/PrintVault_MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server