Materials Project MCP Server

A Model Context Protocol (MCP) server for querying the Materials Project database using the mp_api client.

Local serverstdioPython

What is the Materials Project MCP Server?

A Model Context Protocol (MCP) server for querying the Materials Project database using the mp_api client.

What it needs from you

  • Materials Project API Key - Get one here (free account required) - Docker Desktop (must be running) - Python 3.12+ with uv

More MCP options

Compare MCP servers by category, or browse hosted MCP servers if you prefer an endpoint over a local process.

Maintainer setup documentation.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
search_materialsSearch by elements, band gap range, stability
get_structure_by_idGet crystal structures and lattice parameters
get_electronic_bandstructurePlot electronic band structures
get_electronic_dos_by_idGet electronic density of states
get_phonon_bandstructurePlot phonon band structures
get_phonon_dos_by_idGet phonon density of states
get_ion_reference_data_for_chemsysDownload aqueous ion reference data for Pourbaix diagrams
get_cohesive_energyCalculate cohesive energies
get_atom_reference_dataRetrieve reference energies of isolated neutral atoms
get_magnetic_data_by_idMagnetic properties and ordering
get_charge_density_by_idCharge density data
get_dielectric_data_by_idDielectric constants and properties
get_diffraction_patternsX-ray and neutron diffraction
get_xRay_absorption_spectraXAFS, XANES, EXAFS spectra
get_elastic_constantsMechanical properties
get_suggested_substratesFind substrates for thin films
get_thermo_stabilityThermodynamic stability analysis
get_surface_propertiesSurface energies, work functions, and Wulff shapes
get_grain_boundariesComputed grain boundaries for a material
get_insertion_electrodesInsertion electrode and battery data
get_oxidation_statesElement oxidation states, formula, and structure info

How to install the Materials Project MCP Server

{
  "mcpServers": {
    "Materials Project MCP": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "MP_API_KEY=your-materials-project-api-key",
        "benedict2002/materials-project-mcp"
      ]
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

  • Materials Project API Key - Get one here (free account required) - Docker Desktop (must be running) - Python 3.12+ with uv

Example prompts to try

  • “Use Materials Project MCP to search materials.”
  • “Use Materials Project MCP to get structure by id.”
  • “Use Materials Project MCP to get electronic bandstructure.”

Frequently asked questions

A Model Context Protocol (MCP) server for querying the Materials Project database using the mp_api client. Confirm the tools offered by your installed version in the connected client. Tool availability and permissions depend on the server and account configuration.