SciMCP
LAMMPS Simulation Setup: Generate complete input scripts for potentials (LJ, EAM, Tersoff, Buckingham, Coulomb) and ensembles (NVT, NPT, NVE, NPH) with optional minimization and shear; create multi-phase workflows (minimize → equilibrate → production) with configurable parameters.
LAMMPS Output Parsing: Parse thermo logs and dump/trajectory files to extract time-series, atom positions, velocities, box dimensions; auto-summarize output files.
Nematic Alignment Analysis: Compute scalar nematic order parameter S, spatial profile S(z), and time evolution S(t) from quaternion data.
Non-Affine Displacement / Plasticity Analysis: Calculate D²min (Falk-Langer) metric to quantify non-affine motion; identify plastic events via thresholding.
Shear Rheology: Generate shear-rate sweep scripts; estimate viscosity via power-law fitting, classifying shear-thinning, Newtonian, or shear-thickening behavior.
DFT / CIF Analysis: Parse, generate, and summarize CIF files, extracting space group, lattice parameters, atomic positions, and symmetry.
MXene Materials Discovery: List, query, compare, and search MXene materials by formula, element, termination, metallic character, band gap, formation energy, etc.
ML Property Prediction: Predict band gap, density, melting point from composition; compute elemental/compositional features; retrieve element properties.
Literature Search: Search arXiv by keyword, author, or materials-science category.
Enables searching arXiv for scientific papers by keyword, with materials-science-optimized search and author-based queries.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SciMCP Generate a LAMMPS input for a Lennard-Jones fluid under shear at rate 0.01."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SciMCP
Scientific Computing MCP Server for Computational Materials Science
Give your AI coding agent superpowers for molecular dynamics, DFT, crystallography, MXene discovery, ML property prediction, and literature search.
Works with Claude Desktop · Claude Code · Cursor · Windsurf · Any MCP client
uvx scimcp # Run instantly, no install neededWhat is SciMCP?
SciMCP is an MCP server that connects AI assistants to computational materials science workflows. It provides 45 tools across 9 categories: LAMMPS molecular dynamics, DFT/CIF analysis, VASP/QE input generation, MXene materials discovery, ML property prediction, Materials Project queries, phonon analysis, trajectory visualization, and arXiv literature search.
No more copy-pasting LAMMPS scripts. Just tell Claude what you need.
Related MCP server: QCViz-MCP
Quick Start
1. Install
# No install needed (recommended)
uvx scimcp
# Or install with pip
pip install scimcp
# Or with uv
uv add scimcp2. Connect to your AI client
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"scimcp": {
"command": "uvx",
"args": ["scimcp"]
}
}
}claude mcp add scimcp -- uvx scimcpAdd to your MCP config:
{
"mcpServers": {
"scimcp": {
"command": "uvx",
"args": ["scimcp"]
}
}
}3. Start asking
Generate a LAMMPS input for 10^3 LJ atoms under NVT at 300K with shear
Parse this dump file and show me the temperature evolution
Compute the nematic order for these quaternion data
Run a shear-rate sweep from 0.0001 to 0.05
Parse this CIF file and tell me the space group and lattice parameters
Generate a VASP INCAR for a relaxation calculation
What MXenes are metallic with high conductivity?
Predict the band gap of GaAs
Find recent arXiv papers on MXene battery applications
Search Materials Project for stable oxides
Compute phonon DOS from these frequencies
Plot the thermo dashboard for this simulation
45 Tools — 9 Categories
LAMMPS Input Generation (2 tools)
Tool | What it does |
| Generate complete LAMMPS scripts. Supports LJ, EAM, Tersoff, Buckingham, Coulomb potentials. NVT/NPT/NVE/NPH ensembles. Optional shear deformation. |
| Multi-phase workflow: minimize → equilibrate → production. Configurable per-phase ensemble, temperature, and shear. |
Output Parsing (3 tools)
Tool | What it does |
| Parse thermo logs into structured data with statistics (min/max/mean/std per column). |
| Parse lammpstrj trajectories. Extract atom positions, velocities, box dimensions per frame. |
| Auto-detect file type (dump vs thermo) and return key metrics. |
Nematic Alignment Analysis (3 tools)
Tool | What it does |
| Scalar order parameter S from quaternion data. S=1 (aligned), S=0 (isotropic). Returns full Q-tensor. |
| Spatial profile S(z) — alignment as a function of position along z-axis. |
| Time evolution S(t) — alignment over a trajectory. |
Non-Affine Displacement / Plasticity (2 tools)
Tool | What it does |
| Falk-Langer D²min metric. Measures how much particle motion deviates from affine deformation of neighbors. |
| Threshold-based detection of particles that underwent plastic rearrangement. |
Shear Rheology (2 tools)
Tool | What it does |
| Generate LAMMPS scripts for multiple shear rates. Outputs per-rate input files + config JSON. |
| Fit power-law model to stress vs rate data. Returns consistency K, flow index n, shear-thinning/thickening classification. |
DFT / CIF Analysis (3 tools)
Tool | What it does |
| Parse CIF content and extract space group, lattice parameters, atomic positions, and symmetry data. |
| Generate CIF files from crystallographic parameters (space group, lattice, atom types, fractional coordinates). |
| Quick summary of a CIF file: formula, space group, lattice, element composition. |
VASP / Quantum ESPRESSO (5 tools)
Tool | What it does |
| Generate VASP INCAR files with configurable encut, k-spacing, smearing, spin polarization, and relaxation settings. |
| Generate VASP POSCAR files from element lists, fractional coordinates, and lattice parameters. Supports selective dynamics. |
| Generate VASP KPOINTS files with Monkhorst-Pack grids and custom shifts. |
| Generate Quantum ESPRESSO pw.x input files for SCF, relaxation, and variable-cell calculations. |
MXene Database (5 tools)
Tool | What it does |
| List all 10+ MXenes in the built-in database with key properties. |
| Query by formula, M element, X element, termination, or metallic character. |
| Get detailed properties for a specific MXene (lattice, band gap, formation energy, applications). |
| Side-by-side comparison of multiple MXenes. |
| Search MXenes within a property range (band gap, formation energy, elastic modulus). |
ML Property Prediction (6 tools)
Tool | What it does |
| Predict band gap from composition. Classifies as metal/semiconductor/insulator. |
| Estimate material density from composition. |
| Estimate melting point from composition. |
| Run all prediction models at once. |
| Get elemental properties (electronegativity, radius, mass, density, melting point). |
| Compute ML feature vector (weighted avg properties, EN difference, mixing entropy). |
Materials Project (3 tools)
Tool | What it does |
| Query Materials Project for crystal structures and properties. Uses built-in data when no API key. |
| Get detailed properties for a specific MP material (mp-id). |
| Search for thermodynamically stable materials near the hull. |
Phonon Analysis (4 tools)
Tool | What it does |
| Compute phonon density of states from frequency list with Gaussian broadening. |
| Compute ZPE, Helmholtz free energy, entropy, and heat capacity from phonon frequencies. |
| Generate high-symmetry k-path for phonon band structures (cubic, hexagonal, tetragonal, orthorhombic). |
| Estimate phonon frequency range from composition using mass-force constant model. |
Visualization (5 tools)
Tool | What it does |
| Plot time series data from LAMMPS thermo output. |
| Plot histograms with statistics (mean, std, median). |
| Scatter plots, optionally colored by a third variable (e.g., D²min). |
| Plot phonon density of states with zero-frequency line. |
| Generate 4-panel dashboard (Temperature, Energy, Pressure vs Step). |
Literature Search (3 tools)
Tool | What it does |
| Search arXiv for scientific papers by keyword. |
| Materials-science-optimized arXiv search with category filtering. |
| Find papers by a specific author on arXiv. |
Example: Full Workflow
from scimcp.tools.lammps.generator import generate_workflow
from scimcp.tools.lammps.shear import write_sweep_scripts, SweepConfig
# Generate a 3-phase simulation with shear
script = generate_workflow(
atoms_per_side=12,
potential="lj",
temperature=300,
n_production_steps=100000,
apply_shear=True,
shear_rate=0.001,
)
# Run a shear-rate sweep
config = SweepConfig(
shear_rates=[0.0001, 0.001, 0.01, 0.05],
atoms_per_side=10,
temperature=300,
)
files = write_sweep_scripts(config)
# Creates: in.shear_0p000100, in.shear_0p001000, in.shear_0p010000, in.shear_0p050000Sample Output
STEP 5: Nematic Order Parameter S
Aligned particles: S = 1.0000
Random particles: S = 0.3880
Partial alignment: S = 0.4049
Nematic Profile S(z):
z_center S count
0.50 1.0000 10 ← aligned
5.50 0.4483 10 ← transition
9.50 0.5590 10 ← random
STEP 8: Viscosity Estimation
Power-law n = 0.80 → Shear thinning confirmed
rate=0.0001 → η=3.15
rate=0.0100 → η=1.26
rate=0.0500 → η=0.91Supported Potentials
Potential | LAMMPS Style | Typical Use |
Lennard-Jones |
| Noble gases, generic liquids |
EAM |
| Metals (Cu, Al, Ni, Fe, ...) |
Tersoff |
| Semiconductors (Si, C, Ge) |
Buckingham |
| Ionic materials |
Coulomb |
| Charged systems |
Architecture
scimcp/
├── src/scimcp/
│ ├── server.py # MCP server entry point (45 tools, 7 prompts)
│ └── tools/
│ ├── lammps/
│ │ ├── generator.py # LAMMPS input generation + workflows
│ │ ├── parser.py # Dump & thermo file parsing
│ │ ├── nematic.py # Q-tensor, S(t), S(z) computation
│ │ ├── nonaffine.py # D²min Falk-Langer metric
│ │ ├── shear.py # Shear-rate sweep + viscosity fitting
│ │ └── templates/ # Reference LAMMPS templates
│ ├── dft/
│ │ ├── cif.py # CIF parsing, generation, ASE conversion
│ │ └── vasp_qe.py # VASP INCAR/POSCAR/KPOINTS + QE pw.x input
│ ├── materials/
│ │ ├── mxene.py # MXene database (10+ entries)
│ │ ├── prediction.py # ML property prediction (band gap, density, Tm)
│ │ ├── literature.py # arXiv literature search
│ │ └── materials_project.py # Materials Project API + built-in data
│ └── analysis/
│ ├── phonon.py # Phonon DOS, thermodynamics, band paths
│ └── visualization.py # Time series, histograms, scatter, dashboards
├── tests/ # 211 tests (unit + integration)
├── examples/ # Demo scripts
├── pyproject.toml
└── README.mdTesting
# Run all tests
pytest
# Run with verbose output
pytest -v
# Run specific test module
pytest tests/test_nematic.py -v
# Run Phase 3 tests only
pytest tests/test_vasp_qe.py tests/test_phonon.py tests/test_visualization.py tests/test_materials_project.py -v
# Run integration tests (excludes network-dependent literature tests)
pytest tests/test_phase2_integration.py -v -k "not literature"211 tests covering all tools: LAMMPS generation/parsing/analysis, CIF handling, VASP/QE input, MXene queries, ML prediction, Materials Project, phonon analysis, visualization, and MCP server integration.
Roadmap
DFT/CIF file parsing and analysis
MXene database queries
ML-accelerated property prediction
ASE (Atomic Simulation Environment) integration
arXiv literature search
Materials Project API integration
Trajectory visualization tools
VASP/QE input generation
Phonon band structure tools
Contributing
Contributions welcome! Whether it's bug fixes, new tools, or documentation.
git clone https://github.com/Nour-elhaq/scimcp.git
cd scimcp
pip install -e ".[dev]"
pytestLicense
MIT License — see LICENSE for details.
Built for the computational materials science community
Available Tools
12 toolslammps_d2minA
Compute non-affine displacement D²min for each particle between two frames.
D²min measures how much a particle's displacement deviates from the best-fit affine deformation of its neighbors. High D²min = plastic event.
Args: positions_t0_json: JSON string, shape (N, 3) positions at time t0. positions_t1_json: JSON string, shape (N, 3) positions at time t1. r_cut: Cutoff radius for neighbor finding.
Inputs: positions_t0_json (required), positions_t1_json (required), r_cut. Returns: result
lammps_estimate_viscosityA
Estimate viscosity from shear rate vs shear stress data.
Fits a power-law model: stress = K * rate^n, where n=1 is Newtonian, n<1 is shear-thinning, n>1 is shear-thickening.
Args: shear_rates_json: JSON array of shear rates. shear_stresses_json: JSON array of corresponding shear stresses.
Inputs: shear_rates_json (required), shear_stresses_json (required). Returns: result
lammps_file_summaryA
Get a summary of a LAMMPS output file (dump or thermo).
Identifies the file type and returns key statistics: number of frames, atoms, columns, box dimensions, or thermo time-series stats.
Args: filepath: Path to the LAMMPS output file.
Inputs: filepath (required). Returns: result
lammps_generate_inputA
Generate a complete LAMMPS input script for molecular dynamics simulation.
Creates a ready-to-run LAMMPS input file with support for LJ, EAM, Tersoff, Buckingham, and Coulomb potentials. Ensembles: NVT, NPT, NVE, NPH. Optional energy minimization and shear deformation.
Args: atoms_per_side: Number of unit cells per side of the cubic box. lattice_spacing: Lattice constant in Angstroms. potential: Interatomic potential type (lj, eam, tersoff, buckingham, coulomb). epsilon: LJ energy parameter. sigma: LJ length parameter. cutoff: Pair potential cutoff distance. ensemble: Thermodynamic ensemble (nvt, npt, nve, nph). temperature: Target temperature. pressure: Target pressure (for NPT/NPH). timestep: Integration timestep. n_steps: Total number of MD steps. dump_freq: Frequency of trajectory dumps. minimize: Run energy minimization before dynamics. apply_shear: Apply shear deformation during dynamics. shear_rate: Shear strain rate. shear_direction: Shear plane (xy, xz, yz). boundary: Boundary conditions. output_file: If provided, write script to this file.
Inputs: sigma, cutoff, epsilon, n_steps, +14 more. Returns: result
lammps_generate_workflowA
Generate a multi-step LAMMPS workflow (minimize → equilibrate → production).
Creates a complete input script with three sequential phases:
Energy minimization (optional)
Equilibration (NVT or NPT)
Production run (with optional shear)
Args: atoms_per_side: Number of unit cells per side. lattice_spacing: Lattice constant. potential: Interatomic potential type. epsilon: LJ energy parameter. sigma: LJ length parameter. cutoff: Pair potential cutoff. timestep: Integration timestep. n_minimize_steps: Number of minimization steps (0 to skip). n_equilibrate_steps: Number of equilibration steps. equilibrate_temp: Temperature for equilibration. equilibrate_ensemble: Ensemble for equilibration. n_production_steps: Number of production steps. production_temp: Temperature for production. production_ensemble: Ensemble for production. production_pressure: Pressure for production (if NPT). apply_shear: Apply shear during production. shear_rate: Shear strain rate. shear_direction: Shear plane (xy, xz, yz). dump_freq: Dump frequency during production. thermo_freq: Thermodynamic output frequency. output_file: Optional file path to write the script.
Inputs: sigma, cutoff, epsilon, timestep, +17 more. Returns: result
lammps_identify_plastic_eventsA
Identify particles that underwent plastic rearrangement.
Args: d2min_json: JSON string with D²min values for each particle. threshold: D²min threshold for plastic events.
Inputs: d2min_json (required), threshold. Returns: result
lammps_nematic_orderA
Compute the scalar nematic order parameter S from quaternion data.
S measures alignment of anisotropic particles. S=1 is perfect alignment, S=0 is isotropic, S=-0.5 is perpendicular alignment.
Input is a JSON array of quaternions [w, x, y, z] for each particle.
Args: quaternions_json: JSON string with shape (N, 4) quaternion data. Example: "[[1,0,0,0], [0.9,0.1,0,0], [0.8,0.2,0.1,0]]"
Inputs: quaternions_json (required). Returns: result
lammps_nematic_vs_timeB
Compute nematic alignment S(t) over a trajectory.
Each frame contains quaternions for all particles at that timestep.
Args: quaternions_frames_json: JSON string — list of (N, 4) arrays, one per frame. Example: "[[[1,0,0,0],[0.9,0.1,0,0]], [[0.8,0.2,0.1,0],[0.7,0.3,0,0]]]"
Inputs: quaternions_frames_json (required). Returns: result
lammps_nematic_vs_zA
Compute nematic alignment profile S(z) along the z-axis.
Bins particles by z-coordinate and computes S in each bin, useful for studying alignment near surfaces or interfaces.
Args: quaternions_json: JSON string with shape (N, 4) quaternion data. z_positions_json: JSON string with shape (N,) z-coordinates. n_bins: Number of bins along z.
Inputs: quaternions_json (required), z_positions_json (required), n_bins. Returns: result
lammps_parse_dumpA
Parse a LAMMPS dump file and return trajectory frame summaries.
Reads lammpstrj files and extracts atom positions, box dimensions, and metadata for each frame.
Args: filepath: Path to the LAMMPS dump file. max_frames: Maximum number of frames to parse (0 = all).
Inputs: filepath (required), max_frames. Returns: result
lammps_parse_thermoA
Parse LAMMPS thermodynamic output and return time-series data.
Reads a LAMMPS log file or thermo.dat file and extracts columns like Step, Temp, PotEng, TotEng, Press, etc.
Args: filepath: Path to the LAMMPS thermo output file.
Inputs: filepath (required). Returns: result
lammps_shear_sweepA
Generate LAMMPS input scripts for a shear-rate sweep.
Creates one input script per shear rate to study rheological behavior, shear thinning/thickening, and viscosity as a function of shear rate.
Args: shear_rates: JSON array of shear rates to simulate. atoms_per_side: Number of unit cells per side. lattice_spacing: Lattice constant. potential: Interatomic potential type. temperature: Simulation temperature. n_equilibrate: Number of equilibration steps. n_production: Number of production steps. shear_direction: Shear plane (xy, xz, yz). output_dir: Directory to write scripts.
Inputs: potential, output_dir, shear_rates, temperature, +5 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Tools are largely distinct in function, but generate_input, generate_workflow, and shear_sweep all produce LAMMPS input scripts, and the three nematic tools share a prefix; descriptions clarify the differences, but a few pairs could be confused at first glance.
All tools share the lammps_ prefix, but the suffix mixes verb_noun (generate_input, parse_thermo, identify_plastic_events) with noun phrases (file_summary, nematic_order, shear_sweep). The pattern is readable but not fully consistent.
With 12 tools covering simulation setup, parsing, and analysis, the server is well-scoped and each tool serves a distinct phase of the LAMMPS workflow.
The workflow from input generation to trajectory parsing to specialized analysis (nematic order, plastic events, viscosity) is well covered. Minor gaps exist, such as no tool for modifying existing input files or computing other common structural properties, but the core lifecycle is complete.
Maintenance
Related MCP Connectors
MD workbench for agents: 13 analysis tools, renders, hosted GPU runs; LAMMPS + OpenMM.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Stateless agentic tools over MCP: concept extraction, long-context, knowledge graph, planning.
AI orchestration for computational chemistry and HPC workflows.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceA Model Context Protocol server that enables AI assistants to interact with LAMMPS for molecular dynamics simulations through natural language commands.13Apache 2.0
- AlicenseNot gradedqualityCmaintenanceAn MCP server for quantum chemistry that enables LLMs to perform electronic structure analysis, parse calculation outputs, and generate 3D orbital visualizations. It integrates tools like PySCF, cclib, and py3Dmol to facilitate molecular structure manipulation and bonding analysis through natural language.BSD 3-Clause

colabfit-mcpofficial
FlicenseNot gradedqualityDmaintenanceAn MCP server for discovering ColabFit materials science datasets and training MACE interatomic potentials on local hardware, enabling AI assistants to search, download, train, and validate models.3-- AlicenseAqualityCmaintenanceAn interactive MCP server for FAIRChem and ASE simulations that allows LLM agents to load a model once and steer relaxations, MD, NEB, phonons, and minima searches mid-flight, with live monitoring and code introspection.171MIT