Skip to main content

pymat-mcp

MCP server exposing the py-materials curated material registry to AI agents — Claude Desktop, Cursor, MCP Inspector, any MCP-compatible client.

"Aluminum 6061-T6 yield strength?" — agent calls get_material instead of guessing. CAD prompts that need real density / mechanical properties stop hallucinating.

Install

Zero-install via uvx:

{
  "mcpServers": {
    "pymat": {
      "command": "uvx",
      "args": ["pymat-mcp"]
    }
  }
}

That's it. uvx fetches pymat-mcp (which transitively pulls py-materials) and runs it in an isolated venv per session.

For a pinned version: "args": ["pymat-mcp@0.1.0"].

For programmatic use, pip install pymat-mcp works too — the package is fully a normal Python module.

Tools

Tool What
search_materials(query, limit=10) Fuzzy lookup → list of brief rows
get_material(key_or_name) Full property dump (mechanical / thermal / electrical / optical / manufacturing / compliance / sourcing) + visual identity
list_categories() Top-level groups (aluminum, stainless, lyso, …)
list_grades(material) Children (grades / tempers / treatments)
compute_mass(material, volume_mm3) Mass in grams from a build123d-style volume
get_appearance(material) Vis dict — mat-vis identity, finishes, PBR scalars
to_threejs(material, finish=None) Three.js MeshPhysicalMaterial init dict
to_gltf(material, finish=None) glTF 2.0 material node
compare_materials(keys, properties=None) Side-by-side property comparison

All tools are read-only. Errors come back as {"error": "...", "did_you_mean": [...]} rather than exceptions.

Example agent prompts

  • "What's the yield strength of 17-4 PH H1025? Use the materials database."
  • "I have a 50×50×10 mm 6061 plate; what's the mass?"
  • "Give me a Three.js material dict for stainless steel with a polished finish."
  • "Compare density and thermal conductivity for 6061, 7075, and copper."

Logging

Logs to stderr only (stdout is the MCP transport channel). Bump verbosity:

PYMAT_MCP_LOG=DEBUG uvx pymat-mcp

Development

git clone https://github.com/MorePET/mat
cd mat/clients/python/pymat-mcp
uv sync --all-extras
uv run pytest -v

To exercise the server interactively:

uvx mcp dev pymat-mcp     # MCP Inspector — point-and-click tool calls

Metadata

Release files for pymat-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymat-mcp 0.2.0
File Size Uploaded Provenance
pymat_mcp-0.2.0.tar.gz 17.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pymat-mcp 0.2.0
File Interpreter ABI Platform
pymat_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 30.7 kB

Release files / pymat_mcp-0.2.0.tar.gz

Download URL pymat_mcp-0.2.0.tar.gz
Size 17.7 kB
Tags Source
SHA-256 checksum
How to use checksums
cee68e9e570dc7b4e957e0ecede1269065cd715dd0495b556ca6f78b758e90a1
BLAKE2b-256 checksum
How to use checksums
0c097df74f6709811256f02858b6887fb6db7202ed52505762cb5365c83bd5b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 4, 2026.

Transparency log

Release files / pymat_mcp-0.2.0-py3-none-any.whl

Download URL pymat_mcp-0.2.0-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c278c33c542f5ec3fce06994aac073a2421cedcfd0052ca94673f9f06349dfbe
BLAKE2b-256 checksum
How to use checksums
0dfcf1463c3c32d303cf99daaf458727794c5599ca368955583c44db1b6ef63c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 4, 2026.

Transparency log

Security for pymat-mcp 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pymat_mcp-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 4, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page