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/mcp

The 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-key header with your organization API key for a private, operator-managed integration. API keys are evaluated against read, control, and dangerous scopes. Empty or legacy scope arrays default to read.
  • 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-only
read

List printers in the organization, including connectivity (`offline` / `is_connected`) and print activity (`status`).

printers_queryRead-only
read

Select printers by safe criteria such as status, ready verification, bed-clear verification, no AMS, and not locked.

printer_requirementsNot exposed to Hex
read

Return 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-only
read

Get real-time printer state including temperatures, progress, speeds, fans, and AMS data.

printer_research_planNot exposed to Hex
read

Resolve 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-only
read

Get Bambu AMS tray state or Snapmaker/Klipper toolchanger extruder state, including material, color, and remaining amount.

printer_filament_stateRead-only
read

Read the current Guided Filament Rotation lifecycle state for a printer.

narrated_filament_load_previewRead-only
read

Resolve narrated filament assignment intent to a visible printer, Bambu AMS slot, and existing catalog candidate without changing Hive or claiming physical loading.

printer_filesRead-only
read

List 3MF files stored on a connected printer and available for printing.

printer_file_task_statusRead-only
read

Check the status of an asynchronous printer file upload or delete task.

telemetry_temperaturesRead-only
read

Get 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-only
read

List 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-only
read

Get detailed information about a specific print job.

jobs_historyRead-only
read

Get event history for a specific print job.

queue_healthRead-only
read

Summarize queued jobs, schedulable jobs, and idle or soon-available printers with nothing compatible queued.

jobs_at_riskRead-only
read

Find active print jobs that are busy but not productively progressing, such as paused, failed, stalled, or overrunning jobs.

model_file_compatible_printersRead-only
read

Rank printers by how well each can run a given model file, including model and filament compatibility evidence.

production_promise_advisorRead-only
read

Forecast 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-only
read

Return ranked observe-mode Smart Queue intervention bundles with operator actions, evidence, and expected impact without mutating farm state.

failure_patternsRead-only
read

Analyze 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-only
read

Search 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-only
read

Report fleet and per-printer utilization over a time window with idle-reason attribution.

farm_playbookRead-only
read

Return a prioritized action list that synthesizes utilization, risk, queue health, and network health.

printer_downtimeRead-only
read

Show per-printer idle gaps between jobs, ordered worst-first by idle time.

material_runwayRead-only
read

Predict filament runout risk by comparing loaded AMS material against upcoming job requirements.

throughput_reportRead-only
read

Report per-printer and fleet throughput, completed jobs, success rate, duration, filament use, and failure reasons.

session_summaryRead-only
read

Summarize a bounded operator session or shift, including starts, resumes, cleared errors, and utilization change.

network_healthRead-only
read

Diagnose why printers are unreachable on the local network, including host-side evidence and possible IP drift.

maintenance_debtRead-only
read

Summarize due and overdue maintenance tasks by printer, priority, severity, task definition, current condition, health signals, freshness, and warnings.

maintenance_service_planRead-only
read

Plan 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-only
read

Read sanitized briefing and at-risk alert settings, schedules, thresholds, notification runs, and recent delivery failures.

assistant_capabilities_statusRead-only
read

Read sanitized Hex capability statuses, reason codes, remediation targets, and prompt suggestions for the active organization.

assistant_recommendation_receiptsRead-only
read

Read durable recommendation receipts so Hex can answer what is still open, completed, assigned, or dismissed.

operator_annotationsRead-only
read

Read active human-authored operational context such as avoided printers, reservations, suspect spools, and handoff notes.

operator_annotation_previewRead-only
read

Resolve and preview one temporary farm, printer, print-job, or material annotation without changing active operating context.

action_items_listRead-only
read

Read 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-only
read

Read 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-only
read

Store 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-gated
control

Create, revise, or resolve one server-stored temporary operator annotation proposal after explicit approval; replay returns the same receipt.

narrated_filament_load_confirmApproval-gated
control

Record 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-gated
control

Load filament from an AMS tray into the extruder after re-validating printer eligibility.

filament_unloadApproval-gated
control

Unload the currently loaded filament from the extruder after eligibility checks and explicit confirmation.

filament_acknowledgeApproval-gated
control

Send the Bambu acknowledgment that completes a Guided Filament Rotation load prompt.

filament_assign_slotsApproval-gated
control

Sync 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-gated
control

Create 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-gated
control

Duplicate the latest terminal Hive Cloud print job assigned to a printer and queue it for the same printer.

printers_set_readyApproval-gated
control

Mark 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 Hex
read

Return trusted Print Hive web destinations for signup, printer credential entry, and binary model-file uploads.

models_listNot exposed to Hex
read

List active organization models with metadata, tags, and visibility.

model_files_listNot exposed to Hex
read

List organization-scoped model files, optionally for one model.

materials_listNot exposed to Hex
read

List global and organization-owned filament materials.

parts_listNot exposed to Hex
read

List Parts (farm hardware and spares). These are not filament materials. Diameter is not used.

material_from_product_urlRead-only
read

Parse 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 Hex
read

List filament inventory with material details and low-stock state.

inventory_orders_listNot exposed to Hex
read

List organization Inventory Orders for filament and Parts bought from vendors. Status pending means ordered or incoming.

inventory_orders_getNot exposed to Hex
read

Get one Inventory Order and its filament and Part lines in the authenticated organization.

makes_listNot exposed to Hex
read

List Makes and their linked model files.

model_createNot exposed to Hex
control

Create confirmed model metadata from an external source.

material_createNot exposed to Hex
control

Create a confirmed Organization Filament. Color is hex RGB stored as #RRGGBB. Finish is standard, matte, or silk.

part_createNot exposed to Hex
control

Create a confirmed organization-owned Part catalog item for farm hardware or spares. Diameter is not accepted. Does not add stock.

material_updateNot exposed to Hex
control

Update 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 Hex
control

Atomically add or remove confirmed stock and record an audit transaction.

inventory_order_createNot exposed to Hex
control

Record 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 write
control

Create a confirmed Make linked to validated organization model files, optional named filament slots, and SKU.

model_file_uploadDirect write
control

Attach 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 Hex
read

List Cloud Slice printer, filament, and process profiles in the authenticated organization. Does not start a printer.

slice_request_getNot exposed to Hex
read

Read one Cloud Slice Request by id. Returns phase, quality, and the published Model File id when complete.

slice_request_listNot exposed to Hex
read

List Cloud Slice Requests for the authenticated organization. Paginated. Does not start a printer.

slice_request_createNot exposed to Hex
control

Create 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 Hex
control

Cancel 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 Hex
control

Request confirmed dispatch of a queued, assigned job through the canonical atomic start flow.

print_pauseNot exposed to Hex
control

Pause the currently running print job.

print_resumeNot exposed to Hex
control

Resume a paused print job.

print_set_speedNot exposed to Hex
control

Set print speed to silent, normal, sport, or ludicrous.

hardware_lightNot exposed to Hex
control

Turn the chamber or work light on or off.

hardware_fanNot exposed to Hex
control

Set part cooling, auxiliary, or chamber fan speed from 0 to 100 percent.

hardware_homeNot exposed to Hex
control

Home all axes. This should not be used while printing.

hardware_auto_levelNot exposed to Hex
control

Run automatic bed leveling. This should not be used while printing.

printer_file_uploadNot exposed to Hex
control

Upload a model file from the library to a printer as an asynchronous task.

printer_file_deleteNot exposed to Hex
control

Delete 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 Hex
dangerous

Cancel or stop the current print job. This action cannot be undone.

temperature_setNot exposed to Hex
dangerous

Set nozzle or bed temperature directly, including an extruder selector for multi-extruder printers.

gcode_sendNot exposed to Hex
dangerous

Execute 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.