formlabs-local-mcp

formlabs-local-mcp

A Model Context Protocol server that exposes Formlabs Local API to AI tools, enabling users to drive Formlabs printers from chat prompts.

Category
Visit Server

README

formlabs-local-mcp

A Model Context Protocol server that exposes the Formlabs Local API to any MCP-compatible AI tool — Claude Code, Claude Desktop, Cursor, VS Code, and others.

Drive your Formlabs printers from a chat prompt:

"Import ~/parts/bracket.stl, auto-orient it, generate supports, estimate the print time, then send it to my Form 4."

The MCP server wraps PreFormServer's HTTP API as a set of typed tools the model can call directly.

Status

Early alpha. The tool surface is complete for the common SLA/SLS preparation workflow, but has only been tested against the API spec — not yet validated against real hardware. PRs and bug reports welcome.

Requirements

  • Python ≥ 3.10
  • The PreFormServer executable, downloaded from the Formlabs API downloads page. PreFormServer is a headless build of PreForm; it must be running for the MCP server to do anything.

Install

Clone the repo and install it into a virtual environment:

git clone https://github.com/mkebiclioglu/formlabs-local-mcp.git
cd formlabs-local-mcp
python -m venv .venv
source .venv/bin/activate
pip install -e .

The pip install -e . step creates a formlabs-local-mcp script inside .venv/bin/ — note its absolute path (e.g. /Users/you/formlabs-local-mcp/.venv/bin/formlabs-local-mcp). You'll point your MCP client at it.

Configure your MCP client

Claude Code

Easiest path is the CLI:

claude mcp add formlabs \
  -s user \
  -e PREFORM_SERVER_PATH=/path/to/PreFormServer.app/Contents/MacOS/PreFormServer \
  -- /absolute/path/to/formlabs-local-mcp/.venv/bin/formlabs-local-mcp

Or edit ~/.claude.json (or .claude/mcp.json for project scope) directly:

{
  "mcpServers": {
    "formlabs": {
      "command": "/absolute/path/to/formlabs-local-mcp/.venv/bin/formlabs-local-mcp",
      "env": {
        "PREFORM_SERVER_PATH": "/path/to/PreFormServer.app/Contents/MacOS/PreFormServer"
      }
    }
  }
}

Confirm it's wired up: claude mcp list should show formlabs: ✓ Connected.

Claude Desktop

Add the same mcpServers block to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows). Restart Claude Desktop after editing.

PreFormServer lifecycle

The MCP server has two modes for talking to PreFormServer:

  1. Spawn mode (recommended). Set PREFORM_SERVER_PATH to the absolute path of the PreFormServer executable. The MCP server starts it on launch, waits for READY FOR INPUT on stdout, and shuts it down on exit.
  2. External mode. If PREFORM_SERVER_PATH is unset, the MCP server assumes PreFormServer is already running on localhost:44388 (or whatever PREFORM_SERVER_PORT / PREFORM_SERVER_URL you set).

Environment variables

Variable Default Purpose
PREFORM_SERVER_PATH (unset) Absolute path to the PreFormServer executable. If set, the MCP server spawns and supervises it.
PREFORM_SERVER_PORT 44388 Port the PreFormServer listens on.
PREFORM_SERVER_URL http://localhost:$PORT Override the base URL entirely (e.g. for a PreFormServer on another machine).
PREFORM_SPAWN 1 Set to 0 to disable spawning even if PREFORM_SERVER_PATH is set.
PREFORM_POLL_INTERVAL 2.0 Seconds between operation status polls.
PREFORM_POLL_TIMEOUT 600 Maximum seconds to wait for any async operation.

Tools

The MCP server exposes ~25 tools across these categories:

Category Tools
Health health_check
Scene create_scene, list_scenes, get_scene, delete_scene, load_form
Models import_model, update_model, delete_model
Auto-prep auto_orient, auto_support, auto_layout (SLA), auto_pack (SLS)
Modify hollow_model, add_drain_holes
Validate estimate_print_time, get_print_validation
Export save_form, save_screenshot
Devices list_devices, discover_devices
Print print_to_printer
Materials list_materials
Auth login, logout

File path parameters must always be absolute — PreFormServer rejects relative paths, environment variables, and URLs.

Companion skills

For Claude Code, the formlabs-claude-skills repo ships opinionated workflow skills (e.g. /formlabs-print) that orchestrate these tools end to end.

Development

In your already-cloned repo:

source .venv/bin/activate
pip install -e ".[dev]"
pytest

To run the server directly against a local PreFormServer (outside of an MCP client, useful for debugging):

PREFORM_SERVER_PATH=/path/to/PreFormServer formlabs-local-mcp

License

MIT. The Formlabs API itself is governed by the Formlabs API License Agreement; this MCP server only makes HTTP calls to it and does not redistribute any Formlabs code.

Disclaimer

This is an independent integration. It is not affiliated with, endorsed by, or supported by Formlabs Inc.

Recommended Servers

playwright-mcp

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured