PrusaMCP
An intelligent 3D printing assistant that enables users to analyze meshes, generate optimal print profiles, and automate PrusaSlicer operations through an MCP client. It provides a comprehensive suite of tools for geometric analysis, printability checks, filament recommendations, and post-print diagnostics.
README
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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.