search_materialsLABSCO SUMMARY
The Materials Project's property surface, addressable by material id in one call.
The tools follow how the database is actually organised: search first, then pull the specific property set you need by material id — a band structure, elastic constants, an absorption spectrum. get_suggested_substrates and get_insertion_electrodes are the applied ones most people do not know are there.
What it is
A server over the Materials Project database that exposes search and per-material property lookups through the project's own API client.
What you get
- search_materials by elements, band-gap range and stability
- get_structure_by_id for crystal structures and lattice parameters
- Electronic structure — get_electronic_bandstructure and get_electronic_dos_by_id
- Phonons — get_phonon_bandstructure and get_phonon_dos_by_id
- Thermodynamics and energies — get_thermo_stability, get_cohesive_energy, get_atom_reference_data and get_ion_reference_data_for_chemsys
- get_magnetic_data_by_id, get_charge_density_by_id and get_dielectric_data_by_id for magnetic, charge-density and dielectric properties
- Spectra and diffraction — get_diffraction_patterns and get_xRay_absorption_spectra
- Mechanical and surface properties — get_elastic_constants, get_surface_properties and get_grain_boundaries
- Applied data — get_insertion_electrodes for battery materials, get_suggested_substrates for thin films and get_oxidation_states
Requirements
A free Materials Project account and its API key, handed to the server at launch. Runs as a Docker container with Docker Desktop running, or directly under Python with uv.
Setup effort
One command plus a key — docker pull benedict2002/materials-project-mcp, then supply credentials
USE CASES
Screening candidate materials by property
Search by elements, band gap and stability, then pull the structures of the survivors.
Checking whether a material is worth simulating
Read its thermodynamic stability and cohesive energy before committing compute to it.
Comparing electronic and vibrational behaviour
Pull the electronic and phonon band structures and densities of state for the same material.
Planning a thin-film experiment
Ask for suggested substrates and the surface properties of the film material.
Matching a measurement to a candidate
Fetch the computed diffraction patterns or absorption spectra and compare them against what you measured.
21 tools
Listed in project docs. Your client may show a different list.
get_structure_by_idget_electronic_bandstructureget_electronic_dos_by_idget_phonon_bandstructureget_phonon_dos_by_idget_ion_reference_data_for_chemsysget_cohesive_energyget_atom_reference_dataget_magnetic_data_by_idget_charge_density_by_idget_dielectric_data_by_idget_diffraction_patternsget_xRay_absorption_spectraget_elastic_constantsget_suggested_substratesget_thermo_stabilityget_surface_propertiesget_grain_boundariesget_insertion_electrodesget_oxidation_statesBEFORE YOU INSTALL
What to know first
Tools you get
21 tools named in the project's documentation.
Requires
- Docker (the published image is linux/amd64)
- A Materials Project API key, passed as MP_API_KEY
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
docker pull benedict2002/materials-project-mcpMCP Clients
Claude Desktop — Docker
{
"mcpServers": {
"Materials Project MCP": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"MP_API_KEY=<YOUR_MP_API_KEY>",
"benedict2002/materials-project-mcp"
]
}
}
}VS Code — Docker
{
"inputs": [],
"servers": {
"Materials Project MCP": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"MP_API_KEY=<YOUR_MP_API_KEY>",
"benedict2002/materials-project-mcp"
]
}
}
}