MCP Overview
The Print Hive MCP server lets AI assistants and automation clients connect to authorized print farm context through the Model Context Protocol. The current server registers 83 tools: 37 Hex-visible read tools, 2 Hex-visible library writes, 9 Hex-visible approval-gated actions, and 35 broader server tools that are available only to appropriately scoped non-Hex MCP clients.
Why MCP for Print Farms?
- Current farm context — Hex can re-read printers, jobs, queues, materials, network health, and recommendation receipts before answering.
- Operator-safe actions — Hex can request narrow actions such as guided filament rotation only after explicit operator approval.
- Scoped integrations — API keys can be limited to read, control, or dangerous tool tiers.
- Developer workflows — Claude Code, Claude Desktop, Codex, Cursor, ChatGPT, Grok Bot, and custom MCP clients can use the same documented endpoint.
Base URL
https://api.printhiv3d.com/v1/mcpThe server uses the Streamable HTTP transport (MCP spec 2025-03-26). All communication happens on the single endpoint above via POST, GET, and DELETE.
Authentication and Scopes
The MCP server supports three authentication methods:
- OAuth — Recommended for Claude Code, Claude Desktop, Codex, Cursor, ChatGPT, Grok Bot, and other public connectors. OAuth uses authorization discovery, binds the connection to the user's selected organization, and grants only the approved Print Hive scopes.
- API Key — Send the
x-api-keyheader with your organization API key for a private, operator-managed integration. API keys are evaluated againstread,control, anddangerousscopes. Empty or legacy scope arrays default toread. - Bearer Token — Send
Authorization: Bearer <token>with a valid Supabase JWT. User sessions are revalidated against the active organization.
Hex Agent uses a user-scoped Bearer connection plus an allow-list. Read tools dispatch immediately. The five mutating tools visible to Hex are parked behind per-action approval. Broad printer control, hardware control, file write, raw G-code, temperature, and stop-print tools are not exposed to Hex.
Tool Reference
Current registered tools, grouped by operational area. The Scope column is the MCP server authorization tier. The Hex access column shows what the Print Hive Smart Assistant can see.
Fleet and printer state
Read printer inventory, live state, AMS/extruder state, local files, and temperature telemetry.
printers_listRead-onlyList printers in the organization, including connectivity (`offline` / `is_connected`) and print activity (`status`).
printers_queryRead-onlySelect printers by safe criteria such as status, ready verification, bed-clear verification, no AMS, and not locked.
printer_requirementsNot exposed to HexReturn generic connection slots (secret, identifier, host, port) for a printer brand and model. Does not write. Does not accept vendor column names. Unknown types are not defaulted to Bambu.
printer_live_statusRead-onlyGet real-time printer state including temperatures, progress, speeds, fans, and AMS data.
printer_research_planNot exposed to HexResolve the current organization-scoped printer identity and checked-in motion profile, then return a read-only camera-coverage proposal when `recipe` is `camera_coverage` or omitted. The tool sends no hold, release, capture, or printer command and does not prove clearance, homing, plate state, or current Z.
printer_amsRead-onlyGet Bambu AMS tray state or Snapmaker/Klipper toolchanger extruder state, including material, color, and remaining amount.
printer_filament_stateRead-onlyRead the current Guided Filament Rotation lifecycle state for a printer.
narrated_filament_load_previewRead-onlyResolve narrated filament assignment intent to a visible printer, Bambu AMS slot, and existing catalog candidate without changing Hive or claiming physical loading.
printer_filesRead-onlyList 3MF files stored on a connected printer and available for printing.
printer_file_task_statusRead-onlyCheck the status of an asynchronous printer file upload or delete task.
telemetry_temperaturesRead-onlyGet temperature telemetry for a specific print job, in chronological order (at most 500 samples). Sets `truncated` when the print ran past the cap, so a clipped series is never mistaken for the whole print — `returned_sample_count` counts the samples in that response and is never a total for the job.
Jobs, queue, compatibility, and risk
Read print job records, history, schedulability, risk, and model-file printer compatibility.
jobs_listRead-onlyList one page of print jobs in the organization, newest first (at most 200), optionally filtered by status or printer. Sets `jobs_truncated` when older matching jobs were left out, so a page is never mistaken for the whole queue or used as a job count — `queue_health` owns queue totals.
jobs_getRead-onlyGet detailed information about a specific print job.
jobs_historyRead-onlyGet event history for a specific print job.
queue_healthRead-onlySummarize queued jobs, schedulable jobs, and idle or soon-available printers with nothing compatible queued.
jobs_at_riskRead-onlyFind active print jobs that are busy but not productively progressing, such as paused, failed, stalled, or overrunning jobs.
model_file_compatible_printersRead-onlyRank printers by how well each can run a given model file, including model and filament compatibility evidence.
production_promise_advisorRead-onlyForecast whether proposed or existing production work is safe to promise using capacity, queue, material, printer, and risk evidence without mutating production state.
smart_queue_intervention_planRead-onlyReturn ranked observe-mode Smart Queue intervention bundles with operator actions, evidence, and expected impact without mutating farm state.
failure_patternsRead-onlyAnalyze recurring print failures by printer, job, model file, material, spool, and reason so Hex can answer reliability and root-cause questions without implying automatic controls.
print_job_resource_searchRead-onlySearch organization-scoped models, model files, printers, materials, and makes. Models and materials include a uniqueness match so close scores are not picked in silence.
Farm intelligence
Higher-level operating summaries for utilization, downtime, throughput, maintenance, material runway, network health, and session review.
farm_utilizationRead-onlyReport fleet and per-printer utilization over a time window with idle-reason attribution.
farm_playbookRead-onlyReturn a prioritized action list that synthesizes utilization, risk, queue health, and network health.
printer_downtimeRead-onlyShow per-printer idle gaps between jobs, ordered worst-first by idle time.
material_runwayRead-onlyPredict filament runout risk by comparing loaded AMS material against upcoming job requirements.
throughput_reportRead-onlyReport per-printer and fleet throughput, completed jobs, success rate, duration, filament use, and failure reasons.
session_summaryRead-onlySummarize a bounded operator session or shift, including starts, resumes, cleared errors, and utilization change.
network_healthRead-onlyDiagnose why printers are unreachable on the local network, including host-side evidence and possible IP drift.
maintenance_debtRead-onlySummarize due and overdue maintenance tasks by printer, priority, severity, task definition, current condition, health signals, freshness, and warnings.
maintenance_service_planRead-onlyPlan downtime-aware maintenance service windows for what to service now, next idle window, or defer cautiously without mutating production state.
Assistant and operator context
Read Hex-related settings, recommendation follow-through, and human-authored shop-floor annotations.
assistant_settings_statusRead-onlyRead sanitized briefing and at-risk alert settings, schedules, thresholds, notification runs, and recent delivery failures.
assistant_capabilities_statusRead-onlyRead sanitized Hex capability statuses, reason codes, remediation targets, and prompt suggestions for the active organization.
assistant_recommendation_receiptsRead-onlyRead durable recommendation receipts so Hex can answer what is still open, completed, assigned, or dismissed.
operator_annotationsRead-onlyRead active human-authored operational context such as avoided printers, reservations, suspect spools, and handoff notes.
operator_annotation_previewRead-onlyResolve and preview one temporary farm, printer, print-job, or material annotation without changing active operating context.
action_items_listRead-onlyRead the prioritized operator action feed (the same ActionItem envelope the web feed uses) to answer "what should I do next?", render Hex action cards, or inspect current blockers.
operator_dispatch_queueRead-onlyRead the operator-aware dispatch queue, including personal assignments, unassigned work, stale assignments, and blocked task eligibility.
Hex approval-gated actions
Narrow production actions that Hex may request only behind explicit operator approval.
eve_operation_proposeRead-onlyStore a server-owned, versioned Hex operation proposal without executing it or returning its private normalized payload. The app later verifies and decides by proposal id/version only.
operator_annotation_applyApproval-gatedCreate, revise, or resolve one server-stored temporary operator annotation proposal after explicit approval; replay returns the same receipt.
narrated_filament_load_confirmApproval-gatedRecord one narrated filament assignment intent in Hive after explicit operator approval. It updates assignment metadata only and does not physically load filament or move hardware.
filament_loadApproval-gatedLoad filament from an AMS tray into the extruder after re-validating printer eligibility.
filament_unloadApproval-gatedUnload the currently loaded filament from the extruder after eligibility checks and explicit confirmation.
filament_acknowledgeApproval-gatedSend the Bambu acknowledgment that completes a Guided Filament Rotation load prompt.
filament_assign_slotsApproval-gatedSync Hive filament slot assignments to a printer's AMS metadata — the control action behind filament-blocked action cards; records the loaded spool mapping and sends AMS settings to the printer.
job_createApproval-gatedCreate a queued Hive print job after explicit approval. This queues the job record only; it does not start physical printing.
job_duplicate_last_on_printerApproval-gatedDuplicate the latest terminal Hive Cloud print job assigned to a printer and queue it for the same printer.
printers_set_readyApproval-gatedMark explicitly named printers ready as an operator override. Resolve a set with printers_query first so the approval prompt can enumerate every printer being changed.
Library, inventory, and Makes
Manage organization-scoped model metadata, model files, filament catalog entries, stock, Inventory Orders, and reusable Makes.
platform_linksNot exposed to HexReturn trusted Print Hive web destinations for signup, printer credential entry, and binary model-file uploads.
models_listNot exposed to HexList active organization models with metadata, tags, and visibility.
model_files_listNot exposed to HexList organization-scoped model files, optionally for one model.
materials_listNot exposed to HexList global and organization-owned filament materials.
parts_listNot exposed to HexList Parts (farm hardware and spares). These are not filament materials. Diameter is not used.
material_from_product_urlRead-onlyParse a filament product page URL into brand, product name, color, and material type, then match the existing filament catalog. confirm imports an Organization Filament. Missing required fields fail closed.
inventory_listNot exposed to HexList filament inventory with material details and low-stock state.
inventory_orders_listNot exposed to HexList organization Inventory Orders for filament and Parts bought from vendors. Status pending means ordered or incoming.
inventory_orders_getNot exposed to HexGet one Inventory Order and its filament and Part lines in the authenticated organization.
makes_listNot exposed to HexList Makes and their linked model files.
model_createNot exposed to HexCreate confirmed model metadata from an external source.
material_createNot exposed to HexCreate a confirmed Organization Filament. Color is hex RGB stored as #RRGGBB. Finish is standard, matte, or silk.
part_createNot exposed to HexCreate a confirmed organization-owned Part catalog item for farm hardware or spares. Diameter is not accepted. Does not add stock.
material_updateNot exposed to HexUpdate a confirmed Organization Filament (hex color, finish, SKU, name, brand, material type, diameter, ASIN). Color is hex RGB stored as #RRGGBB. Finish is standard, matte, or silk. SKU must be unique. Global Filament rows are read-only. Inventory item ids stay the same. Illegal calls: confirm false, empty update, display-name color, translucent finish, raw metadata bag, a Global Filament id.
inventory_adjustNot exposed to HexAtomically add or remove confirmed stock and record an audit transaction.
inventory_order_createNot exposed to HexRecord a confirmed vendor purchase of filament, Parts, or both as a pending Inventory Order. Filament lines use materialId and weightPerUnit in grams. Part lines use kind=part and partId. Reuse orderId for retries. Does not add stock.
make_createDirect writeCreate a confirmed Make linked to validated organization model files, optional named filament slots, and SKU.
model_file_uploadDirect writeAttach a .3mf onto an existing library Model using the same upload intent, signed PUT URL, finalize RPC, and processing worker as the web uploader. Does not send files to printers.
Cloud Slice
Create and read Cloud Slice Requests. Slicing a file is not starting a printer. These tools are not on the Hex or Eve allow-lists.
slice_profiles_listNot exposed to HexList Cloud Slice printer, filament, and process profiles in the authenticated organization. Does not start a printer.
slice_request_getNot exposed to HexRead one Cloud Slice Request by id. Returns phase, quality, and the published Model File id when complete.
slice_request_listNot exposed to HexList Cloud Slice Requests for the authenticated organization. Paginated. Does not start a printer.
slice_request_createNot exposed to HexCreate a Cloud Slice Request from a library source file and profile ids. Requires confirm=true. Slices in the cloud. Does not start a printer or send G-code.
slice_request_cancelNot exposed to HexCancel one Cloud Slice Request that is not yet terminal. Requires confirm=true. Does not stop a printer.
Server control tools not exposed to Hex
These are registered by the MCP server for scoped integrations, but Hex intentionally cannot see them.
job_startNot exposed to HexRequest confirmed dispatch of a queued, assigned job through the canonical atomic start flow.
print_pauseNot exposed to HexPause the currently running print job.
print_resumeNot exposed to HexResume a paused print job.
print_set_speedNot exposed to HexSet print speed to silent, normal, sport, or ludicrous.
hardware_lightNot exposed to HexTurn the chamber or work light on or off.
hardware_fanNot exposed to HexSet part cooling, auxiliary, or chamber fan speed from 0 to 100 percent.
hardware_homeNot exposed to HexHome all axes. This should not be used while printing.
hardware_auto_levelNot exposed to HexRun automatic bed leveling. This should not be used while printing.
printer_file_uploadNot exposed to HexUpload a model file from the library to a printer as an asynchronous task.
printer_file_deleteNot exposed to HexDelete a file from a printer as an asynchronous task.
Dangerous server tools not exposed to Hex
These require dangerous scope for non-Hex MCP clients and are intentionally absent from Hex.
print_stopNot exposed to HexCancel or stop the current print job. This action cannot be undone.
temperature_setNot exposed to HexSet nozzle or bed temperature directly, including an extruder selector for multi-extruder printers.
gcode_sendNot exposed to HexExecute raw G-code commands on the printer.
Client Setup Guides
The official Claude Code marketplace is published at PrintHive/print-hive-plugins. Cursor has a real one-click install deeplink. Claude Desktop, Codex, ChatGPT, and Grok Bot use their documented setup paths — no invented install buttons.
How It Works
When a client connects to the Print Hive MCP server, it receives the tools available to that connection and their schemas. Tool handlers authenticate the request, bind it to the active organization, enforce the required scope, and then execute through the same Print Hive API and Pulse/HiveLink trust boundary used by the product.
Live printer operations are routed through the Pulse WebSocket relay to the local HiveLink instance, which communicates with printers on the local network. Database-backed reads such as jobs, queue state, recommendation receipts, operator annotations, and telemetry are read through org-scoped backend services.