mcpField
M
mcp-stl

mcp-stl

Local
github.com/daedalusMedia & Design0Updated 27w ago

About mcp-stl

mcp-stl is an MCP server for reading, creating, and editing STL 3D mesh files. Its tools cover mesh transformations, common primitives, and engine-design shapes.

Key features

  1. 01Read mesh data and inspect file summaries
  2. 02Write ASCII or binary STL files
  3. 03Translate, rotate, scale, shear, and mirror meshes
  4. 04Combine meshes and create linear or circular arrays
  5. 05Create primitive and engine-design shapes

Use cases

  1. 01Inspect an existing STL mesh
  2. 02Transform or combine models for reuse
  3. 03Generate primitive or engine-design STL shapes

MCP support

It exposes STL file parsing, writing, mesh manipulation, and shape-generation tools to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"daedalus-mcp-stl": {
"command": "uvx",
"args": [
"mcp-stl"
]
}
}
}
Run commanduvx mcp-stl

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypimcp-stl0.1.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project 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

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
from mcp_stl import read_stl_file, create_cube, translate_stl

# Read an existing STL file
mesh = read_stl_file("model.stl")
print(f"Faces: {mesh.face_count}")

# Create a primitive
create_cube("cube.stl", size=2.0)

# Transform a mesh
translate_stl("input.stl", "output.stl", x=10.0, y=0.0, z=5.0)
MCP Server

Configure in your MCP client:

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

Development

git clone https://github.com/daedalus/mcp-stl.git
cd mcp-stl
pip install -e ".[test]"

# run tests
pytest

# format
ruff format src/ tests/

# lint
ruff check src/ tests/

# type check
mypy src/

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.