Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
beita6969 avatar

Materials Project

  • 16 installs
  • 869 repo stars
  • Updated June 8, 2026
  • beita6969/scienceclaw

materials-project is a Claude skill that queries the Materials Project API v3 for computed properties of 150k+ inorganic crystalline materials.

About

This skill gives an agent curl recipes for querying the Materials Project API v3. It covers searching materials by chemical formula or MP ID and filtering by band gap, formation energy, density, and thermodynamic stability. Developers use it when they need computed properties for inorganic crystalline materials in a research or screening workflow.

  • Queries Materials Project API v3 for crystal structures, band gaps, formation energies
  • Covers 150k+ inorganic crystalline materials with DFT-computed properties
  • curl recipes for formula, material-ID, band-gap, stability, and element filters

Materials Project by the numbers

  • 16 all-time installs (skills.sh)
  • Ranked #1,318 of 2,065 Data Science & ML skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
At a glance

materials-project capabilities & compatibility

Free skill; requires a Materials Project API key (free registration).

Capabilities
materials screening · molecular dynamics · math computation
Use cases
data analysis · research
Pricing
Bring your own API key
From the docs

What materials-project says it does

Query the Materials Project API v3 for crystal structures, band gaps, formation energies, and thermodynamic stability of 150k+ inorganic materials.
SKILL.md
All requests require the `X-API-KEY` header set to your Materials Project API key.
SKILL.md
NEVER fabricate database results from training data.
SKILL.md
npx skills add https://github.com/beita6969/scienceclaw --skill materials-project

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs16
repo stars869
Last updatedJune 8, 2026
Repositorybeita6969/scienceclaw

What it does

Look up DFT-computed properties of inorganic materials by formula, MP ID, band gap, or stability from the Materials Project database.

Who is it for?

Searching inorganic materials by formula, MP ID, band gap, energy, or thermodynamic stability.

Skip if: Organic molecules, proteins, or drug compounds.

When should I use this skill?

You need crystal structures, band gaps, formation energies, or stability data from the Materials Project database.

What you get

Retrieves verified DFT-computed materials properties directly from the Materials Project v3 API.

  • Filtered candidate materials tables with computed properties

By the numbers

  • Covers 150k+ inorganic crystalline materials
  • 6 best-practice rules listed

Files

SKILL.mdMarkdownGitHub ↗

Materials Project API

Search and retrieve computed materials data from the Materials Project database (v3 API). Covers 150k+ inorganic crystalline materials with DFT-computed properties.

Authentication

All requests require the X-API-KEY header set to your Materials Project API key. Store it in the MP_API_KEY environment variable.

export MP_API_KEY="your_api_key_here"

API Base URL

https://api.materialsproject.org/v3

Search by Chemical Formula

curl -s -H "X-API-KEY: $MP_API_KEY" \
  "https://api.materialsproject.org/v3/materials/summary/?formula=Fe2O3&_fields=material_id,formula_pretty,band_gap,formation_energy_per_atom,energy_above_hull,symmetry,density&_limit=10"

Lookup by Material ID

curl -s -H "X-API-KEY: $MP_API_KEY" \
  "https://api.materialsproject.org/v3/materials/summary/?material_ids=mp-149&_fields=material_id,formula_pretty,band_gap,formation_energy_per_atom,energy_above_hull,symmetry,density,structure"

Filter by Band Gap Range

curl -s -H "X-API-KEY: $MP_API_KEY" \
  "https://api.materialsproject.org/v3/materials/summary/?band_gap_min=1.0&band_gap_max=2.0&_fields=material_id,formula_pretty,band_gap,formation_energy_per_atom&_limit=20"

Filter by Thermodynamic Stability

Find materials on or near the convex hull (energy_above_hull close to 0 = stable):

curl -s -H "X-API-KEY: $MP_API_KEY" \
  "https://api.materialsproject.org/v3/materials/summary/?energy_above_hull_max=0.025&elements=Li,Fe,O&_fields=material_id,formula_pretty,energy_above_hull,formation_energy_per_atom&_limit=20"

Filter by Elements

Search for materials containing specific elements:

curl -s -H "X-API-KEY: $MP_API_KEY" \
  "https://api.materialsproject.org/v3/materials/summary/?elements=Si,Ge&_fields=material_id,formula_pretty,band_gap,density&_limit=15"

Key Properties

PropertyDescriptionUnit
band_gapElectronic band gapeV
formation_energy_per_atomFormation energy per atom from elementseV/atom
energy_above_hullEnergy above convex hull (0 = stable)eV/atom
symmetrySpace group and crystal system-
densityComputed densityg/cm^3
volumeUnit cell volumeAngstrom^3
nsitesNumber of sites in the unit cell-

Parse Results with Python

curl -s -H "X-API-KEY: $MP_API_KEY" \
  "https://api.materialsproject.org/v3/materials/summary/?formula=TiO2&_fields=material_id,formula_pretty,band_gap,energy_above_hull,density&_limit=10" \
  | python3 -c "
import sys, json
data = json.load(sys.stdin)
for mat in data.get('data', []):
    mid = mat.get('material_id', 'N/A')
    formula = mat.get('formula_pretty', 'N/A')
    bg = mat.get('band_gap', 'N/A')
    ehull = mat.get('energy_above_hull', 'N/A')
    rho = mat.get('density', 'N/A')
    print(f'{mid:12s} {formula:10s} Eg={bg} eV  Ehull={ehull} eV/at  rho={rho} g/cm3')
"

Pagination

Use _limit and _skip for pagination:

# First page
curl -s -H "X-API-KEY: $MP_API_KEY" \
  "https://api.materialsproject.org/v3/materials/summary/?elements=Cu,Zn&_fields=material_id,formula_pretty&_limit=50&_skip=0"

# Second page
curl -s -H "X-API-KEY: $MP_API_KEY" \
  "https://api.materialsproject.org/v3/materials/summary/?elements=Cu,Zn&_fields=material_id,formula_pretty&_limit=50&_skip=50"

Common Query Patterns

  • Solar cell absorbers: band_gap_min=1.0&band_gap_max=1.8&energy_above_hull_max=0.05
  • Wide band gap semiconductors: band_gap_min=3.0&band_gap_max=6.0
  • Metals: band_gap_max=0&is_metal=true
  • Specific composition: chemsys=Li-Fe-P-O (all materials in that chemical system)

Best Practices

1. Always specify _fields to limit response size and speed up queries. 2. Use energy_above_hull_max=0.025 to filter for thermodynamically stable phases. 3. Check is_deprecated field to avoid outdated entries. 4. Use chemsys for phase diagram queries across a chemical system. 5. Rate limit: keep requests under 5 per second to avoid throttling. 6. For bulk downloads, use the mp-api Python client instead of REST calls.

Data Integrity Rule

NEVER fabricate database results from training data. Every protein ID, gene name, compound property, pathway ID, structure detail, and metadata MUST come from an actual API response in this conversation. If the API returns no results, errors, or partial data, report exactly what happened. Do not "fill in" missing data from memory or make up identifiers.

Related skills

FAQ

What database does this skill query?

The Materials Project API v3, covering 150k+ inorganic crystalline materials with DFT-computed properties.

Does it need an API key?

Yes, all requests require the X-API-KEY header set from the MP_API_KEY environment variable.

Data Science & MLanalyticspipelines

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.