Skip to main content
Glama
@placraftic/mcp-server

@placraftic/mcp-server

by placraftic

@placraftic/mcp-server

Official Model Context Protocol (MCP) server for the Placraftic 3D Printing Operating System.

Connect your Large Language Model (Claude Desktop, Cursor IDE, Zed, Claude Code CLI) directly to your Placraftic studio to manage orders, check printer fleet queues, inspect 3D models, create Nova Poshta waybills, and automate customer communications.


Quick Start

1. Obtain your API Key

  1. Log in to your Placraftic studio dashboard.

  2. Navigate to Settings -> API Keys (/api-keys).

  3. Click Створити API-ключ and copy your key (pk_live_...).

2. Configure Claude Desktop

Add the following to your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "placraftic": {
      "command": "npx",
      "args": ["-y", "@placraftic/mcp-server"],
      "env": {
        "PLACRAFTIC_API_KEY": "pk_live_YOUR_API_KEY_HERE"
      }
    }
  }
}

3. Configure Cursor IDE

Add to .cursor/mcp.json in your project or global Cursor settings:

{
  "mcpServers": {
    "placraftic": {
      "command": "npx",
      "args": ["-y", "@placraftic/mcp-server"],
      "env": {
        "PLACRAFTIC_API_KEY": "pk_live_YOUR_API_KEY_HERE"
      }
    }
  }
}

4. Claude Code CLI

Connect with a single command:

claude mcp add placraftic -- npx -y @placraftic/mcp-server

Related MCP server: MCP 3D Printer Server

Environment Variables

Variable

Description

Default

PLACRAFTIC_API_KEY

Studio API token generated in /api-keys (required for authenticated operations)

(none)

PLACRAFTIC_BASE_URL

Base URL for Placraftic Public REST API

https://api.placraftic.com/v1


MCP Resources

The Placraftic MCP server exposes 6 live catalog, shipping, and studio resources that clients can read or attach directly into LLM context:

Resource URI

Description

placraftic://studio/profile

Authenticated studio profile, currency, slug, and pricing parameters

placraftic://catalog/materials

Complete catalog of materials (filaments, resins), stock levels, and price per kg

placraftic://catalog/printers

Studio 3D printer fleet, active machines, build volumes, technology, and maintenance status

placraftic://catalog/finishings

Available post-processing finishing operations, flat fees, and percentage surcharges

placraftic://catalog/qualities

Configured print qualities, layer heights, nozzle sizes, and speed modes

placraftic://delivery/settings

Current studio delivery configuration: Nova Poshta sender warehouse, pickup address, and shipping methods


MCP Prompts

The Placraftic MCP server includes 4 built-in workflow prompt templates that appear as slash commands or suggested actions in Claude Desktop and Cursor IDE:

  • daily_production_standup: Zero-argument prompt that inspects active printing and pending orders, checks printer fleet utilization, groups queued jobs by material and print quality to minimize spool changeovers, and delivers an actionable morning briefing in Ukrainian.

  • pack_and_ship_order: Fulfillment workflow taking orderId: verifies order readiness, checks sender/recipient branches, prompts for confirmation to create a Nova Poshta electronic waybill (TTN), retrieves the printable sticker PDF, updates order status to shipped, and drafts customer notification text.

  • quote_and_consult: Technical consulting workflow taking filePath and optional requirements: evaluates application strength and temperature requirements, recommends optimal material and layer height, runs quote calculations, and generates a structured cost estimate and advice.

  • customer_support_inquiry: Omnichannel care assistant taking customerQuery and optional contactInfo: looks up customer order history, queries real-time tracking checkpoints, and drafts an empathetic, professional reply in Ukrainian with one-click dispatch via send_inbox_reply.


Available Tools

System & Identity

  • ping: Healthcheck returning server version, timestamp, and API round-trip latency.

  • get_studio_info: Retrieves studio ID, studio title, slug, currency, pricing defaults, and active API key details.

Catalog & Fleet Management

  • list_materials: List available materials (filaments, resins) with optional filtering by technology, color, and inStockOnly.

  • get_material: Retrieve full specifications, stock levels, and price per kg for a specific material by numeric ID.

  • list_technologies: List all print technologies (FDM, SLA, SLS, etc.) with the numeric IDs required by create_printer/update_printer.

  • list_printers: List all 3D printers in the studio fleet with optional filtering by technology and operational status.

  • get_printer: Retrieve hardware details, maintenance notes, next maintenance date, and active print queue for a specific printer.

  • create_printer: Register a new 3D printer in the studio fleet.

  • update_printer: Partially update a printer's name, technology, status, model, build volume, or maintenance info.

  • delete_printer: Permanently remove a printer from the studio fleet.

  • list_qualities: List configured slicing profiles and layer heights with optional filtering by technology and activeOnly.

  • get_quality: Retrieve exact layer height, nozzle diameter, speed mode, and infill parameters for a quality profile.

  • list_finishings: List all post-processing finishing services (vapor smoothing, painting, sanding) with optional technology filter.

  • get_finishing: Retrieve flat-rate and percentage pricing formulas for a specific finishing operation by ID.

  • list_products: List preconfigured catalog products with fixed prices and estimated lead times.

  • get_product: Retrieve complete specifications, media photos, and lead time for a specific product by ID.

Order Lifecycle & Kanban Management

  • list_orders: Query production orders with filtering by Kanban status (pending, confirmed, printing, post_processing, ready, shipped, completed, cancelled), customer search, and pagination.

  • get_order_details: Retrieve full order manifest by ID including items, 3D model download links, chosen materials, and shipping status.

  • update_order_status: Advance or change an order Kanban stage and dispatch studio timeline events with optional comments.

  • update_order: Modify order total price or update customer internal notes.

  • cancel_order: Terminate an order with an explicit audit reason.

Shipping & Nova Poshta Logistics

  • create_nova_poshta_waybill: Generate an electronic waybill (TTN) using studio sender warehouse and recipient details.

  • print_waybill: Retrieve official PDF document URL for printing package stickers and shipping marks.

  • track_shipment: Query real-time delivery status and latest Nova Poshta tracking checkpoints.

  • get_delivery_settings: Inspect sender branch, pickup address, and enabled delivery channels.

Customer Directory & CRM

  • list_customers: Search customer directory by name, phone, or email with total orders count and lifetime spend.

  • get_customer_profile: Retrieve complete customer profile, lifetime value, breakdown of orders by status, and order history.

Slicing, Quoting & Instant Ordering

  • calculate_quote: Upload a local 3D model file (STL, OBJ, 3MF, STEP) along with chosen material and print quality to calculate precise manufacturing cost, filament weight, print time, and itemized fee breakdown. Automatically polls asynchronous slicing when calculation is in progress.

  • submit_slicing_job: Upload a local 3D model file to the studio slicing engine to initiate background toolpath generation. Returns a unique slicing jobId.

  • get_slicing_status: Check asynchronous slicing progress, status (pending, processing, done, failed), filament consumption, print time, and error diagnostics by jobId.

  • create_order: Create a complete production order directly from the agent. Accepts customer contact details, one or more local 3D model files, selected materials, qualities, quantities, optional finishings, and delivery preferences.

Unified Support Inbox & Omnichannel CRM

  • list_inbox_threads: List active customer conversations across Telegram, Instagram, email, and web portal with unread status and last message timestamps.

  • get_conversation_messages: Retrieve complete chronological message history and attachments for a customer thread.

  • send_inbox_reply: Send outbound messages directly to customers across Telegram or Instagram, with optional canned templates or attachments.

  • list_canned_responses: List preconfigured studio quick-reply templates for fast customer communication.

  • create_canned_response: Create new studio quick-reply templates with titles, shortcuts, and bodies.

Abandoned Quotes Recovery

  • list_abandoned_quotes: List unfinished 3D print quote checkouts with customer contact details, item counts, and direct recovery links.

  • review_abandoned_quote: Mark an abandoned quote lead as reviewed/reminded to track follow-up and prevent duplicate customer outreach.

Studio Production & Financial Analytics

  • get_studio_stats: Aggregate financial metrics (GMV/revenue, completed orders count, average order value), Kanban status breakdown, active printer fleet utilization, and top materials for a given period (today, this_week, this_month, last_30_days).


Development

# Install dependencies
npm install

# Build TypeScript to dist/
npm run build

# Run locally in development mode
npm run dev

License

MIT

Available Tools

35 tools
calculate_quoteB

Upload a local 3D model file (STL, OBJ, 3MF, STEP) and compute an accurate manufacturing cost quote with material and print time breakdown

Inputs: filePath (required), materialId (required), printingQualityId (required), quantity, +1 more.

cancel_orderB

Cancel an order, record the cancellation reason, and trigger cancellation notifications

Inputs: reason (required), orderId (required).

create_canned_responseC

Create a new quick-reply canned response template for the studio

Inputs: body (required), title (required), shortcut.

create_nova_poshta_waybillC

Generate a Nova Poshta electronic waybill (TTN) for an order using studio sender settings

Inputs: orderId (required), weight, description, seatsAmount, +7 more.

create_orderA

Submit a new production order with customer contact info, 3D model files (STL, OBJ, 3MF, STEP), materials, and delivery preferences

Inputs: items (required), customer (required), delivery.

get_conversation_messagesB

Retrieve complete chronological message history and attachments for a customer conversation

Inputs: conversationId (required).

get_customer_profileA

Retrieve complete customer profile, lifetime value, breakdown of orders by status, and order history

Inputs: customerId (required).

get_delivery_settingsA

Retrieve current studio delivery configuration: Nova Poshta sender branch, pickup address, and enabled shipping methods

Inputs: no named parameters.

get_finishingA

Retrieve flat-rate and percentage pricing formulas for a specific post-processing finishing operation by ID

Inputs: id (required).

get_materialA

Retrieve full details for a specific 3D printing material by its numeric ID

Inputs: id (required).

get_order_detailsA

Retrieve complete order manifest by ID including customer profile, ordered parts, slicing files, and shipping tracking

Inputs: orderId (required).

get_printerA

Retrieve complete hardware details, maintenance schedule, and active print queue for a specific 3D printer by ID

Inputs: id (required).

get_productA

Retrieve complete specifications, media photos, and turnaround lead time for a specific product by ID

Inputs: id (required).

get_qualityB

Retrieve slicing parameters and layer height configuration for a specific printing quality profile by ID

Inputs: id (required).

get_slicing_statusB

Check progress of an async 3D slicing job by ID and retrieve print duration and filament weight metrics

Inputs: jobId (required).

get_studio_infoA

Retrieve the authenticated 3D printing studio identity, studio ID, and API key details

Inputs: no named parameters.

get_studio_statsB

Retrieve real-time studio financial metrics, orders breakdown by status, active printer fleet load, and top materials for a given period

Inputs: period.

list_abandoned_quotesA

List unfinished 3D print quote checkouts with customer contact details, item counts, and direct recovery links

Inputs: page, limit.

list_canned_responsesA

List preconfigured studio quick-reply templates for customer communications

Inputs: no named parameters.

list_customersC

List studio customer directory with lifetime order counts, total spent, and search by name or phone

Inputs: page, limit, search.

list_finishingsA

List all available post-processing and finishing services (vapor smoothing, painting, support removal, sanding) with pricing

Inputs: technology.

list_inbox_threadsC

List active studio customer support conversations across Telegram, Instagram, and web portal

Inputs: page, limit, status, channel.

list_materialsB

List all available 3D printing materials (filaments, resins) with pricing, color, technology, and stock status

Inputs: color, technology, inStockOnly.

list_ordersC

List studio production orders with filtering by Kanban status, customer search, and pagination

Inputs: page, limit, search, status.

list_printersA

List all 3D printers in the studio fleet with technology, model, build volume, maintenance notes, and active queue

Inputs: status, technology.

list_productsC

List catalog products manufactured by the studio with fixed pricing, photos, and estimated lead time

Inputs: activeOnly.

list_qualitiesB

List configured 3D printing qualities and slicing profiles (layer heights, nozzle diameter, speed modes, infill)

Inputs: activeOnly, technology.

pingA

Check server status, version, and latency between the MCP server and Placraftic API

Inputs: no named parameters.

review_abandoned_quoteB

Mark an abandoned quote lead as reviewed/reminded to acknowledge followup and avoid duplicate customer contact

Inputs: quoteId (required).

send_inbox_replyB

Send an outbound message directly to the customer across Telegram or Instagram, with optional canned template

Inputs: conversationId (required), message, templateId, attachmentUrl.

submit_slicing_jobA

Submit a local 3D model file (STL, OBJ, 3MF, STEP) to cloud slicer and obtain an async slicing job ID

Inputs: filePath (required), printingQualityId (required).

track_shipmentB

Synchronize and retrieve live parcel checkpoints and delivery status from Nova Poshta by order ID

Inputs: orderId (required).

update_orderC

Update order details such as total price and customer operator notes

Inputs: orderId (required), totalPrice, customerNotes.

update_order_statusC

Transition an order to a new Kanban stage and dispatch studio timeline events

Inputs: status (required), orderId (required), comment.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 35 tools

    Disambiguation4/5

    Most tools have clearly distinct purposes targeting specific resources and actions. A few potential overlaps exist: list_orders vs list_abandoned_quotes (abandoned quotes are a subset of orders), update_order_status vs update_order (status update might be seen as part of general update, but descriptions differentiate them), and submit_slicing_job vs calculate_quote (both take model files but one slices, one quotes). However, descriptions generally clarify boundaries.

    Naming Consistency3/5

    The tool names follow a consistent verb_noun pattern (e.g., list_, get_, create_, update_, cancel_, send_), but there are notable inconsistencies in domain-specific naming. For example, create_nova_poshta_waybill vs print_waybill (one uses create_ prefix, the other print_), and track_shipment, get_delivery_settings, review_abandoned_quote use different verb styles. This creates a mixed convention that is still readable but not fully predictable.

    Tool Count3/5

    With 35 tools, the server covers a wide range of 3D printing studio operations, but the count is heavy. Many tools are necessary for full lifecycle management, yet some could be consolidated (e.g., get_material, get_printer, get_quality, get_finishing are similar entity detail fetchers). The count is borderline for a comprehensive domain but slightly exceeds the ideal range for an MCP server.

    Completeness4/5

    The surface provides robust CRUD coverage for orders, customers, materials, printers, qualities, finishings, products, and shipping. However, some gaps exist: no delete operations for any resource, no explicit update for materials/printers/qualities/finishings (only create and get), and no methods to handle incoming messages beyond listing threads and sending replies (e.g., no mark as read). These are minor gaps that agents can likely work around.

    Maintenance

    ActivityStale
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables users to connect Claude with various 3D printer management systems, allowing tasks like printer status monitoring, file management, print job control, and STL file manipulation.
      5,867 npm
      GPL 2.0
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables AI agents to operate a 3D print farm via O.D.I.N. backend, including job queuing, printer control, inventory management, and standalone cost calculators.
      14 npm
      Apache 2.0
    • A
      license
      A
      quality
      F
      maintenance
      Enables AI assistants to manage 3D printing inventory, filament spools, printers, projects, and print trackers through a self-hosted Print Vault instance.
      40
      AGPL 3.0