MCP Server intelligent pour PrusaSlicer — 17 tools, moteur de recommandation Bible FDM, analyse mesh, diagnostic défauts
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
Tools
Analysis & Recommendation (no PrusaSlicer needed)
| Tool | Description |
|------|-------------|
| analyze_mesh | Geometric analysis of STL/3MF (dimensions, volume, overhangs, manifold) |
| check_printability | Issue detection: thin walls, bridges, overhangs, stability |
| suggest_orientation | Test 6 orientations with scoring (overhangs, height, adhesion) |
| recommend_profile | Full profile recommendation with per-setting justification |
| generate_prusaslicer_config | Generate PrusaSlicer-compatible .ini file |
| estimate_cost | Cost estimate (filament + electricity) and print time |
| search_filament | Search filament database (30+ entries) |
| print_wizard | All-in-one: analysis + printability + orientation + profile + questions |
| diagnose_print | Post-print diagnosis (warping, stringing, under-extrusion...) |
PrusaSlicer Integration
| Tool | Description |
|------|-------------|
| slice_prusaslicer | Run slicing via CLI with G-code stats |
| get_current_model | Get the model currently open in PrusaSlicer |
| screenshot_prusaslicer | Capture PrusaSlicer window (even in background) |
| postprocess_gcode | G-code post-processing (pause, filament change, etc.) |
| upload_print | Upload to OctoPrint / Prusa Connect |
Feedback & Community
| Tool | Description |
|------|-------------|
| submit_feedback | Submit print feedback after printing |
| feedback_stats | Feedback statistics by material/goal |
| export_feedback | Anonymized community data export |
Installation
git clone https://github.com/Noosbai/PrusaMCP.git
cd PrusaMCP
npm install
npm run build
Configuration
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 |
|----------|-------------|---------|
| PRUSASLICER_PATH | Path to prusa-slicer-console.exe | Auto-detected |
| PRUSASLICER_PROFILES_DIR | PrusaSlicer profiles folder | %APPDATA%/PrusaSlicer |
| OCTOPRINT_URL | Your OctoPrint instance URL | — |
| OCTOPRINT_API_KEY | OctoPrint API key | — |
Usage
Typical Workflow
- Analyze a model:
analyze_meshto get dimensions, overhangs, etc. - Check printability:
check_printabilityto detect potential issues - Get a recommendation:
recommend_profilewith your goal (draft, standard, quality, strong, speed) - Generate config:
generate_prusaslicer_configfor a ready-to-use .ini - Slice:
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 |
|------|-------------|
| draft / prototype | Fast, quality secondary |
| standard | Good quality/time balance |
| quality / fine | Smooth surface, fine details |
| strong / structural | Maximum mechanical strength |
| vase | Spiral vase mode |
| speed | 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.ts
Requirements
- Node.js >= 18
- PrusaSlicer (optional — only needed for slice, screenshot, get_current_model)
- Windows for screenshot feature (uses PrintWindow API)
License
MIT