MS-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MS_INSTALL_ROOT | Yes | Materials Studio 安装根目录,必须指向包含 etc\Scripting 的版本目录 | |
| MS_MCP_WORK_ROOT | Yes | 可写的独立任务工作区 | |
| MS_MCP_MODEL_ROOT | No | 已有 Materials Studio 模型目录(仅使用 Chapter 3 同步时设置) | |
| MS_MCP_ALLOW_COMPUTE | No | 设为1以提交消耗许可证或计算资源的任务(安全默认值0) | 0 |
| MS_MCP_REMOTE_SSH_KEY | No | SSH 私钥绝对路径(使用非默认密钥或用户目录变化时设置) | |
| MS_MCP_ALLOW_GUI_QUEUE | No | 设为1以默认允许结构化GUI队列工具(安全默认值0) | 0 |
| MS_MCP_EXPOSE_RAW_TOOLS | No | 设为1以暴露原始任意脚本工具(安全默认值0) | 0 |
| MS_MCP_REMOTE_JOBS_ROOT | No | Linux Gateway 作业根目录(远端版本、用户或 Gateway 根目录变化时设置) | |
| MS_MCP_REMOTE_SSH_TARGET | No | user@host 远程 SSH 目标(仅使用远程监控时设置) | |
| MS_MCP_ALLOW_EXTERNAL_INPUTS | No | 设为1以允许读取工作区外输入(安全默认值0) | 0 |
| MS_MCP_ALLOW_ARBITRARY_SCRIPT | No | 设为1以允许任意MaterialsScript(安全默认值0) | 0 |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ms_statusA | Check Materials Studio paths, RunMatScript availability, and MS-MCP workspace. |
| ms_codex_configA | Return an MCP server config snippet that can be pasted into Codex settings. |
| ms_prepare_compute_authorizationC | Issue a short-lived one-time token for one reviewed licensed calculation. Configure this tool to require explicit approval in Codex. |
| ms_queue_statusB | Inspect the optional MS-MCP GUI queue folders. |
| ms_gui_stateA | Get the stateful GUI session target: current document, current exported file, last job, and history. |
| ms_gui_project_dirB | Ensure and return the current MS-MCP task/session output directory under the workspace. |
| ms_gui_start_project_sessionA | Start a new MS-MCP task/session folder under the workspace, such as YYYY-MM-DD-1, for subsequent GUI modeling and calculation outputs. Use only when the user explicitly asks for a new task/session; normal modeling should reuse the Dashboard/current session. |
| ms_gui_set_current_documentC | Set the current Materials Studio GUI document for subsequent stateful operations. This does not create a file. |
| ms_gui_import_currentB | Queue an import into the open Materials Studio GUI project and make the imported document the current document. Import external source files only; do not import XSD files that MS-MCP just exported from the current GUI document. |
| ms_gui_download_cif_import_currentA | Download a CIF from an open supported source or direct CIF URL, store it once in the active task session, optionally import it into the open GUI project, and make it current. Use this before modeling when a reliable database CIF is available. Do not use this to bypass login/license walls; credentialed databases require user-provided existing credentials/API configuration. |
| ms_gui_find_cif_import_currentA | Search open crystallographic databases for a reliable CIF, download it once, import it into the current GUI project, and make it current. Use this before manually building a new crystal or molecular crystal. It only uses open sources; if the requested structure appears to require credentialed databases such as ICSD/CSD/Materials Project API, return candidates/reason so the user can provide access instead of bypassing login walls. |
| ms_gui_new_structure_currentA | Unified entry point for creating a new GUI structure. Decision order: if an open and reliable CIF can be found, download it and import it as the initial XSD/current GUI document; if a likely source exists but requires an account/API such as ICSD/CSD/Materials Project/OQMD, return candidates and ask the user for access instead of bypassing authentication; if no usable CIF source is available, fall back to controlled MCP GUI manual creation when manual atoms/cell data are provided. Build the primitive/base document first; do not name the initial document after a planned supercell size. Prefer this tool over direct create/import tools for first-time structure creation. |
| ms_gui_create_currentA | Create or replace the current GUI document from a MaterialsScript body. Before using this for a new structure, first try ms_gui_find_cif_import_current against open CIF sources; use manual construction only when no reliable open CIF is found or the user provides credentials/API access for a restricted source. By default it reuses the existing current/same-name document and rebuilds it in place to avoid duplicate .xsd files. |
| ms_gui_create_crystal_currentA | Create or replace the current GUI document as a periodic crystal/unit cell from lattice parameters and atom coordinates. Before using this for a new crystal, first try ms_gui_find_cif_import_current against open CIF sources; use manual construction only when no reliable open CIF is found or the user provides credentials/API access for a restricted source. Do not add vacuum here unless the user explicitly requested vacuum in the initial cell parameters. |
| ms_gui_set_lattice_currentC | Set lattice parameters on the current GUI crystal document in place. |
| ms_gui_make_supercell_currentC | Build a supercell from the current GUI periodic document in place, using Materials Studio BuildSuperCell. |
| ms_gui_add_vacuum_currentB | Add vacuum to the current GUI periodic document in place only when the user explicitly asks for vacuum. For an already-built 3D cell, extend_lattice increases the chosen lattice length while preserving Cartesian atom positions; for 2D surfaces, vacuum_slab uses CrystalBuilder VacuumSlab. |
| ms_gui_cleave_surface_vacuum_currentB | Cleave a surface from the current GUI crystal and build a vacuum slab through Materials Studio SurfaceBuilder + CrystalBuilder. Use only when the user explicitly asks to cleave/build a surface or create a vacuum slab by the manual surface workflow. |
| ms_gui_apply_currentC | Queue a MaterialsScript body that modifies the current GUI document in place. Use this for 'on this molecule...' edits. |
| ms_gui_dmol3_optimize_currentB | Queue a DMol3 GeometryOptimization on the current GUI document and organize calculation outputs under a dedicated calculation name/folder. |
| ms_gui_forcite_optimize_currentC | Queue a Forcite GeometryOptimization on the current GUI document using a manual-like calculation folder layout. |
| ms_gui_prepare_remote_castep_batchB | Prepare independent native CASTEP geometry-optimization jobs or compatibility Script Job drivers. The default native_castep mode stages one XSD plus one CASTEP settings document per structure/spin task for separate submission from the CASTEP Calculation dialog, giving each calculation its own CASTEP Job Control entry and native convergence graphs. |
| ms_remote_castep_record_submissionB | Record one Materials Studio Job Control receipt. For native_castep preparation, call this once per calculationName after submitting its XSD from the CASTEP Calculation dialog. |
| ms_remote_castep_batch_statusB | Read the local preparation markers, submission receipt, and downloaded result summary available for a remote CASTEP batch. |
| ms_gui_castep_currentB | Queue a CASTEP calculation on the current GUI document. Supports Energy, GeometryOptimization, phonon/frequency, DOS, band structure, charge density, and density difference presets. |
| ms_gui_model_currentB | Queue a basic Materials Studio modeling-toolbar operation on the current GUI document, such as Clean or AdjustHydrogen, without creating a new document. |
| ms_gui_edit_currentB | Queue a basic molecule-building edit on the current GUI document, such as adding/deleting bonds, changing an atom element, adding/deleting atoms, recalculating bonds, Clean, or AdjustHydrogen. |
| ms_create_moleculeA | Create a standalone molecule/crystal document from explicit atoms and bonds using MaterialsScript. For the already-open GUI project, prefer ms_gui_create_current to avoid duplicate GUI documents. |
| ms_forciteC | Run a Forcite task on an input document located under the MS-MCP work root. |
| ms_castepC | Run a CASTEP task or preset calculation on an input document located under the MS-MCP work root. Presets include Energy, GeometryOptimization, Frequency/phonons, DOS, band structure, charge density, and density difference. |
| ms_list_workspaceC | List files under the MS-MCP work root. |
| ms_read_textC | Read a text output file under the MS-MCP work root. |
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 32 tools
Multiple tools overlap significantly: ms_gui_apply_current, ms_gui_model_current, and ms_gui_edit_current all cover in-place editing actions like Clean/AdjustHydrogen, while structure creation is split across ms_gui_new_structure_current, ms_gui_find_cif_import_current, ms_gui_download_cif_import_current, ms_gui_import_current, ms_gui_create_current, and ms_gui_create_crystal_current. An agent would need deep knowledge of the intended decision hierarchy to reliably choose between them.
The ms_ prefix and snake_case are used consistently, and the ms_gui_*_current convention for stateful GUI operations is a strong pattern. Some names are awkward or less uniform, such as ms_gui_download_cif_import_current and ms_gui_cleave_surface_vacuum_current, and standalone tools like ms_forcite, ms_castep, and ms_codex_config do not follow the same verb-first style, but the overall pattern is still readable.
With 32 tools, this server exceeds the practical MCP surface size and falls into the too-many category. Many of the structure-import and GUI-edit variants could be consolidated into fewer parameterized tools without losing scope.
The server covers a broad workflow: structure creation/import, editing, simulation engines, GUI queue inspection, file management, and remote CASTEP batch handling. However, result/property retrieval is largely limited to reading text files and batch status, there is no cleanup/delete tool, and DMol3 support is restricted to geometry optimization, leaving notable gaps for some workflows.