Skip to main content

MCP server for ASE and more.

Project description

⚛️ MCP Atomic Toolkit

Python 3.11+ License: MIT MCP tests

[!NOTE] This project is under active development. Interfaces and behavior may evolve.

A FastMCP server for atomistic modeling workflows powered by ASE, pymatgen, and modern ML interatomic potentials.

It gives MCP clients a practical toolkit for:

  • building structures,
  • running geometry optimization + molecular dynamics,
  • analyzing structures/trajectories,
  • and downloading generated artifacts (data + plots).

✨ Why this repo

If you need atomistic workflows exposed as MCP tools (instead of hand-wiring scripts), this project gives you:

  • ready-to-call MCP tools for common simulation tasks,
  • file-first outputs that are easy to inspect/reuse,
  • artifact download URLs so clients don’t need binary blobs in chat context,
  • deployment-ready HTTP app with health and server-card endpoints.

🚀 Features

  • MCP-native workflows via FastMCP tools
  • Structure generation: bulk, surface, molecule, supercell, amorphous, liquid, bicrystal, polycrystal
  • Optimization workflows with MLIPs (nequix default, orb supported)
  • Molecular dynamics workflows (Velocity Verlet, Langevin, NVT Berendsen)
  • Analysis outputs:
    • RDF + coordination stats
    • MSD + thermodynamic trends
    • VACF + diffusion (Green-Kubo)
  • Downloadable artifacts (xyz, extxyz, cif, traj, png, svg, csv, dat, ...)
  • Registry-friendly endpoints (/healthz, server card, Streamable HTTP root)

⚡ Quick Start

1) Requirements

  • Python 3.11+

2) Install

pip install -r requirements.txt

3) Run locally

uvicorn mcp_atomictoolkit.http_app:app --host 0.0.0.0 --port 10000

Alternative:

python main.py

4) Smoke check

curl -s http://localhost:10000/healthz

Expected response:

{"status":"ok"}

🧰 Tooling Overview

Main MCP tools exposed by the server:

  • build_structure_workflow
  • analyze_structure_workflow
  • write_structure_workflow
  • optimize_structure_workflow
  • run_md_workflow
  • analyze_trajectory_workflow
  • autocorrelation_workflow

Legacy aliases are also included for backward compatibility.


🌐 Endpoints

  • POST / — primary MCP Streamable HTTP endpoint
  • GET /healthz — health check
  • GET /.well-known/mcp/server-card.json — MCP server card metadata
  • GET /artifacts/{artifact_id}/{filename} — artifact download route
  • /sse/ — compatibility alias path mounted to the MCP app

📦 Deployment

Render

render.yaml is included and ready to use.

Default start command:

uvicorn mcp_atomictoolkit.http_app:app --host 0.0.0.0 --port $PORT

Docker

docker build -t mcp-atomictoolkit .
docker run --rm -p 7860:7860 mcp-atomictoolkit

🗂️ Project Structure

src/mcp_atomictoolkit/
  mcp_server.py          # FastMCP tool definitions
  http_app.py            # Starlette app + routing/endpoints
  workflows/core.py      # High-level workflow orchestration
  analysis/              # Structure/trajectory/VACF analysis logic
  structure_operations.py
  optimizers.py
  md_runner.py
  artifact_store.py      # Download artifact registration + URLs

📈 GitHub Pulse

Add your repository path in the URLs below to enable live charts.

Star history

Star History Chart


🤝 Contributing

  • Keep outputs file-based and artifact-friendly.
  • When adding tools, usually update both:
    • workflows/core.py
    • mcp_server.py
  • Preserve http_app.py compatibility behavior unless intentionally changing deployment contracts.

📄 License

MIT — see LICENSE.

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

Built Distribution

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

File details

Details for the file iflow_mcp_xirtamesrevni_mcp_atomictoolkit-0.1.0.dev0.tar.gz.

File metadata

  • Download URL: iflow_mcp_xirtamesrevni_mcp_atomictoolkit-0.1.0.dev0.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_xirtamesrevni_mcp_atomictoolkit-0.1.0.dev0.tar.gz
Algorithm Hash digest
SHA256 0e33ab94b9741035e523977123d80f68676e838f28aa99d195eb3c6f60663003
MD5 e5e5aba685dc6c398be8cedcb6827fb4
BLAKE2b-256 8a4094319943fad06ead9977afddc96cda1f84598fe906a7a69dc9d8bb5f5e40

See more details on using hashes here.

File details

Details for the file iflow_mcp_xirtamesrevni_mcp_atomictoolkit-0.1.0.dev0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_xirtamesrevni_mcp_atomictoolkit-0.1.0.dev0-py3-none-any.whl
  • Upload date:
  • Size: 31.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_xirtamesrevni_mcp_atomictoolkit-0.1.0.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 16033d3aa5e37504988dbe7a3675e401d794755056d40d8bc9126c60c9397f1b
MD5 671d3dec4e77145f813e2ac02dcbbe54
BLAKE2b-256 1050efccc900a5bbeade466a5ae01f7b082e0c31832571b27573ddbc0a588b97

See more details on using hashes here.

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