crystallography-mcp
Servidor MCP de cristalografía
Inspección de CIF, espaciados d, patrones de polvo y huellas dactilares de polimorfos de triacilglicerol, respaldado por pymatgen.
Construido el 21 de agosto de 2026 para el trabajo de Laurelate bay-nut-fat, pero de dominio general.
Por qué esto y no un MCP de VESTA
VESTA no tiene interfaz de scripting — sin argumentos de línea de comandos documentados, sin modo por lotes, sin macros, sin operación headless. Un MCP sobre él solo podría ejecutar open -a VESTA file.cif y capturar la ventana. pymatgen expone la ciencia real, así que eso es lo que esto envuelve.
Mantén VESTA como visor humano. Es genuinamente bueno en eso.
Related MCP server: mofstructure-mcp
Configuración
Necesita Python ≥3.10 (el pymatgen actual lo requiere) y su propio venv:
python3 -m venv ~/.venvs/crystal
~/.venvs/crystal/bin/python -m pip install -r requirements.txtRegístralo con Claude Code en el ámbito de usuario, para que se cargue en cada sesión:
claude mcp add -s user crystallography -- \
"$HOME/.venvs/crystal/bin/python" \
"$HOME/Documents/crystallography-mcp/server.py"Comprueba y elimina:
claude mcp list
claude mcp remove -s user crystallographyFunciona con cualquier cliente MCP, no solo con Claude Code — es un servidor stdio simple, así que apunta tu cliente a <venv python> server.py.
Herramientas
Tool | Qué hace |
| Enumera las estructuras dentro de un CIF. Llama a esto primero en un archivo desconocido. |
| Celda, volumen, composición, densidad, grupo espacial de spglib |
| d y 2θ para reflexiones específicas |
| Patrón calculado completo con índices hkl e intensidades relativas |
| Veredicto α / β′ / β a partir de los espaciados cortos de una estructura |
| Veredicto α / β′ / β a partir de un escaneo experimental (lista o archivo de dos columnas) |
| Ajuste de |
La trampa de múltiples bloques de datos
Algunos CIF depositados contienen más de una estructura. vanlangevelde2000_CLC_MPM_bprime.cif contiene ambas CLC (a = 57.368 Å, la plantilla β′ que importa) y MPM (a = 76.21 Å). Tomar el bloque 0 silenciosamente es como terminas analizando la estructura equivocada. list_datablocks existe para hacer eso visible.
Huellas dactilares de polimorfos
Espaciados cortos de subcelda de diagnóstico, Å:
Forma | Líneas | Firma |
α | 4.15 | línea ancha única, subcelda hexagonal |
β′ | 4.34 / 4.11 + 3.85 / 3.80 | doblete, ortorrómbica perpendicular |
β | 4.60, 3.85, 3.70 | singlete 4.6 fuerte, triclínica paralela |
Validado contra ambas plantillas resueltas, que tienen respuestas conocidas:
vanlangevelde2000_CLC_MPM_bprime.cifbloque 0 → BETA_PRIME ✓vanlangevelde1999_PPP_beta.cif→ BETA ✓
Y contra patrones sintéticos construidos a partir de cada conjunto de líneas de referencia → veredicto correcto en los tres casos.
Limitaciones conocidas
Las intensidades no son de grado Rietveld. Factores de forma tabulados, Debye–Waller omitido. Las posiciones de los picos son exactas; las intensidades relativas son suficientes para clasificar líneas, no para refinar ocupaciones.
La selección de picos es deliberadamente simple — máximos locales con un filtro de prominencia de línea base plana. Para un escaneo débil o ruidoso, baja
min_prominencey revisa visualmente la lista seleccionada antes de confiar en el veredicto.spglib puede discrepar con el grupo espacial declarado del CIF. Re-deriva la simetría a partir de las coordenadas, y las estructuras de cadena larga publicadas a menudo tienen sitios de extremo de cadena desordenados o divididos. Afloja
symprecantes de concluir algo.Que
compare_structuresdevuelva False entre diferentes longitudes de cadena es esperado, no un error — una plantilla C16 nunca coincidirá con una grasa C10/C12.
Nota de procedencia
Este servidor encontró un error real en R&D/modeling/baynutfat/structure.py: la traslación de centrado I se estaba aplicando dos veces para β′-CLC (el CIF ya lista los 8 operadores centrados), dejando 4 carbonos duplicados — 284 C donde debería haber 280. Las posiciones de los picos no se vieron afectadas, los factores de estructura estaban ligeramente desviados. Ahora está protegido por la prueba de aceptación T10 y modeling/tests/crosscheck_pymatgen.py.
Ese es el argumento para tener una segunda implementación disponible.
Cómo citar
Si un resultado de esto termina en una publicación, cita a pymatgen — hace el trabajo real:
S.P. Ong et al., Comput. Mater. Sci. 68, 314–319 (2013).
Y si renderizaste algo en VESTA junto a esto, VESTA pide ser citado también:
K. Momma and F. Izumi, J. Appl. Crystallogr. 44, 1272–1276 (2011).
Licencia
MIT — ver 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