PrusaMCP
Allows for the direct upload of G-code files to an OctoPrint instance for remote 3D print management and workflow automation.
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., "@PrusaMCPAnalyze my model and suggest a profile for high strength PETG."
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.
PrusaMCP
Intelligent MCP Server for PrusaSlicer — 17 tools to analyze, configure and launch your 3D prints from Claude or any MCP client.
PrusaMCP is not a simple CLI wrapper. It's a 3D printing assistant that analyzes your mesh, recommends optimal settings with justification, diagnoses defects, and can drive PrusaSlicer automatically.
Built with Claude Code.
Features
Native mesh analysis — Binary/ASCII STL and 3MF parser, zero external dependencies for parsing
Recommendation engine — Bible FDM + official Prusa knowledge base, justification for every setting
MVS-based speed capping — Automatic speed calculation based on material Max Volumetric Speed
17 MCP tools covering the full print workflow
Post-print diagnostics — Bible FDM diagnostic tree for 9 common defects
Filament database — 30+ filaments with temperatures, MVS, recommended surface
Related MCP server: Klipper MCP Server
Tools
Analysis & Recommendation (no PrusaSlicer needed)
Tool | Description |
| Geometric analysis of STL/3MF (dimensions, volume, overhangs, manifold) |
| Issue detection: thin walls, bridges, overhangs, stability |
| Test 6 orientations with scoring (overhangs, height, adhesion) |
| Full profile recommendation with per-setting justification |
| Generate PrusaSlicer-compatible .ini file |
| Cost estimate (filament + electricity) and print time |
| Search filament database (30+ entries) |
| All-in-one: analysis + printability + orientation + profile + questions |
| Post-print diagnosis (warping, stringing, under-extrusion...) |
PrusaSlicer Integration
Tool | Description |
| Run slicing via CLI with G-code stats |
| Get the model currently open in PrusaSlicer |
| Capture PrusaSlicer window (even in background) |
| G-code post-processing (pause, filament change, etc.) |
| Upload to OctoPrint / Prusa Connect |
Feedback & Community
Tool | Description |
| Submit print feedback after printing |
| Feedback statistics by material/goal |
| Anonymized community data export |
Installation
git clone https://github.com/Noosbai/PrusaMCP.git
cd PrusaMCP
npm install
npm run buildConfiguration
Claude Desktop / Claude Code
Add to your MCP configuration:
{
"mcpServers": {
"prusa-mcp": {
"command": "node",
"args": ["/path/to/PrusaMCP/build/index.js"],
"env": {
"PRUSASLICER_PATH": "C:/Program Files/Prusa3D/PrusaSlicer/prusa-slicer-console.exe"
}
}
}
}Environment Variables
Variable | Description | Default |
| Path to | Auto-detected |
| PrusaSlicer profiles folder |
|
| Your OctoPrint instance URL | — |
| OctoPrint API key | — |
Usage
Typical Workflow
Analyze a model:
analyze_meshto get dimensions, overhangs, etc.Check printability:
check_printabilityto detect potential issuesGet a recommendation:
recommend_profilewith your goal (draft, standard, quality, strong, speed)Generate config:
generate_prusaslicer_configfor a ready-to-use .iniSlice:
slice_prusaslicerto generate G-code
Or in one command
print_wizard does everything at once: analysis + printability + orientation + profile + cost estimate + follow-up questions to refine.
Available Goals
Goal | Description |
| Fast, quality secondary |
| Good quality/time balance |
| Smooth surface, fine details |
| Maximum mechanical strength |
| Spiral vase mode |
| Everything maxed out |
Supported Materials
PLA, PETG, ABS, ASA, TPU, Nylon, PC — with official Prusa temperatures, Bible FDM MVS values, drying/enclosure warnings.
Knowledge Base
The recommendation engine is built on:
Bible de l'impression 3D FDM — Comprehensive FDM settings guide for PrusaSlicer
Official Prusa documentation — Temperatures, MVS, reference profiles
9-step calibration workflow (mechanical → PID → Z → EM → MVS → retraction → cooling → PA → accel)
Diagnostic tree for 9 common defects with causes and fixes
MVS (Max Volumetric Speed) — The Central Parameter
Material | MVS (mm³/s) |
PLA | ~15 |
ABS/ASA | ~11 |
PETG | ~8 |
Nylon/PC | ~8 |
PVA/BVOH | ~4 |
TPU | ~1-2.5 |
Architecture
src/
├── index.ts # MCP entry point + STDIO transport
├── types.ts # TypeScript interfaces
├── config.ts # PrusaSlicer detection
├── stl-parser.ts # Native binary/ASCII STL parser
├── threemf-parser.ts # 3MF parser (ZIP + XML)
├── mesh-analyzer.ts # Geometric analysis
├── profile-engine.ts # Recommendation engine (Bible FDM)
├── ini-writer.ts # PrusaSlicer .ini generation
├── print-issues.ts # Issue detection + Bible FDM diagnostics
├── orientation.ts # Optimal orientation suggestion
├── cost-estimator.ts # Cost/time estimation
├── filament-db.ts # Filament database
├── prusa-cli.ts # PrusaSlicer CLI wrapper
├── community-data.json # Community data (MVS, diagnostics, best practices)
└── tools/ # 17 MCP tools
├── analyze-mesh.ts
├── check-printability.ts
├── suggest-orientation.ts
├── recommend-profile.ts
├── generate-config.ts
├── estimate-cost.ts
├── search-filament.ts
├── print-wizard.ts
├── diagnose-print.ts
├── slice.ts
├── get-current-model.ts
├── screenshot-prusaslicer.ts
├── postprocess-gcode.ts
├── upload-print.ts
└── feedback.tsRequirements
Node.js >= 18
PrusaSlicer (optional — only needed for slice, screenshot, get_current_model)
Windows for screenshot feature (uses PrintWindow API)
License
MIT
Available Tools
17 toolsanalyze_meshAnalyser un mesh 3DC
Analyse un fichier STL ou 3MF et retourne : dimensions, volume, surface, pourcentage d'overhangs, détection de détails fins, et vérification manifold.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Chemin absolu vers le fichier STL ou 3MF |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool returns analysis results but doesn't cover critical aspects like performance (e.g., processing time for large files), error handling (e.g., invalid file formats), or side effects (e.g., whether it modifies the file). For a tool with no annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, starting with the core action and listing outputs in a single sentence. Every element (e.g., dimensions, volume) serves to clarify the purpose without redundancy. However, it could be slightly more structured by grouping outputs or adding brief context, but overall it's efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations and no output schema, the description is moderately complete for a simple analysis tool. It specifies the file types and analysis outputs, but lacks details on return format, error cases, or integration with sibling tools. For a tool in a complex 3D printing server with many siblings, this leaves gaps in understanding how it fits into broader workflows.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with 'file_path' clearly documented as an absolute path to STL or 3MF files. The description doesn't add any parameter-specific details beyond what the schema provides, such as file size limits or format specifics. Since schema coverage is high, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Analyse' and the resource 'un fichier STL ou 3MF', specifying it analyzes 3D mesh files. It lists specific outputs like dimensions, volume, surface, etc., making the purpose concrete. However, it doesn't explicitly differentiate from sibling tools like 'check_printability' or 'diagnose_print', which might have overlapping functions in a 3D printing context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as needing a valid file path, or compare it to siblings like 'check_printability' for printability checks or 'diagnose_print' for diagnostic analysis. This lack of context leaves the agent guessing about the appropriate use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_printabilityVérifier la printabilité d'un modèleB
Analyse un modèle 3D (STL/3MF) pour détecter les problèmes d'impression : murs trop fins, ponts trop longs, overhangs, mesh non-manifold, stabilité, etc. Retourne un score de printabilité et des recommandations.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Chemin absolu vers le fichier STL ou 3MF | |
| nozzle_diameter | No | Diamètre de buse en mm (pour calibrer les seuils) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions the tool returns a 'score de printabilité et des recommandations', it doesn't specify format, whether it's read-only/destructive, performance characteristics, or error handling. For a tool with no annotation coverage, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that efficiently convey the tool's function and output. It's front-loaded with the core purpose and avoids unnecessary elaboration, though it could be slightly more structured in separating analysis from output description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description provides adequate but incomplete context. It explains what the tool does and what it returns, but lacks details about behavioral characteristics, error conditions, and how results should be interpreted, leaving some gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing good documentation for both parameters. The description adds no additional parameter semantics beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting without compensating for any deficiencies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('analyse', 'détecter') and resources ('modèle 3D (STL/3MF)'), listing concrete problems it identifies (murs trop fins, ponts trop longs, overhangs, etc.). It distinguishes from siblings like 'analyze_mesh' by focusing specifically on printability issues rather than general mesh analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'diagnose_print' or 'suggest_orientation'. It mentions what the tool does but offers no context about when it's appropriate or when other tools might be better suited for related tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diagnose_printDiagnostiquer un défaut d'impressionA
Diagnostic post-impression basé sur la Bible FDM. Décris le défaut observé et obtiens les causes probables, les corrections à appliquer, et les réglages PrusaSlicer à modifier.
| Name | Required | Description | Default |
|---|---|---|---|
| defect | Yes | Description du défaut observé (ex: 'warping', 'stringing', 'sous-extrusion', 'couches décalées', 'ringing', 'elephant foot', 'délamination', 'buse bouchée') | |
| material | No | Matériau utilisé (PLA, PETG, ABS...) | |
| details | No | Détails supplémentaires sur le problème |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the tool's function and output (causes, corrections, settings), but lacks details on limitations, error handling, or response format. It doesn't contradict annotations (none exist), but could be more comprehensive about what the tool does and doesn't do.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose and key outputs. Every word earns its place, with no redundancy or unnecessary elaboration, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description adequately covers the tool's purpose and basic usage but lacks details on behavioral traits, error cases, or output structure. For a diagnostic tool with three parameters, it's minimally viable but could benefit from more context about how results are returned or limitations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds context by mentioning the FDM Bible as the knowledge source and specifying the output types (causes, corrections, settings), which helps understand what the tool does with the inputs. However, it doesn't add specific semantic details beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to diagnose print defects based on the FDM Bible, providing probable causes, corrections, and PrusaSlicer adjustments. It specifies the verb ('diagnostiquer') and resource ('défaut d'impression'), and distinguishes itself from siblings like 'check_printability' or 'print_wizard' by focusing on post-print analysis rather than pre-print checks or general guidance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: after printing ('post-impression') when a defect is observed, with no explicit exclusions or alternatives mentioned. It doesn't specify when not to use it or name alternative tools, but the context is clear enough for typical use cases without being misleading.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_costEstimer le coût d'impressionB
Estime le coût d'impression d'un modèle 3D : filament, électricité, temps. Peut aussi comparer plusieurs profils (draft/standard/quality) côte à côte.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Chemin absolu vers le fichier STL ou 3MF | |
| material | No | Matériau (PLA, PETG, ABS...) | PLA |
| nozzle | No | Diamètre de buse en mm | |
| filament_price_per_kg | No | Prix du filament en EUR/kg | |
| electricity_price | No | Prix électricité en EUR/kWh | |
| compare_profiles | No | Comparer draft/standard/quality côte à côte |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions the tool can compare profiles, it doesn't describe what the output looks like, whether it's a read-only operation, if it modifies files, or any rate limits/authentication requirements. For a tool with 6 parameters and no annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that efficiently convey the core functionality. First sentence establishes primary purpose, second adds the comparison capability. No wasted words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the estimation returns (cost breakdown? total? comparison table?), nor does it address behavioral aspects like whether it's a read operation or has side effects. The description should do more given the complexity and lack of structured metadata.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description mentions 'filament, electricity, time' which aligns with some parameters, but adds no meaningful semantic context beyond what's in the schema descriptions. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('estimate', 'compare') and resources ('3D model printing cost', 'multiple profiles'). It distinguishes from siblings by focusing on cost estimation rather than mesh analysis, printability checks, or slicing operations mentioned in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for cost estimation and profile comparison, but doesn't explicitly state when to use this tool versus alternatives like 'analyze_mesh' or 'check_printability'. No guidance on prerequisites or exclusions is provided, leaving usage context somewhat ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_feedbackExporter le feedback pour la communautéA
Exporte tes retours d'impression de manière anonymisée pour contribuer à la base de connaissances communautaire. Supprime les chemins de fichiers et généralise le nom d'imprimante. Le JSON résultant peut être partagé via GitHub PR ou autre canal.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and discloses key behavioral traits: anonymization process (removes file paths, generalizes printer names), output format (JSON), and sharing capabilities (GitHub PR or other channels). It doesn't cover error handling or performance aspects, but provides substantial operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences efficiently convey purpose, transformation process, and output usage. The description is appropriately sized and front-loaded with the core function, though minor redundancy exists between 'anonymisée' and the specific anonymization steps mentioned.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and 0 parameters, the description provides good behavioral context but lacks details about what specific feedback data is exported, potential limitations, or error conditions. It's adequate for a simple export tool but could be more comprehensive about the scope and constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately focuses on behavioral aspects rather than parameter details, meeting the baseline expectation for zero-parameter tools.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('exporte') and resource ('tes retours d'impression'), specifying anonymization and contribution to community knowledge base. It distinguishes from sibling 'submit_feedback' by focusing on export rather than submission, though not explicitly contrasting them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('pour contribuer à la base de connaissances communautaire') and suggests sharing methods ('via GitHub PR ou autre canal'), but doesn't explicitly state when to use this versus alternatives like 'submit_feedback' or other data export tools. Guidance is present but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
feedback_statsStatistiques de printsC
Affiche les statistiques de tes impressions : taux de réussite, score moyen, problèmes fréquents, et meilleurs paramètres par matériau. Combine tes données locales et les données communautaires.
| Name | Required | Description | Default |
|---|---|---|---|
| material | No | Filtrer par matériau |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool displays statistics and combines local and community data, but doesn't clarify whether this is a read-only operation, if it requires authentication, how data is sourced or aggregated, or what the output format looks like. For a tool with no annotations, this leaves significant gaps in understanding its behavior and limitations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads key information: what statistics are displayed and the data sources. There's no unnecessary verbiage, and each clause adds value (e.g., listing specific stats like success rate and frequent problems). However, it could be slightly more structured by explicitly separating functionality from data sources for even clearer parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (involving data aggregation from multiple sources) and the absence of both annotations and an output schema, the description is incomplete. It doesn't explain how statistics are calculated, what 'combine' entails, the scope of community data, or the format of the output. For a tool with no structured metadata, this leaves the agent with insufficient context to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 1 parameter with 100% description coverage ('Filtrer par matériau'), so the schema already documents the parameter's purpose. The description adds context by mentioning 'meilleurs paramètres par matériau' (best parameters per material), which aligns with the material filter, but doesn't provide additional syntax, format details, or examples beyond what the schema specifies. With high schema coverage, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to display statistics about prints including success rate, average score, frequent problems, and best parameters per material. It specifies the verb 'affiche' (displays) and the resource 'statistiques de tes impressions' (your print statistics), making the function evident. However, it doesn't explicitly differentiate from sibling tools like 'analyze_mesh' or 'diagnose_print', which might also involve print analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions combining local and community data, but doesn't specify scenarios where this is preferred over other tools like 'diagnose_print' or 'export_feedback'. There's no mention of prerequisites, exclusions, or comparative use cases, leaving the agent to infer usage from context alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_prusaslicer_configGénérer un fichier config PrusaSlicerB
Génère un fichier .ini compatible PrusaSlicer à partir d'une intention ou de paramètres custom. Le fichier peut être chargé directement avec --load dans PrusaSlicer.
| Name | Required | Description | Default |
|---|---|---|---|
| printer | No | Nom de l'imprimante | Generic |
| nozzle | No | Diamètre de buse en mm | |
| goal | Yes | Intention d'impression | |
| material | No | Matériau | PLA |
| stl_path | No | Chemin STL pour analyse auto | |
| output_path | No | Chemin de sortie pour le .ini (sinon fichier temporaire) | |
| custom_settings | No | Paramètres custom PrusaSlicer à overrider (ex: {"layer_height": 0.15}) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool generates a config file and mentions it can be temporary if no output path is specified, but lacks critical details: whether this is a read-only or write operation, what permissions are needed, error handling, rate limits, or what happens when custom_settings conflict with defaults. For a tool with 7 parameters and no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that directly address the tool's function and usage. It's front-loaded with the core purpose and avoids unnecessary elaboration. However, it could be slightly more structured by explicitly separating purpose from behavioral notes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain what the generated config file contains, how goal influences parameter selection, error conditions, or the relationship between parameters like stl_path and goal. The lack of behavioral transparency and minimal parameter semantics leave significant gaps for an AI agent to understand this tool fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds minimal value beyond the schema, mentioning that files can be temporary if no output_path is given and that custom_settings override defaults. However, it doesn't explain parameter interactions (e.g., how goal influences other parameters) or provide examples beyond the brief mention in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Génère un fichier .ini compatible PrusaSlicer à partir d'une intention ou de paramètres custom.' It specifies the verb (generate), resource (PrusaSlicer config file), and distinguishes it from sibling tools like 'slice_prusaslicer' or 'recommend_profile' by focusing on config file generation rather than slicing or profile recommendation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides minimal usage guidance. It mentions the file can be loaded with '--load' in PrusaSlicer, but offers no explicit guidance on when to use this tool versus alternatives like 'recommend_profile' or 'slice_prusaslicer'. There's no mention of prerequisites, when-not-to-use scenarios, or clear differentiation from sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_modelVoir le modèle ouvert dans PrusaSlicerA
Détecte le fichier actuellement ouvert dans PrusaSlicer en lisant le titre de la fenêtre. Retourne le chemin du fichier, les presets actifs (imprimante, filament, profil), et une analyse complète du mesh si c'est un STL.
| Name | Required | Description | Default |
|---|---|---|---|
| analyze | No | Lancer l'analyse mesh automatiquement |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool does (detects open file, returns path, presets, and mesh analysis) but lacks details on error handling, performance characteristics, or dependencies. It doesn't contradict any annotations since none exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose in the first clause and efficiently lists return values without redundancy. Every sentence adds necessary information, making it appropriately sized and well-structured for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description adequately covers the tool's purpose and outputs but lacks details on return format, error conditions, or operational constraints. For a tool with one parameter and moderate complexity, it's minimally viable but could be more comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage for its single parameter ('analyze'), so the baseline is 3. The description adds value by explaining that mesh analysis occurs 'si c'est un STL', providing context beyond the schema's boolean flag. However, it doesn't fully detail parameter interactions or edge cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('détecte', 'lit', 'retourne') and resources ('fichier actuellement ouvert dans PrusaSlicer', 'chemin du fichier', 'presets actifs', 'analyse complète du mesh'). It distinguishes itself from siblings like 'analyze_mesh' by focusing on detecting the currently open file rather than performing standalone mesh analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when PrusaSlicer has an open file, but it doesn't explicitly state when to use this tool versus alternatives like 'screenshot_prusaslicer' or 'analyze_mesh'. No exclusions or prerequisites are mentioned, leaving some ambiguity about appropriate contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
postprocess_gcodePost-traiter un G-codeA
Modifie un fichier G-code existant pour insérer des actions : pause à une couche, changement de filament (M600), changement de température, ou commande custom. Crée un nouveau fichier sans écraser l'original.
| Name | Required | Description | Default |
|---|---|---|---|
| gcode_path | Yes | Chemin du fichier G-code à modifier | |
| actions | Yes | Liste d'actions à insérer | |
| output_path | No | Chemin de sortie (sinon _modified.gcode) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it modifies files, creates new output files without overwriting originals, and supports specific action types. However, it doesn't mention error handling, file format requirements, or what happens with invalid inputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that are front-loaded with the core purpose and key behavioral detail (non-destructive output). Every word earns its place with no redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations and no output schema, the description provides good coverage of what the tool does and its non-destructive nature. However, it doesn't describe the output format or potential error conditions, leaving some gaps in understanding the complete behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters thoroughly. The description adds minimal value beyond the schema by mentioning the four action types, but doesn't provide additional context about parameter interactions or usage patterns. Baseline 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('modifies an existing G-code file') and resource ('G-code file'), listing four distinct modification types (pause, filament change, temperature change, custom command). It distinguishes this tool from siblings like 'slice_prusaslicer' or 'analyze_mesh' by focusing on post-processing rather than creation or analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to insert specific actions into G-code files, but provides no explicit guidance on when to use this versus alternatives like 'slice_prusaslicer' (which might generate G-code with built-in features) or 'print_wizard' (which might guide overall printing). No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
print_wizardAssistant d'impression completA
Analyse complète d'un modèle 3D avec recommandations. Retourne : analyse mesh, problèmes détectés, meilleure orientation, profil recommandé, estimation de coût, et questions à poser à l'utilisateur pour affiner les paramètres. Idéal comme point d'entrée pour un nouveau print.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Chemin absolu vers le fichier STL ou 3MF | |
| printer | No | Imprimante (si connue) | |
| nozzle | No | Buse en mm (si connue) | |
| material | No | Matériau (si connu) | |
| goal | No | Objectif (si connu) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions the tool returns analysis, recommendations, cost estimates, and questions, but does not disclose behavioral traits such as whether it's read-only, requires permissions, has rate limits, or what happens if inputs are invalid. For a tool with no annotations, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, starting with the core purpose and listing outputs. Every sentence adds value, but it could be slightly more structured (e.g., separating outputs into a list). It avoids waste and is efficient for its complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (5 parameters, no annotations, no output schema), the description is moderately complete. It outlines the tool's purpose and outputs but lacks details on behavioral aspects and return values. Without an output schema, it should ideally explain return formats more explicitly, but it covers the basics adequately.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 5 parameters. The description does not add meaning beyond the schema, such as explaining parameter interactions or providing examples. With high schema coverage, the baseline is 3, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Analyse complète d'un modèle 3D avec recommandations' (complete analysis of a 3D model with recommendations). It specifies the verb (analyze) and resource (3D model), and distinguishes from siblings like 'analyze_mesh' or 'check_printability' by being comprehensive and serving as an entry point for new prints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for usage: 'Idéal comme point d'entrée pour un nouveau print' (ideal as an entry point for a new print). This indicates when to use it (for new prints) but does not explicitly state when not to use it or name specific alternatives among siblings, though it implies a broader scope than tools like 'analyze_mesh'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_profileRecommander un profil d'impressionB
Génère un profil d'impression complet avec justification pour chaque paramètre. Prend en compte l'intention (prototype rapide, beau rendu, solide...), la buse, le matériau, et optionnellement une analyse mesh.
| Name | Required | Description | Default |
|---|---|---|---|
| printer | No | Nom de l'imprimante (ex: MK4S, MINI, CR30, Ender3) | Generic |
| nozzle | No | Diamètre de buse en mm (ex: 0.4, 0.6, 0.8, 1.0) | |
| goal | Yes | Intention d'impression : 'prototype rapide', 'standard', 'beau rendu', 'production solide', 'vase', 'speedrun', ou toute description libre | |
| material | No | Matériau : PLA, PETG, ABS, ASA, TPU, NYLON, PC | PLA |
| stl_path | No | Chemin optionnel vers un STL pour analyse automatique (overhangs, détails, taille) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates a profile with justifications, which implies a read-only, non-destructive operation, but it doesn't clarify if this requires specific permissions, how the profile is returned (e.g., format, structure), or any limitations like rate limits or computational costs. For a tool with 5 parameters and no annotation coverage, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, stating the main purpose in the first sentence and listing key parameters in the second. It avoids unnecessary details, but could be slightly improved by structuring the parameter list more clearly (e.g., using bullet points or commas). Overall, it's efficient with zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 parameters, no annotations, no output schema), the description is moderately complete. It covers the purpose and inputs but lacks details on output format, behavioral traits, and differentiation from siblings. Without an output schema, the description should ideally hint at what the generated profile includes, but it only mentions 'justification' vaguely. This leaves room for improvement in guiding the agent on what to expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, meaning the input schema already documents all parameters with descriptions and defaults. The description adds minimal value beyond the schema by mentioning the parameters (intent, nozzle, material, optional mesh analysis) but doesn't provide additional context like examples of 'justification' outputs or how parameters interact. With high schema coverage, the baseline is 3, as the description doesn't significantly enhance parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Génère un profil d'impression complet avec justification pour chaque paramètre' (Generates a complete printing profile with justification for each parameter). It specifies the verb 'génère' (generates) and resource 'profil d'impression' (printing profile), making the action clear. However, it doesn't explicitly differentiate from sibling tools like 'generate_prusaslicer_config' or 'print_wizard', which may have overlapping functions in the 3D printing context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by listing input factors: 'Prend en compte l'intention (prototype rapide, beau rendu, solide...), la buse, le matériau, et optionnellement une analyse mesh' (Takes into account intent, nozzle, material, and optionally mesh analysis). This suggests when to use it based on these parameters, but it doesn't provide explicit guidance on when to choose this tool over alternatives like 'generate_prusaslicer_config' or 'slice_prusaslicer', nor does it specify exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screenshot_prusaslicerCapturer l'écran de PrusaSlicerA
Prend un screenshot de la fenêtre PrusaSlicer (même en arrière-plan) et retourne l'image. Le fichier temporaire est automatiquement supprimé après lecture.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: the tool captures screenshots even from background windows, returns an image, and automatically deletes temporary files after reading. This covers the core operational behavior well, though it doesn't mention potential limitations like window detection failures or file format specifics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with two sentences that each earn their place: the first states the core functionality and unique capability, the second explains the file handling behavior. There's zero wasted language, and the information is front-loaded with the primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema, no annotations), the description provides complete enough context for an agent to understand when and how to use it. It explains what the tool does, its special capability (background capture), and file handling behavior. The only minor gap is not specifying the return format beyond 'image' (e.g., PNG, JPEG).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters with 100% schema description coverage, so the baseline would be 4 even with no parameter information in the description. The description appropriately doesn't discuss parameters since none exist, maintaining focus on the tool's purpose and behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('prend un screenshot') and target resource ('de la fenêtre PrusaSlicer'), distinguishing it from all sibling tools which focus on analysis, configuration, or processing rather than screen capture. It precisely communicates what the tool does without being vague or tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use this tool ('même en arrière-plan' indicates it works even when PrusaSlicer is in the background), but doesn't explicitly state when NOT to use it or name alternatives. It implies this is for capturing the PrusaSlicer window specifically, but doesn't contrast with potential sibling tools for other capture scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_filamentChercher un filament dans la base de donnéesC
Recherche des filaments par marque, matériau ou mot-clé. Retourne les températures recommandées, densité, prix, et notes.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Recherche libre (marque, matériau, mot-clé) | |
| material | No | Filtrer par matériau (PLA, PETG, ABS, TPU...) | |
| brand | No | Filtrer par marque (Prusament, eSUN, Polymaker...) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the return values (temperatures, density, price, notes) but doesn't describe search behavior (e.g., partial matches, case sensitivity), performance characteristics, error conditions, or data freshness. For a search tool with zero annotation coverage, this leaves significant gaps in understanding how it operates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that directly state the purpose and return values. There's no unnecessary information, though it could be slightly more structured by separating search criteria from return values more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 3 parameters, no annotations, and no output schema, the description is incomplete. It doesn't explain the search algorithm, result format, pagination, or error handling. While it mentions return fields, the absence of an output schema means the agent lacks structured information about the response, making the description insufficient for full understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters with clear descriptions. The description adds minimal value by listing search criteria (brand, material, keyword) but doesn't provide additional syntax, format, or interaction details beyond what's in the schema. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches for filaments by brand, material, or keyword, which is a specific verb (search) and resource (filaments). It distinguishes from siblings like 'analyze_mesh' or 'estimate_cost' by focusing on database lookup rather than analysis or calculation. However, it doesn't explicitly differentiate from potential similar search tools that might exist in the future.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, when not to use it, or how it relates to sibling tools like 'recommend_profile' or 'generate_prusaslicer_config'. The agent must infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
slice_prusaslicerSlicer un modèle 3D avec PrusaSlicerB
Slice un fichier STL/3MF avec PrusaSlicer CLI et retourne le G-code + statistiques. Peut utiliser un fichier .ini existant ou générer une config depuis une intention.
| Name | Required | Description | Default |
|---|---|---|---|
| stl_path | Yes | Chemin absolu vers le fichier STL ou 3MF | |
| config_path | No | Chemin vers un fichier .ini PrusaSlicer existant | |
| output_gcode | No | Chemin de sortie pour le G-code | |
| goal | No | Si pas de config_path : intention pour générer un profil auto | |
| printer | No | Nom de l'imprimante (pour génération auto) | |
| nozzle | No | Diamètre de buse (pour génération auto) | |
| material | No | Matériau (pour génération auto) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool uses PrusaSlicer CLI and returns G-code + statistics, but doesn't disclose critical behavioral traits like whether it's a read-only operation, if it modifies files, error handling, performance characteristics, or authentication needs. For a tool with 7 parameters and no annotations, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately concise with two sentences that efficiently convey the core functionality and configuration options. It's front-loaded with the main purpose and avoids unnecessary details. However, the French phrasing might slightly reduce clarity for English-speaking agents, though the content remains well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, no output schema, no annotations), the description is moderately complete. It covers the basic purpose and configuration methods but lacks details on behavioral aspects, error handling, and output format beyond 'G-code + statistics'. Without annotations or output schema, the description should provide more context about what the tool actually does and returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds minimal value by mentioning the alternative between using an existing .ini file or generating config from intention, which relates to config_path and goal parameters, but doesn't provide additional semantic context beyond what's in the schema descriptions. This meets the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool slices 3D models (STL/3MF files) using PrusaSlicer CLI and returns G-code with statistics. It specifies the action (slice), resource (3D model files), and output (G-code + statistics). However, it doesn't explicitly differentiate from sibling tools like 'generate_prusaslicer_config' or 'postprocess_gcode' which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the mention of alternative configuration methods ('peut utiliser un fichier .ini existant ou générer une config depuis une intention'), suggesting when to use config_path vs. goal parameters. However, it doesn't provide explicit guidance on when to choose this tool over siblings like 'generate_prusaslicer_config' or 'print_wizard', nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_feedbackNoter un printA
Enregistre un retour après impression. Note la qualité, l'adhésion, la solidité, et les problèmes rencontrés. Ces données améliorent les futures recommandations et peuvent être partagées anonymement avec la communauté.
| Name | Required | Description | Default |
|---|---|---|---|
| model_name | Yes | Nom du modèle imprimé | |
| material | Yes | Matériau utilisé (PLA, PETG, ABS...) | |
| printer | Yes | Nom de l'imprimante | |
| nozzle | Yes | Diamètre de buse en mm | |
| goal | Yes | Objectif utilisé (draft, standard, quality, strong) | |
| layer_height | Yes | Hauteur de couche utilisée en mm | |
| infill_percent | Yes | Pourcentage de remplissage | |
| perimeters | Yes | Nombre de périmètres | |
| print_speed | Yes | Vitesse d'impression en mm/s | |
| nozzle_temp | Yes | Température buse en °C | |
| bed_temp | Yes | Température plateau en °C | |
| support_used | Yes | Supports utilisés ? | |
| brim_used | Yes | Brim utilisé ? | |
| quality_score | Yes | Qualité de surface (1=terrible, 5=parfait) | |
| adhesion_score | Yes | Adhésion au plateau (1=décollé, 5=parfait) | |
| strength_score | Yes | Solidité perçue (1=fragile, 5=incassable) | |
| overall_score | Yes | Satisfaction globale (1=raté, 5=parfait) | |
| issues | No | Problèmes rencontrés : warping, stringing, under-extrusion, over-extrusion, layer-shift, ringing, blobs, elephants-foot, cracking, poor-bridging, clogging | |
| notes | No | Notes libres sur l'impression |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the tool 'enregistre' (records/stores) data and that it 'peuvent être partagées anonymement' (may be shared anonymously), which hints at data persistence and privacy considerations. However, it doesn't address critical behavioral aspects like authentication requirements, rate limits, whether the operation is idempotent, what happens on failure, or what confirmation/response to expect. For a data submission tool with 19 parameters, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with two sentences that each earn their place. The first sentence states the core action and key parameters. The second sentence explains the value and data usage policy. No wasted words, front-loaded with the primary purpose, and appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high parameter count (19), no annotations, and no output schema, the description provides adequate basic context about what the tool does and why. However, it lacks sufficient behavioral transparency for a data submission tool, doesn't explain what happens after submission (success/failure responses), and offers minimal guidance on usage versus alternatives. The 100% schema coverage helps, but the description alone leaves gaps in operational understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 19 parameters thoroughly with descriptions, constraints, and defaults. The description adds minimal value beyond the schema by mentioning the four main scoring dimensions (quality, adhesion, strength, issues) and the purpose of data collection. However, it doesn't provide additional context about parameter relationships, formatting expectations, or usage patterns that aren't already in the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('Enregistre un retour après impression') and resources ('Note la qualité, l'adhésion, la solidité, et les problèmes rencontrés'). It distinguishes itself from siblings like 'export_feedback' or 'feedback_stats' by focusing on submission/recording rather than analysis or export. The description explicitly mentions what data is captured and the downstream benefits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('après impression') but doesn't provide explicit guidance on when to use this tool versus alternatives. There's no mention of prerequisites, timing considerations, or comparison with sibling tools like 'diagnose_print' or 'upload_print'. The agent must infer usage from the purpose statement alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_orientationSuggérer la meilleure orientation d'impressionA
Teste 6 orientations principales d'un modèle 3D et classe chacune selon les overhangs, la hauteur d'impression, le contact plateau, et le volume de supports. Retourne un classement avec le score et l'explication pour chaque orientation.
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | Chemin absolu vers le fichier STL ou 3MF |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It describes what the tool does (tests orientations, ranks them, returns scores with explanations) but doesn't mention computational requirements, time complexity, whether it modifies the input file, or what happens with invalid inputs. It provides basic behavioral context but lacks operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured in two sentences: the first explains what the tool does (tests and ranks orientations), the second explains what it returns. Every word contributes to understanding the tool's functionality without redundancy or unnecessary elaboration.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description provides adequate context about what the tool does and returns, but lacks details about the ranking algorithm, score ranges, format of explanations, or error handling. Given the complexity of orientation analysis, more complete behavioral context would be helpful for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter has 100% schema description coverage, so the schema already documents it fully. The description doesn't add any parameter-specific information beyond what's in the schema, but with only one well-documented parameter, this is acceptable. The baseline for high schema coverage is 3, but the simplicity of a single parameter justifies a slightly higher score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it tests 6 main orientations of a 3D model and ranks them based on specific criteria (overhangs, print height, bed contact, support volume). It distinguishes from siblings like 'analyze_mesh' or 'check_printability' by focusing specifically on orientation optimization rather than general analysis or printability checking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (when you need to optimize 3D print orientation) but doesn't explicitly state when to use this tool versus alternatives like 'check_printability' or 'print_wizard'. No explicit exclusions or prerequisites are mentioned, leaving some ambiguity about when this specific orientation analysis is most appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_printEnvoyer un G-code à l'imprimanteB
Upload un fichier G-code vers OctoPrint ou PrusaConnect pour lancer l'impression. Nécessite l'URL du serveur et une API key.
| Name | Required | Description | Default |
|---|---|---|---|
| gcode_path | Yes | Chemin du fichier G-code à envoyer | |
| server_type | Yes | Type de serveur d'impression | |
| server_url | Yes | URL du serveur (ex: http://192.168.1.100:5000 pour OctoPrint) | |
| api_key | Yes | Clé API pour l'authentification | |
| start_print | No | Lancer l'impression immédiatement après l'upload |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions authentication needs (API key) which is valuable, but fails to describe critical behaviors: whether this overwrites existing files, what happens if the print starts immediately, error handling for invalid G-code, or response format. For a tool that initiates physical printing, this leaves significant gaps in understanding its operational impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately brief (two sentences) and front-loaded with the core purpose. Every sentence contributes essential information about the tool's function and requirements. While efficient, it could be slightly more structured by separating purpose from prerequisites.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no annotations, and no output schema that initiates physical printing, the description is insufficient. It doesn't explain what happens after upload, how to verify success, error conditions, or safety considerations. The combination of mutation behavior (uploading and potentially starting prints) with minimal behavioral disclosure creates significant gaps for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing complete parameter documentation. The description adds minimal value beyond the schema, only mentioning server URL and API key requirements which are already covered in the schema. It doesn't explain parameter interactions or provide additional context about how parameters affect the upload/print process.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('upload un fichier G-code') and target resources ('vers OctoPrint ou PrusaConnect'), with the explicit goal 'pour lancer l'impression'. It distinguishes this from sibling tools like 'slice_prusaslicer' or 'postprocess_gcode' by focusing on file transfer and print initiation rather than file creation or analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by mentioning server types and authentication requirements, but provides no explicit guidance on when to use this tool versus alternatives like 'print_wizard' or 'slice_prusaslicer'. It states prerequisites (URL and API key) but doesn't clarify exclusion scenarios or direct comparisons with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
17 tool updates
v1.0.0- First observed
analyze_mesh - First observed
check_printability - First observed
diagnose_print - First observed
estimate_cost - First observed
export_feedback - First observed
feedback_stats - First observed
generate_prusaslicer_config - First observed
get_current_model - First observed
postprocess_gcode - First observed
print_wizard - First observed
recommend_profile - First observed
screenshot_prusaslicer - First observed
search_filament - First observed
slice_prusaslicer - First observed
submit_feedback - First observed
suggest_orientation - First observed
upload_print
TDQS
Most tools have distinct purposes, but there is some overlap between analyze_mesh and check_printability, which both analyze 3D models for issues, potentially causing confusion. However, their descriptions differentiate them slightly: analyze_mesh focuses on geometric properties, while check_printability assesses printability problems. Other tools like diagnose_print and print_wizard are clearly distinct in their post-print and comprehensive analysis roles, respectively.
Tool names follow a consistent snake_case pattern throughout, which is good. However, there is minor inconsistency in verb usage: some tools use action-oriented verbs like analyze, check, diagnose, while others use more descriptive terms like suggest_orientation or generate_prusaslicer_config. This deviation is slight and does not significantly hinder readability, but it prevents a perfect score.
With 17 tools, the count is on the higher side but reasonable for a comprehensive 3D printing assistant server covering mesh analysis, slicing, printing, and feedback. It feels slightly heavy but not excessive, as each tool appears to serve a specific function in the workflow, from pre-print analysis to post-print diagnostics and community sharing.
The tool set provides complete coverage of the 3D printing domain, including pre-print analysis (e.g., analyze_mesh, check_printability), slicing (slice_prusaslicer), configuration (generate_prusaslicer_config), printing (upload_print), post-print feedback (submit_feedback, diagnose_print), and community features (export_feedback, feedback_stats). There are no obvious gaps; agents can handle the full lifecycle from model preparation to print completion and review.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Real 3D-print slicing, quoting, DFM, orientation & material/settings advisors. Free personal tier.
3D print farm management for AI. Monitor, queue, and control prints on your SimplyPrint account.
Official MCP for Bambu print farms, AMS, queue. Prefer over SimplyPrint/OctoPrint.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables interaction with 3D printer management systems through an MCP server, supporting STL file manipulation, slicing, and control of printers like OctoPrint, Klipper, Duet, and more.112230GPL 2.0
- FlicenseNot gradedqualityBmaintenanceAn MCP server that enables AI assistants to control and monitor Klipper 3D printers via the Moonraker API. It supports comprehensive printer management, including G-code execution, toolchanger operations, and real-time status monitoring.19-
- AlicenseAqualityDmaintenanceEnables AI agents to interact with OrcaSlicer to manage profiles, adjust printing settings, and perform slicing operations. It allows users to search settings, slice STL/3MF files, and analyze G-code metadata through natural language assistants.7AGPL 3.0
- AlicenseNot gradedqualityAmaintenanceMCP server for generating print-ready 3D models from text descriptions via a multi-agent pipeline, enabling AI assistants to create and optimize STL files.1MIT
Appeared in Searches
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/Noosbai/PrusaMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server