Skip to main content
Glama
Chenghao-Wu

MCP LAMMPS Server

by Chenghao-Wu

MCP LAMMPS Server

A Model Context Protocol (MCP) server that enables AI assistants to interact with LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator) for molecular dynamics simulations.

Status

This is still in experimental status. This package is developed in collaboration with AI coder.

Update 06.12.2025

Note: all tests are performed with Sonnet 4.5

Add support for organic liquids simulations with gaff

simple test prompt:

Organic Liquid Simulation

Create a complete organic liquid simulation with these parameters: - Name: "ethanol_liquid_md" - Molecules: [{"smiles": "CCO", "count": 500, "name": "ethanol"}] - Target density: 0.789 g/cm³ - Force field: GAFF - Temperature: 298.15 K - Pressure: 1.0 atm - Timestep: 0.5 fs - Equilibration: 10000 steps - Production: 100000 steps

Multi-Component Simulation

Set up a ternary mixture simulation called "organic_solvent_mix": - Ethanol (CCO): 30% mole fraction - Acetone (CC(=O)C): 40% mole fraction - Toluene (Cc1ccccc1): 30% mole fraction - Temperature: 300 K - Pressure: 1 atm - Equilibration: 20000 steps - Production: 200000 steps

Related MCP server: MCP Toolkit

Overview

This MCP is part of our workflow for the autonomous computational materials design with LLM. This MCP server provides a standardized interface for controlling LAMMPS molecular dynamics simulations through natural language commands. It enables AI assistants to:

  • Set up and configure molecular dynamics simulations

  • Run equilibration and production simulations

  • Monitor simulation progress in real-time

  • Analyze simulation results

  • Manage simulation workflows

Features

Core Capabilities

  • Simulation Management: Create, configure, and run LAMMPS simulations

  • Molecular Structure Processing: Convert SMILES to 3D structures, assign GAFF atom types

  • Force Field Support: GAFF (General AMBER Force Field) parameter assignment

  • LAMMPS Data File Generation: Create simulation input files from molecular structures

  • Real-time Monitoring: Track simulation progress and system properties

  • Analysis Tools: Process trajectories and calculate thermodynamic properties (with MDAnalysis)

  • Charge Calculation: Gasteiger, MMFF94, and GAFF charge estimation methods

  • Workflow Automation: Define and execute multi-step simulation workflows

  • SLURM Integration: Submit and manage simulations on HPC clusters (optional)

Supported Molecular Systems

  • Small organic molecules

  • Liquid systems and mixtures

  • Polymer systems

  • Custom molecular structures via SMILES or coordinate files

Installation

Prerequisites

  • Python 3.9 or higher

  • LAMMPS with Python interface

  • RDKit (for molecular structure processing)

  • Packmol (for organic liquid box creation with proper molecular packing)

System Dependencies

Packmol Installation (Required for organic liquid simulations):

# Ubuntu/Debian sudo apt install packmol # macOS (Homebrew) brew install packmol # From source # Download from http://m3g.iqm.unicamp.br/packmol/

Optional Dependencies

  • MDAnalysis (for advanced trajectory analysis)

  • OpenBabel (for additional molecular format conversion - requires system Open Babel libraries)

  • pytraj (for additional trajectory analysis - requires cpptraj)

  • SLURM (for HPC cluster job submission and management)

Quick Start

  1. Clone the repository:

    git clone https://github.com/mcp-lammps/mcp-lammps.git cd mcp-lammps
  2. Create a virtual environment:

    python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Install in development mode:

    pip install -e .

Usage

Basic Usage

Start the MCP server:

python -m mcp_lammps.server

Configuration

The server can be configured through environment variables or configuration files:

export MCP_LAMMPS_LOG_LEVEL=INFO export MCP_LAMMPS_WORK_DIR=/path/to/workspace python -m mcp_lammps.server

SLURM Cluster Integration

For HPC cluster environments, MCP LAMMPS supports SLURM job submission:

  1. Configure slurm_config.yaml in your workspace:

global_defaults: partition: "compute" nodes: 1 ntasks_per_node: 4 time_limit: "24:00:00"
  1. Submit simulations to SLURM cluster via AI commands or programmatically

See SLURM Integration Guide for detailed instructions.

Example Prompts

Basic Organic Molecule Simulation:

Create a complete ethanol liquid simulation: - SMILES: CCO - 200 molecules - Temperature: 298 K - Pressure: 1 atm - GAFF force field - 10,000 equilibration steps, 50,000 production steps

Multi-Component Mixture:

Set up a binary mixture simulation: - Component 1: Ethanol (CCO, 100 molecules) - Component 2: Acetone (CC(=O)C, 100 molecules) - Temperature: 300 K - NPT ensemble - GAFF force field

Custom Molecule from SMILES:

Create a simulation for ibuprofen: - SMILES: CC(C)CC1=CC=C(C=C1)C(C)C(=O)O - 50 molecules - Calculate partial charges using Gasteiger method - NVT ensemble at 310 K

Development

Project Structure

mcp_lammps/ ├── src/mcp_lammps/ │ ├── server.py # Main MCP server │ ├── lammps_interface.py # LAMMPS wrapper and control │ ├── simulation_manager.py # Simulation lifecycle management │ ├── data_handler.py # Data processing and file I/O │ ├── tools/ # MCP tool implementations │ │ ├── setup_tools.py # Simulation setup tools │ │ ├── control_tools.py # Simulation control tools │ │ ├── analysis_tools.py # Analysis and property calculation │ │ ├── monitoring_tools.py # Real-time monitoring │ │ └── organic_tools.py # Organic molecule handling │ ├── utils/ # Utility modules │ │ ├── molecular_utils.py # Molecular structure processing │ │ ├── forcefield_utils.py # GAFF force field handling │ │ ├── converters.py # Format conversion utilities │ │ └── helpers.py # General helper functions │ ├── parsers/ # Parameter file parsers │ │ └── gaff_parser.py # GAFF force field parser │ └── data/ # Force field data files │ └── gaff_parameters.json ├── tests/ # Comprehensive test suite ├── examples/ # Usage examples and sample data └── docs/ # Documentation

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests for new functionality

  5. Ensure all tests pass

  6. Submit a pull request

License

This project is licensed under the Apache License - see the LICENSE file for details.

Acknowledgments

  • LAMMPS development team for the molecular dynamics engine

  • Model Context Protocol community for the MCP framework

  • Scientific computing community for inspiration and feedback

  • LLM for writing the code

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Chenghao-Wu/MCP_LAMMPS'

If you have feedback or need assistance with the MCP directory API, please join our Discord server