shelx-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SHELX_DIRECTORY | Yes | Path to the folder containing SHELX executables (e.g., shelxl, shelxs, shelxt, etc.) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| run_shelxA | Run a SHELX console program on supplied input files and return its output. Args:
program: one of shelxs, shelxl, shelxt, shelxc, shelxd, shelxe, ciftab.
ins: full text of the Returns the program output, return code, and (if requested) the generated files. |
| solveA | Run structure solution (default SHELXS direct methods; use shelxt for dual-space). Requires an .ins file set up for solution (TITL, CELL, ZERR, LATT, SYMM, SFAC, UNIT, plus a solution-specific instruction such as TREF or FMAP, and HKLF/END) and the corresponding .hkl data. |
| refineA | Run least-squares structure refinement with SHELXL (or CGLS via shelxt). Requires a complete .ins file (with L.S. / CGLS and HKLF instructions) and the .hkl reflection data. Returns the .lst summary and refined .res model. |
| list_commandsA | List every SHELXL instruction the server knows about (alphabetical). |
| command_helpA | Return the SHELXL instruction signature and full description for Example: command_help("ANIS") or command_help("L.S."). |
| search_commandsA | Search SHELXL instructions by keyword across names and descriptions. |
| list_solution_keywordsA | List the keywords ( Unlike Args: program: one of shelxs, shelxd, shelxd_mm, shelxt, shelxc, shelxe. Returns the sorted keyword list, or a message if the program is unsupported. |
| solution_helpA | Return the signature and description for one SHELX solution keyword. Covers Args:
program: one of shelxs, shelxd, shelxd_mm, shelxt, shelxc, shelxe.
keyword: the instruction card, switch or option name (e.g. Returns the signature and full description, or a not-found message. |
| validate_insB | Check an .ins file for the SHELXL header cards required before HKLF/END. Reports which mandatory cards (TITL, CELL, ZERR, LATT, SYMM, SFAC, UNIT, HKLF, END) are present, plus a few common mistakes. |
| analyze_resultsB | Summarise refinement metrics from SHELXL Returns R1, wR2, GooF (S), max shift/esd, atom count and any warning lines. |
| analyze_solutionA | Summarise a SHELXT structure-solution run from SHELXT writes its console summary to |
| shelx_infoA | Report which SHELX directory is configured and which programs are available. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Most tools have distinct purposes: run_shelx is a generic runner, while solve and refine are specialized wrappers that could be confused with it but are clearly described. The pairs list_commands/list_solution_keywords and command_help/solution_help are differentiated by domain (refinement vs. solution), but agents might initially pick the wrong one.
Tool names are predominantly snake_case and verb-first (search_commands, validate_ins, analyze_results), but a few are noun-first (command_help, solution_help, shelx_info). The pattern is mostly consistent and readable, with minor deviations.
With 12 tools, the server is well-scoped for the SHELX crystallography domain. Each tool covers a distinct aspect (running programs, getting help, validating input, analyzing output), and the count is within the ideal 3-15 range without feeling excessive.
The tool surface covers the full workflow: searching/listing/help for commands and keywords, running any SHELX program, dedicated solve/refine wrappers, input validation, output analysis, and environment reporting. No obvious gaps that would block a typical crystallographic workflow.