Skip to main content
Glama
BrandonDoster

PrintVaultMCP

create_material

Add a new filament material to your inventory, either as a generic type or a specific brand/color blueprint, with full printing parameters.

Instructions

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
brandNo
notesNo
colorsNo
vendorNo
densityNo
diameterNo
featuresNo
is_genericNo
vendor_linkNo
bed_temp_maxNo
bed_temp_minNo
color_familyNo
spool_weightNo
nozzle_temp_maxNo
nozzle_temp_minNo
price_per_spoolNo
base_material_idNo
empty_spool_weightNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description reveals key behavioral side effects not evident from the schema: brand 'will be created if new', features 'Created if new', and vendor 'will be created if new'. It also explains parameter-specific behavior like 'Ignored for generics' for brand. Since no annotations exist, this disclosure is crucial and largely sufficient, though it doesn't address idempotency or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than average but appropriate for 19 parameters. It is front-loaded with a clear purpose statement and organizes parameters in a list with one-line explanations. No filler; every sentence adds information, though it could be slightly more compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex create operation with no annotations and 19 parameters, the description provides complete contextual coverage: conceptual model (generic vs blueprint), ordering requirements, units, auto-create behaviors, and default values. The presence of an output schema means return-value documentation isn't needed, and all other critical aspects are covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description independently documents all 19 parameters in an Args section. It adds units ('mm', 'grams', 'Celsius', 'g/cm3'), default values (1.75, 1000), and relational semantics (base_material_id references a generic material). This fully compensates for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a new material' and immediately distinguishes generic vs blueprint with concrete examples. The specific verb 'create' and resource 'material' are unambiguous, and the subtype explanation differentiates it from sibling tools like list_materials or add_filament_spool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit sequencing guidance: 'Create a generic first, then blueprints that reference it via base_material_id.' This tells the agent when to create a generic vs a blueprint. While it doesn't explicitly contrast with sibling tools, the context is clear for the material creation workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

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