# PrintPal

> 3D printing: printable models, calculators, troubleshooting wiki, build guides, AI 3D + CAD design.

- name: io.printpal/printpal
- version: 1.0.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 100/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.printpal%2Fprintpal
- tools: https://api.protogrid.dev/v1/servers/io.printpal%2Fprintpal/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "printpal": {
      "type": "http",
      "url": "https://printpal.io/mcp",
      "headers": {
        "Authorization": "Bearer ${PRINTPAL_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${PRINTPAL_TOKEN}`.

## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-4d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 100/100 (new)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 16 of 16 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,465 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 3 of the 7 days needed

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 16, about 3,465 tokens to load them all
- tool set hash: 1194f09edff7c2fe285711a1779581c6
- tools last changed: 2026-10-17T04:47:11.132Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.printpal/printpal.svg)](https://protogrid.dev/servers/io.printpal/printpal)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-17 `generate_3d_model` changed (description)
  - before: Turn a text prompt or an image into a print-ready 3D mesh with PrintPal's AI generator. Without a PrintPal API key this returns a link that opens the generator with the prompt prefilled (free tier includes monthly generations; sign-up takes seconds). With an API key header (`Authorization: Bearer pp_live_…`) it submits the job, spends credits, and returns a `generation_uid` to poll with `check_3d_generation`. Best for organic/sculptural objects (figurines, animals, props). For exact-dimension mechanical parts use `design_parametric_cad`.
  - after: Turn a text prompt or an image into a print-ready 3D mesh (STL/GLB/OBJ geometry) with PrintPal's AI generator. Without a PrintPal API key this returns a link that opens the generator on printpal.io with the prompt prefilled; nothing is generated until the user clicks it. With an API key header (`Authorization: Bearer pp_live_…`) it submits the job to the user's own account, spends that account's credits, and returns a `generation_uid` that `check_3d_generation` accepts. Suited to organic/sculptural objects (figurines, animals, props); exact-dimension mechanical parts are handled by `design_parametric_cad`.
- 2026-10-17 `search_learning_resources` changed (description)
  - before: Search PrintPal's how-to content: the vendor-neutral 3D printing wiki (print quality, filaments, slicer settings, maintenance, error codes, safety), OpenSCAD + AI-CAD docs, short video tutorials with transcripts, and free Academy courses with certificates. Use `type` to narrow. Pair with `fetch` to read an article in full before answering.
  - after: Search PrintPal's how-to content: the vendor-neutral 3D printing wiki (print quality, filaments, slicer settings, maintenance, error codes, safety), OpenSCAD + AI-CAD docs, short video tutorials with transcripts, and free Academy courses with certificates. Use `type` to narrow. Results include ids accepted by `fetch` for the full article text.
- 2026-10-17 `get_3d_model` changed (description)
  - before: Get full details for one PrintPal model by uid: description, license, file formats, author, stats, and the page URL to download it. Use after `search_3d_models` when the user picks one.
  - after: Get full details for one PrintPal model by uid: description, license, file formats, author, stats, and the page URL to download it. Accepts a uid from `search_3d_models` results or a printpal.io/model/<uid> URL.
- 2026-10-17 `search_3d_models` changed (description)
  - before: Find printable 3D models (STL/3MF/OBJ) in the PrintPal community library by keyword — e.g. "articulated dragon", "headphone stand", "Raspberry Pi 5 case". Returns cards with thumbnail, author, tags, likes and a link to the model page where the files can be downloaded. If nothing fits, suggest `generate_3d_model` (AI mesh) or `design_parametric_cad` (exact dimensions).
  - after: Find printable 3D models (STL/3MF/OBJ) in the PrintPal community library by keyword — e.g. "articulated dragon", "headphone stand", "Raspberry Pi 5 case". Returns cards with thumbnail, author, tags, likes and a link to the model page where the files can be downloaded. Searches existing uploads only; new models are made by `generate_3d_model` (AI mesh) or `design_parametric_cad` (exact dimensions).
- 2026-10-17 `search` changed (description)
  - before: Search everything on PrintPal for a 3D-printing query: community 3D models, free tools and calculators, wiki troubleshooting articles, OpenSCAD/AI-CAD docs, video tutorials, build guides and Academy courses. Returns ids you can pass to `fetch` for the full content. Use this first for general 3D printing questions ("why is my first layer not sticking", "PETG temperature", "3D printed phone stand").
  - after: Search everything on PrintPal for a 3D-printing query: community 3D models, free tools and calculators, wiki troubleshooting articles, OpenSCAD/AI-CAD docs, video tutorials, build guides and Academy courses. Returns ids accepted by `fetch` for the full content. Suited to general 3D printing questions such as "why is my first layer not sticking", "PETG temperature" or "3D printed phone stand".

Full history: https://api.protogrid.dev/v1/servers/io.printpal%2Fprintpal/changes

## Remotes

- https://printpal.io/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (16)

- `calculate_filament_usage`: Convert filament grams to metres (and back), compute volume and cost, and estimate how much is left on a spool from its gross weight. Knows densities for PLA, PETG, ABS, ASA, TPU, Nylon, PC, CF blends. Give either `grams` or `meters`.
- `calculate_layer_heights`: Compute the Z-axis "magic number" layer heights for a printer from its stepper step angle, microstepping and lead-screw pitch/starts, filtered to what suits the nozzle. Defaults match most Ender/Prusa-style printers (1.8°, 1/16, T8 2 mm × 4 starts → 0.04 mm steps).
- `calculate_print_cost`: Estimate what an FDM print costs (material, electricity, machine wear, labor, failure allowance) and a suggested selling price. Needs the print weight in grams and time in hours from the slicer; all other inputs have sensible defaults (1 kg spool at $20, 120 W printer, $0.12/kWh, 5% failures).
- `calculate_volumetric_flow`: Check whether a hotend can keep up: volumetric flow (mm³/s) = layer height × line width × speed, compared against the hotend limit, plus the maximum safe speed. Accepts a hotend preset name (stock, v6, bambu, volcano, rapido, high-flow, goliath…) or an explicit max flow.
- `check_3d_generation`: Poll a PrintPal AI generation started with `generate_3d_model` in API-key mode. Returns status (queued/processing/completed/failed) and, when completed, a time-limited download URL for the mesh.
- `design_parametric_cad`: For mechanical / functional parts with exact dimensions — brackets, enclosures, adapters, gears, bins, knobs, mounts — open PrintPal's AI CAD agent with a ready-to-run brief. The agent writes editable OpenSCAD with parameter sliders, live 3D preview and STL/3MF/STEP export. This tool improves the user's description into a precise CAD brief (dimensions, tolerances, mounting, print orientation) and returns the link; the user clicks it to generate.
- `fetch`: Fetch the full content of a PrintPal item returned by `search` (or any id of the form `model:<uid>`, `tool:<slug>`, `wiki:<slug>`, `doc:<slug>`, `resource:<slug>`, `project:<slug>`, `course:<slug>`). Returns the complete text (article body, transcript, build steps, BOM, model description and files) plus the canonical URL for citation.
- `find_3d_printing_tool`: Recommend the right free PrintPal browser tool for a task: print cost / resin cost / layer height (magic numbers) / E-steps / flow rate / volumetric flow / filament spool / drying / shrinkage / Vref / Etsy profit calculators; generators for lithophanes, vases, name plates, 3D text, QR codes, bins, puzzles, mold boxes, flexi models, fidget clickers, Desk Pal, terrain maps, Minecraft maps; mesh repair, model splitter, converter, viewer, G-code viewer, AMS/multicolor painters; AI generators. Returns matching tools with links. Pass an empty task to list every tool.
- `generate_3d_model`: Turn a text prompt or an image into a print-ready 3D mesh (STL/GLB/OBJ geometry) with PrintPal's AI generator. Without a PrintPal API key this returns a link that opens the generator on printpal.io with the prompt prefilled; nothing is generated until the user clicks it. With an API key header (`Authorization: Bearer pp_live_…`) it submits the job to the user's own account, spends that account's credits, and returns a `generation_uid` that `check_3d_generation` accepts. Suited to organic/sculptural objects (figurines, animals, props); exact-dimension mechanical parts are handled by `design_parametric_cad`.
- `get_3d_model`: Get full details for one PrintPal model by uid: description, license, file formats, author, stats, and the page URL to download it. Accepts a uid from `search_3d_models` results or a printpal.io/model/<uid> URL.
- `get_build_guide`: Read a full PrintPal build guide by slug: summary, bill of materials with quantities and links, downloadable files (STL/3MF/code), every build step, callouts and code blocks. Use when the user wants to actually follow or adapt a project.
- `get_pricing_and_plans`: Explain what is free on PrintPal, how AI generation credits and the CAD agent are priced, API access and the on-demand 3D printing service — with links to sign up, buy credits or subscribe. Call when the user asks about cost, limits, subscriptions or how to get more generations.
- `search`: Search everything on PrintPal for a 3D-printing query: community 3D models, free tools and calculators, wiki troubleshooting articles, OpenSCAD/AI-CAD docs, video tutorials, build guides and Academy courses. Returns ids accepted by `fetch` for the full content. Suited to general 3D printing questions such as "why is my first layer not sticking", "PETG temperature" or "3D printed phone stand".
- `search_3d_models`: Find printable 3D models (STL/3MF/OBJ) in the PrintPal community library by keyword — e.g. "articulated dragon", "headphone stand", "Raspberry Pi 5 case". Returns cards with thumbnail, author, tags, likes and a link to the model page where the files can be downloaded. Searches existing uploads only; new models are made by `generate_3d_model` (AI mesh) or `design_parametric_cad` (exact dimensions).
- `search_build_guides`: Find step-by-step PrintPal build guides: Arduino/ESP32 electronics + 3D-printed enclosures, robots, functional prints, printer mods, STEM classroom projects, props and toys. Each result lists difficulty, time, cost, part/file/step counts. Filter by category (electronics-robotics, functional-prints, home-workshop, stem-education, printer-mods, art-props, toys-games) or difficulty (beginner, intermediate, advanced). Leave query empty to browse featured guides.
- `search_learning_resources`: Search PrintPal's how-to content: the vendor-neutral 3D printing wiki (print quality, filaments, slicer settings, maintenance, error codes, safety), OpenSCAD + AI-CAD docs, short video tutorials with transcripts, and free Academy courses with certificates. Use `type` to narrow. Results include ids accepted by `fetch` for the full article text.
