crystallography-mcp
Crystallography MCP server
CIF-Inspektion, d-Abstände, Pulverdiagramme und Triacylglycerin-Polymorph-Fingerprinting, unterstützt durch pymatgen.
Erstellt am 21. August 2026 für die Laurelate-Bay-Nuss-Fett-Arbeit, aber domänenübergreifend einsetzbar.
Warum dies und nicht ein VESTA-MCP
VESTA hat keine Skriptschnittstelle — keine dokumentierten Befehlszeilenargumente, keinen Batch-Modus, keine Makros, keinen Headless-Betrieb. Ein MCP darüber könnte nur open -a VESTA file.cif ausführen und einen Screenshot des Fensters machen. pymatgen legt die eigentliche Wissenschaft offen, und genau das wird hier gekapselt.
Behalte VESTA als menschlichen Viewer. Dafür ist es wirklich gut.
Related MCP server: mofstructure-mcp
Einrichtung
Benötigt Python ≥3.10 (die aktuelle pymatgen-Version verlangt es) und eine eigene venv:
python3 -m venv ~/.venvs/crystal
~/.venvs/crystal/bin/python -m pip install -r requirements.txtBei Claude Code auf Benutzerebene registrieren, damit es in jeder Sitzung geladen wird:
claude mcp add -s user crystallography -- \
"$HOME/.venvs/crystal/bin/python" \
"$HOME/Documents/crystallography-mcp/server.py"Prüfen und entfernen:
claude mcp list
claude mcp remove -s user crystallographyEs funktioniert mit jedem MCP-Client, nicht nur mit Claude Code — es ist ein einfacher stdio-Server, also richte deinen Client auf <venv python> server.py aus.
Werkzeuge
Werkzeug | Was es tut |
| Die Strukturen in einer CIF auflisten. Bei unbekannten Dateien zuerst aufrufen. |
| Zelle, Volumen, Zusammensetzung, Dichte, spglib-Raumgruppe |
| d und 2θ für bestimmte |
| Vollständiges berechnetes Muster mit hkl-Indizes und relativen Intensitäten |
| α / β′ / β-Urteil aus den Kurzabständen einer Struktur |
| α / β′ / β-Urteil aus einem experimentellen Scan (Liste oder zweispaltige Datei) |
| pymatgen- |
Die Multi-Datablock-Falle
Einige hinterlegte CIFs enthalten mehr als eine Struktur. vanlangevelde2000_CLC_MPM_bprime.cif
enthält sowohl CLC (a = 57,368 Å, die β′-Vorlage, die zählt) als auch MPM (a = 76,21 Å). Block 0 stillschweigend zu nehmen, ist der Weg, auf dem man am Ende die falsche Struktur analysiert. list_datablocks existiert, um das sichtbar zu machen.
Polymorph-Fingerabdrücke
Diagnostische Subzellen-Kurzabstände, Å:
Form | Linien | Signatur |
α | 4,15 | einzelne breite Linie, hexagonale Subzelle |
β′ | 4,34 / 4,11 + 3,85 / 3,80 | Dublett, orthorhombisch senkrecht |
β | 4,60, 3,85, 3,70 | starkes 4,6-Singulett, triklin parallel |
Validierte gegen beide gelösten Vorlagen, die bekannte Antworten haben:
vanlangevelde2000_CLC_MPM_bprime.cifBlock 0 → BETA_PRIME ✓vanlangevelde1999_PPP_beta.cif→ BETA ✓
Und gegen synthetische Muster, die aus jedem Referenzliniensatz erstellt wurden → korrektes Urteil in allen drei Fällen.
Bekannte Grenzen
Intensitäten sind nicht Rietveld-tauglich. Tabellierte Formfaktoren, Debye–Waller weggelassen. Peak-Positionen sind exakt; relative Intensitäten reichen aus, um Linien zu ordnen, nicht um Besetzungen zu verfeinern.
Peak-Erkennung ist bewusst einfach — lokale Maxima mit einem Flachbasis-Prominenzfilter. Bei einem schwachen oder verrauschten Scan
min_prominencesenken und die erkannte Liste prüfen, bevor man dem Urteil vertraut.spglib kann mit der deklarierten Raumgruppe der CIF uneins sein. Es leitet die Symmetrie aus Koordinaten neu ab, und veröffentlichte Langkettenstrukturen tragen oft fehlgeordnete oder gespaltene Kettenendpositionen.
sympreclockern, bevor man Schlüsse zieht.compare_structuresmit False über verschiedene Kettenlängen hinweg ist erwartet, kein Fehler — eine C16-Vorlage wird nie zu einem C10/C12-Fett passen.
Herkunftshinweis
Dieser Server fand einen echten Fehler in R&D/modeling/baynutfat/structure.py: die I-Zentrierungs-Translation wurde für β′-CLC doppelt angewendet (die CIF listet bereits alle 8 zentrierten Operatoren), wodurch 4 Kohlenstoffe dupliziert wurden — 284 C, wo 280 sein sollten. Peak-Positionen waren nicht betroffen, Strukturfaktoren waren leicht daneben. Jetzt abgesichert durch Akzeptanztest T10 und modeling/tests/crosscheck_pymatgen.py.
Das ist das Argument dafür, eine zweite Implementierung verfügbar zu haben.
Zitieren
Wenn ein Ergebnis daraus in einer Publikation landet, zitiere pymatgen — es leistet die eigentliche Arbeit:
S.P. Ong et al., Comput. Mater. Sci. 68, 314–319 (2013).
Und wenn du etwas in VESTA daneben gerendert hast, bittet VESTA ebenfalls um Zitierung:
K. Momma and F. Izumi, J. Appl. Crystallogr. 44, 1272–1276 (2011).
Lizenz
MIT — siehe LICENSE.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables molecular visualization and analysis from SMILES strings using multiple rendering approaches (RDKit, NetworkX, Plotly, matplotlib), providing detailed molecular properties, validation, and batch processing capabilities for chemical structures.
- FlicenseNot gradedqualityDmaintenanceAn MCP server for deconstructing and analyzing Metal-Organic Framework (MOF) structures, including SBU and ligand identification, guest removal, and COF stacking analysis. It enables AI agents to perform automated chemical informatics and structural characterization on crystal structures via CIF files.1
- FlicenseNot gradedqualityBmaintenanceEnables querying and retrieving materials data from the Materials Project via MCP tools, supporting search, lookup, comparison, and export.1
- AlicenseBqualityBmaintenanceHeadless PyMOL for molecular visualization, GROMACS/LAMMPS MD trajectories, and clathrate-hydrate cage analysis: H-bond networks, F3/F4 order parameters, and TRACE cage perception + occupancy.32MIT
Related MCP Connectors
Materials MCP — computed (DFT) materials structures & thermodynamic properties.
Production-grade cryptography toolkit with 31 MCP tools for classical, PQC, and KMS workflows.
Crystallography Open Database (COD) MCP.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/rosettawang/crystallography-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server