Mcp Stl

io.github.daedalusPublished by GitHub account daedalusv0.1.0Updated Oct 25, 2026

MCP server for editing STL 3D model files

VerifiedSTDIODesktop onlyDeveloper ToolsMedia & Design

Overview

AI-generated overview

A local MCP server for reading, creating and editing STL 3D mesh files, including transforms, primitives and engine-style shapes.

What you can do
Read STL files and report mesh data or summary info, and write meshes back as ASCII or binary STL files. Transform meshes: translate, rotate on an axis or arbitrary vector, scale, shear, mirror, and merge several files into one. Repeat geometry as linear or circular arrays of copies. Generate primitives such as cubes, boxes, spheres, cylinders, cones, tori, planes, capsules, ellipsoids, frustums, tubes, pyramids, prisms, hemispheres and wedges. Generate engine-design shapes: spur gears, helical springs, connecting rods, crankshafts, poppet valves and cam lobes.
When to use it
Useful when an assistant needs to inspect or modify STL models on the local machine, apply geometric transforms, combine parts, or generate parametric shapes and mechanical components without a full CAD application.
Requirements
Runs as a local process over stdio, installed from the PyPI package mcp-stl (pip install mcp-stl) and started with the mcp-stl command; needs a Python environment and access to the STL files on disk. No authentication, environment variables or headers are declared.
Before you install
Tools write STL files to disk and can overwrite or create files at paths the assistant chooses, so review output paths before running write or transform operations. No credentials, payments or third-party data transfer are indicated.

Installation

In SourceWeft

  1. Open Mcp Stl in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mcp-stl

[PyPI] [Python] [Coverage] [Ruff]

MCP server for editing STL 3D model files. Provides tools for parsing, viewing, and manipulating STL files through the Model Context Protocol.

Install

bash
pip install mcp-stl

MCP Server

mcp-name: io.github.daedalus/mcp-stl

Tools

Reading & Writing

  • read_stl_file: Read an STL file and return mesh data (vertices, normals, bounding box)
  • get_mesh_info: Get summary information about an STL file without loading full geometry
  • write_stl: Write mesh data to an STL file (ASCII or binary format)

Transformations

  • translate_stl: Translate (move) the mesh by specified X, Y, Z offsets
  • rotate_stl: Rotate the mesh around X, Y, or Z axis by a given angle in degrees
  • scale_stl: Scale the mesh by specified X, Y, Z factors
  • shear_stl: Apply a shear transformation (shift one axis per unit along another)
  • mirror_stl: Mirror (reflect) the mesh across the plane perpendicular to a given axis
  • rotate_stl_axis: Rotate the mesh around an arbitrary axis vector (Rodrigues' formula)
  • combine_stl: Merge multiple STL files into one
  • array_linear: Create N copies of the mesh spaced by a fixed X/Y/Z offset
  • array_circular: Create N copies of the mesh at equal angular intervals around an axis

Primitives

  • create_cube: Create a cube mesh
  • create_box: Create a rectangular box (cuboid) with independent width/height/depth
  • create_sphere: Create a sphere mesh
  • create_cylinder: Create a cylinder mesh
  • create_cone: Create a cone mesh
  • create_torus: Create a torus (donut) mesh
  • create_plane: Create a flat plane mesh
  • create_capsule: Create a capsule (cylinder with hemispherical end caps)
  • create_ellipsoid: Create an ellipsoid with independent radii on each axis
  • create_frustum: Create a frustum (truncated cone)
  • create_tube: Create a hollow cylinder (tube/pipe)
  • create_pyramid: Create a regular n-sided pyramid
  • create_prism: Create a regular n-sided prism (e.g. hexagonal prism)
  • create_hemisphere: Create a hemisphere (dome with flat circular base)
  • create_wedge: Create a right-triangular wedge (triangular prism)

Engine-Design Shapes

  • create_gear: Create a spur gear mesh (configurable module, teeth, pressure angle)
  • create_spring: Create a helical coil spring
  • create_connecting_rod: Create a connecting rod with big/small-end bores
  • create_crankshaft: Create an N-throw crankshaft
  • create_valve: Create a poppet valve (stem + head disc)
  • create_camshaft_lobe: Create an eccentric cam lobe with cosine nose profile

Usage

Python API

python
from mcp_stl import read_stl_file, create_cube, translate_stl
# Read an existing STL filemesh = read_stl_file("model.stl")print(f"Faces: {mesh.face_count}")
# Create a primitivecreate_cube("cube.stl", size=2.0)
# Transform a meshtranslate_stl("input.stl", "output.stl", x=10.0, y=0.0, z=5.0)

MCP Server

Configure in your MCP client:

json
{  "mcpServers": {    "mcp-stl": {      "command": "mcp-stl"    }  }}

Development

bash
git clone https://github.com/daedalus/mcp-stl.gitcd mcp-stlpip install -e ".[test]"
# run testspytest
# formatruff format src/ tests/
# lintruff check src/ tests/
# type checkmypy src/

Source: README.md at commit 2d5a18a

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts