Skip to main content

MCP server for editing STL 3D model files

Project description

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

Primitives

  • create_cube: Create a cube mesh
  • 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 plane mesh

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/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_stl-0.1.0.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_stl-0.1.0-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file mcp_stl-0.1.0.tar.gz.

File metadata

  • Download URL: mcp_stl-0.1.0.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_stl-0.1.0.tar.gz
Algorithm Hash digest
SHA256 26564bc2d766e9b4bca753f28527634d7cc2dc93dc1ea6f3a75950762dcc1fee
MD5 475291c5be39ee45000abd0f8cec49e7
BLAKE2b-256 b769c68e1803db2f5ecc2da3c30383dbfa0f4b0eb6d54686545693608811f630

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_stl-0.1.0.tar.gz:

Publisher: pypi-publish.yml on daedalus/mcp-stl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_stl-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_stl-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mcp_stl-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 383b2ee43cc8c239d12c967ac86a11afc74cfd42e40e5a723676ca39105108ec
MD5 c099faa9710aca06830b595a1160fddd
BLAKE2b-256 2d458197a32169e1fb76fc9af53dcb715d907c32b2cb21e5b9627b548db769ba

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_stl-0.1.0-py3-none-any.whl:

Publisher: pypi-publish.yml on daedalus/mcp-stl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page