MS-MCP
Provides integration with Dassault Systèmes' BIOVIA Materials Studio, enabling structure modeling and editing, Forcite/DMol3/CASTEP simulations, GUI queue submission, and result reading through MaterialsScript.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MS-MCPCheck Materials Studio and workspace status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MS-MCP
面向 Windows 与 BIOVIA Materials Studio 的外部 Model Context Protocol(MCP)服务器。它让 Codex 或其他 MCP 客户端通过官方 MaterialsScript 运行时执行建模、Forcite、DMol3、CASTEP、GUI 队列和结果读取,并提供本地 Dashboard。
当前版本:
0.2.0-hardened.1。项目不是 BIOVIA/Dassault Systèmes 官方产品;使用者必须自行取得并遵守合法的 Materials Studio 许可证,仓库不包含软件本体、许可证或专有数据。
本仓库是可复现部署的源码发行版,固定基于
DrYe1109/MS-MCP 提交
991a1b3ab2ad985529fb645dc82f47528a2a1297。所有机器路径、凭据和运行数据均通过
本机配置生成,不进入版本控制。硬化差异见 HARDENING.md。
调用链与安全模型
Codex / MCP client → stdio → MS-MCP policy gates → MaterialsScript
├→ licensed Materials Studio
├→ isolated workspace
└→ optional local Dashboard / SSH monitor默认插件配置只启用七个检查与读取工具。结构编辑、GUI 队列和真实计算必须由操作者 显式扩展工具列表;真实计算还必须先完成 dry-run 审阅,再取得与操作和目标绑定的 短期一次性授权。完整组件与信任边界见 架构说明。
Related MCP server: materials-studio-mcp-moc
主要能力
检查 Materials Studio、
RunMatScript.bat、工作区和会话状态。创建/导入结构,维护当前 GUI 文档,并执行常用结构编辑。
执行 Forcite、DMol3、CASTEP 任务与预设工作流。
通过可选的 Materials Studio GUI 循环把脚本送入当前打开的项目。
从受限 HTTPS 白名单下载 CIF,并限制响应大小。
准备远程 CASTEP 任务,Dashboard 可通过 SSH 只读监控 Gateway 作业目录。
所有生成文件默认限制在独立工作区;任意 MaterialsScript 和外部输入默认关闭。
系统要求
Windows 10/11(64 位)。
BIOVIA Materials Studio,且已安装 MaterialsScript;必须能找到:
MS_INSTALL_ROOT\etc\Scripting\bin\RunMatScript.bat。Node.js 20 或更高版本,包含
npm.cmd。Codex 或其他支持 stdio MCP 的客户端。
可选:Windows OpenSSH Client(只在远程 Dashboard 监控时使用)。
最快安装
下载 Release 压缩包或克隆仓库后,不要把项目放入随后会删除或改名的临时目录。安装路径可以自定,后续由配置脚本生成该机器专用配置。
双击
Configure-MS-MCP.bat,逐项确认 Node、Materials Studio、工作区等路径。双击
Install-MS-MCP.bat,以npm ci安装锁定依赖并检查发布文件。双击
Test-MS-MCP.bat,验证路径、安全默认值和 MCP stdio 通信。打开生成的
config\codex-ms-mcp.local.toml,把完整内容合并到%USERPROFILE%\.codex\config.toml。完全退出并重启 Codex,在 MCP 列表中确认
MS-MCP可用。
完整逐步说明、路径示例和安装后修改方法见 安装与配置指南。
配置 BAT 会生成什么
Configure-MS-MCP.bat 是唯一推荐的本机配置入口,内部调用 PowerShell 完成验证和安全写入:
config\ms-mcp.local.bat:供启动、测试、Dashboard、GUI 循环和 SSH 脚本统一读取。config\codex-ms-mcp.local.toml:供复制到 Codex 的 MCP 配置块。
这两个文件包含本机绝对路径,已由 .gitignore 排除,不能上传 GitHub。仓库只保留不含真实机器信息的 .mcp.json、.env.example 与 config\ms-mcp.example.bat。
必须根据机器修改的路径
变量/配置 | 含义 | 何时必须修改 |
|
| Node 安装位置变化或换电脑 |
| 与 Node 配套的 | Node 安装位置变化 |
| Materials Studio 安装根目录 | 版本、盘符或安装目录变化 |
| 可写的独立任务工作区 | 换电脑、迁移数据或调整存储盘 |
MCP | 本仓库 | 仓库移动、改名或重新解压 |
MCP | 本仓库根目录 | 仓库移动、改名或重新解压 |
| 已有 Materials Studio 模型目录 | 仅使用 Chapter 3 同步时设置 |
|
| 仅使用远程监控时设置 |
| SSH 私钥绝对路径 | 使用非默认密钥或用户目录变化 |
| Linux Gateway 作业根目录 | 远端版本、用户或 Gateway 根目录变化 |
仓库移动后不要逐个修改启动脚本;重新运行 Configure-MS-MCP.bat,再用新生成的 TOML 更新 Codex 即可。
启动方式
MCP 服务器
正常情况下由 Codex 按 TOML 自动启动。调试时可运行:
Run-MS-MCP.bat该进程使用 stdio 协议,命令窗口看似等待输入是正常现象;不要向 stdout 添加日志。
Dashboard
双击 Start-MS-MCP-Dashboard.bat,浏览器打开 http://127.0.0.1:4877/。端口可在重新配置时修改。MCP 也可在后台启动 Dashboard,但默认不会强制打开浏览器。
需要登录 Windows 后自动启动时,先完成配置与测试,再运行 Install-Dashboard-Autostart.bat。快捷方式使用相对仓库定位;若移动仓库,重新安装自启快捷方式。
Materials Studio GUI 循环
要把任务写入当前由用户打开的 Materials Studio 项目时:
先运行
Configure-MS-MCP.bat。在 Materials Studio 中打开目标项目。
从 Materials Studio 的脚本界面运行
materialscript\mcp_loop_gui.pl;或在正确的 Materials Studio 会话条件下使用materialscript\start_mcp_loop.bat。队列位于
%MS_MCP_WORK_ROOT%\.mcp-queue,停止标记为.mcp-queue\stop。
GUI 循环必须在 Materials Studio GUI 环境中运行,不能把普通 RunMatScript.bat 进程误当成已打开项目的 GUI 上下文。
远程 CASTEP Dashboard 监控(可选)
重新运行 Configure-MS-MCP.bat,填写 user@host 和远程 Gateway jobs 路径,然后运行 Setup-Dashboard-SSH.bat。脚本创建独立 Ed25519 密钥、把公钥加入远端 authorized_keys,并验证非交互登录。Dashboard 不保存服务器密码。
这只配置作业目录监控;Materials Studio Gateway、队列、许可证和计算核数仍需在 Materials Studio Job Control 中按实际服务器配置。
安全默认值
MS_MCP_ALLOW_ARBITRARY_SCRIPT=0:禁用任意 MaterialsScript。MS_MCP_EXPOSE_RAW_TOOLS=0:不暴露原始任意脚本工具。MS_MCP_ALLOW_GUI_QUEUE=0:默认不允许结构化 GUI 队列工具。MS_MCP_ALLOW_COMPUTE=0:默认不提交任何消耗许可证或计算资源的任务。MS_MCP_ALLOW_EXTERNAL_INPUTS=0:禁止读取工作区外输入。CIF 仅允许配置的 HTTPS 主机,默认最大 10 MiB。
Dashboard 默认只监听
127.0.0.1;写操作默认关闭。启用写操作时必须配置至少 24 字符令牌。工作区路径经边界与 junction/symlink 检查,防止任务越界写入。
更详细的部署原则见 LOCAL-HARDENING.md,漏洞报告见 SECURITY.md。
开发与验证
在已经加载正确环境变量的终端中:
npm ci
npm run check
npm run smoke
npm run security-smoke
npm run mcp-smokeWindows 用户直接运行 Test-MS-MCP.bat 更简单,它会加载生成的本机配置。涉及真实 Forcite/DMol3/CASTEP 的计算仍应在授权的测试模型和服务器上单独验证。
仓库结构
MS-MCP/
├─ .codex-plugin/ Codex 插件清单
├─ .mcp.json 相对路径、默认只读的 MCP 配置
├─ skills/ Materials Studio 操作与授权边界
├─ src/ MCP 服务器与 MaterialsScript 生成逻辑
├─ materialscript/ Materials Studio GUI 循环
├─ GUI-Dashboard/ 本地 Dashboard
├─ scripts/ 验证、解析、同步与远程准备脚本
├─ config/ 示例配置;本机生成配置不会上传
├─ docs/ 安装与配置文档
├─ .github/workflows/ 安装、清单、隐私与安全 CI
├─ examples/ 示例输入
├─ Configure-MS-MCP.bat 分步配置入口
├─ Install-MS-MCP.bat 锁定依赖安装
├─ Test-MS-MCP.bat 完整本机验证
└─ Run-MS-MCP.bat 手动 stdio 启动入口GitHub 上传清单与排除项见 RELEASE-FILES.md。
常见问题
找不到 RunMatScript.bat:MS_INSTALL_ROOT 填得太上层或太下层。应直接指向包含 etc\Scripting 的 Materials Studio 版本目录,然后重新配置。
移动仓库后 Codex 启动失败:重新运行配置 BAT,并替换 Codex TOML 中旧的 command、args、cwd 与环境路径。
Node 可用但 npm.cmd 不存在:安装完整的 Node.js Windows 发行版,而不是只复制 node.exe。
Dashboard 可打开但没有结构/作业:先检查工作区与当前 session;远程作业还需要 SSH target、key 和 jobs root 三项同时有效。
MCP 修改不到当前 GUI 项目:确认 GUI 循环是在目标 Materials Studio 会话中运行,而不是只启动了独立 MaterialsScript 进程。
贡献与许可
提交 Issue/PR 前请阅读 CONTRIBUTING.md,不要提交许可证文件、真实结构数据、服务器地址、私钥、本机配置或计算输出。项目采用 MIT License。公开发行版不包含 BIOVIA 软件、许可证文件、专有结构/力场、私钥、服务器信息或任何用户计算结果。
致谢与视频教程
本项目初始代码基于 shenghhe-svg/shengh_he,感谢原作者的工作与分享。
安装、配置及使用视频教程可在抖音搜索:抖音号
Au.Tom,昵称Dr.小叶。
独立的上游来源与教程声明见 NOTICE.md。
Available Tools
32 toolsms_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.
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | CASTEP task name or high-level preset. Presets are mapped to the correct CASTEP task and property settings. | Energy |
| cores | No | ||
| dryRun | No | ||
| project | No | ||
| settings | No | ||
| confirmToken | No | ||
| inputDocument | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing side effects, but it only says the tool 'Run[s]' calculations. It does not mention whether jobs are submitted, whether files are created or modified, the meaning of the default dryRun=true, or whether a confirmToken is needed. This is a significant gap for a tool that likely executes computational workloads.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no fluff, and the core action is stated immediately. However, it is so brief that it misses important behavioral context, so it is concise but not optimally informative for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters, no output schema, and no annotations, this description is incomplete. It lacks essential details about dryRun behavior, project file handling, settings structure, confirmToken requirements, and what the tool returns or changes, making it insufficient for an agent to invoke it correctly in varied situations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is very low (14%), so the description must compensate, but it only adds meaning for inputDocument ('located under the MS-MCP work root') and partially for task by listing preset names. It provides no explanation for cores, dryRun, project, settings, or confirmToken, leaving most parameters underspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Run' and the resource 'CASTEP task or preset calculation on an input document', which is specific and actionable. It names the main presets, helping an agent understand the tool's scope, though it does not explicitly contrast with sibling tools like ms_gui_castep_current or ms_remote_castep_batch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as GUI-based CASTEP tools or remote job preparation tools. It only implies usage by describing what the tool does, leaving the agent to infer context without any when-not-to-use or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_codex_configA
Return an MCP server config snippet that can be pasted into Codex settings.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description implies a read-only, side-effect-free operation but does not confirm safety or disclose any behavioral traits; no annotations to compensate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words, front-loaded purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Sufficient for a simple tool with no parameters or output schema, but could hint at snippet format or usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so description adds no param info; baseline for 0 params is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool returns an MCP server config snippet for Codex settings, distinct from sibling tools that focus on MS operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when or why to use this tool over alternatives; no context provided for integration with Codex settings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| atoms | Yes | ||
| bonds | No | ||
| project | No | ||
| documentName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description mentions 'using MaterialsScript' but does not disclose behavioral traits like side effects, permissions, or whether it modifies existing documents. Minimal behavioral context beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first states purpose, second provides usage guidance. No fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and 4 parameters, the description is too brief. It explains the tool's purpose and when to use alternatives, but lacks detail on return values, parameter behavior, and potential constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% parameter description coverage; the description does not explain individual parameters. It implicitly mentions atoms and bonds but provides no details on formatting, constraints, or how they are used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool creates a standalone molecule/crystal document from explicit atoms and bonds using MaterialsScript. Distinguishes from sibling tool ms_gui_create_current by specifying it creates a standalone document, not in the GUI.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises to prefer ms_gui_create_current when working within an open GUI project to avoid duplicate documents, providing clear guidance on when to use this tool vs. alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_forciteC
Run a Forcite task on an input document located under the MS-MCP work root.
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | Energy | |
| cores | No | ||
| dryRun | No | ||
| project | No | ||
| settings | No | ||
| confirmToken | No | ||
| inputDocument | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description only says 'Run a Forcite task' without explaining whether this submits a job, modifies files, requires confirmation (despite a confirmToken parameter), or how dryRun affects execution. This is a significant omission for a computational tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it is so sparse that it provides almost no actionable information. While conciseness is valued, this is under-specification rather than effective brevity; the sentence does not earn its place by adding meaningful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, nested objects, no output schema, and no annotations, the description is radically incomplete. It omits the purpose of each parameter, default behaviors, return values, and any side effects. An agent would not be able to invoke this tool correctly without external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no explanation of any parameters. It only mentions the input document, but does not clarify the meaning of 'task', 'cores', 'dryRun', 'project', 'settings', or 'confirmToken'. The description fails to compensate for the schema's lack of documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Run a Forcite task' on an input document, and specifies the location constraint 'under the MS-MCP work root.' It distinguishes this from GUI-based Forcite siblings (e.g., ms_gui_forcite_optimize_current) by implying a compute operation, though it does not explicitly name alternatives. Slight deduction for not naming sibling tools, but the purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention conditions, prerequisites, or when to prefer this over other computation tools like ms_castep or the GUI Forcite helpers. An agent would have to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | C | |
| mode | No | extend_lattice | |
| thickness | Yes | Vacuum thickness to add in Angstrom. | |
| exportFile | No | ||
| ballAndStick | No | ||
| documentName | No | ||
| slabPosition | No | ||
| transferSymmetry | No | ||
| reorientAfterVacuumSlab | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains that the tool modifies the document in place and describes the behavior of the two modes. With no annotations provided, it adds some transparency but does not cover side effects, permissions, or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundant information. It front-loads the core purpose and follows with mode explanations, making it efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters and no output schema, the description is insufficient. It covers the main action and two modes but omits parameter details, return behavior, and prerequisites, leaving the agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 11% (only thickness has a description). The description adds context for 'mode' and implies 'axis' by mentioning 'chosen lattice length', but does not explain other parameters like exportFile, ballAndStick, documentName, etc.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool adds vacuum to the current GUI periodic document 'in place' and only when explicitly requested. However, it does not differentiate from the sibling 'ms_gui_cleave_surface_vacuum_current', which also deals with vacuum.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the tool is used when the user asks for vacuum and explains when to use each mode (extend_lattice for 3D cells, vacuum_slab for 2D surfaces). However, it lacks guidance on when not to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_gui_apply_currentC
Queue a MaterialsScript body that modifies the current GUI document in place. Use this for 'on this molecule...' edits.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | MaterialsScript body. A variable named $doc is bound to the current target document. | |
| save | No | ||
| label | No | apply_current | |
| exportFile | No | ||
| ballAndStick | No | ||
| documentName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. The description mentions 'queues' (implying asynchronous operation) and 'modifies in place', but does not elaborate on destructive potential, authentication requirements, rate limits, or what happens to the document state. This is insufficient for a tool that modifies the GUI.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two sentences and is front-loaded with the core purpose. It is concise with no redundant information. However, the brevity sacrifices completeness for a tool with six parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, no output schema, no annotations), the description is far from complete. It does not explain return values, side effects, or parameter usage. The agent cannot fully understand how to invoke the tool correctly without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17%, meaning the description adds no value for most parameters. The tool description does not explain any parameter beyond what the schema already provides for 'body'. With 6 parameters (1 required) and no parameter descriptions in the description itself, the agent lacks essential semantic guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'queue' and the resource 'MaterialsScript body that modifies the current GUI document'. It provides an example use case ('on this molecule...' edits), making the purpose clear. However, it does not explicitly differentiate from sibling tools like ms_gui_create_current or ms_gui_edit_current.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes guidance to 'Use this for 'on this molecule...' edits', implying a context for use. However, it does not specify when not to use this tool, nor does it mention alternatives among the many sibling GUI tools. The usage context is implied but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cores | No | ||
| dryRun | No | ||
| quality | No | Medium | |
| exportFile | No | ||
| confirmToken | No | ||
| documentName | No | ||
| extraSettings | No | ||
| kPointQuality | No | Medium | |
| resultDocument | No | CASTEP.xsd | |
| calculationName | No | CASTEP_Calculation | |
| calculationType | No | High-level CASTEP calculation preset. | Energy |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure, but it only says the tool 'queues' a calculation. It does not mention the dryRun default, the need for a confirmToken, whether submission is local or remote, what side effects occur, or what the agent should expect after invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no filler. The main action is front-loaded, and the preset list is a compact, useful expansion of the calculationType semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 11 parameters, no annotations, and no output schema, this description is too thin. It gives a high-level purpose but omits crucial invocation context such as dry-run behavior, authorization token requirements, output document naming, and how extra settings are passed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 9%, so the description must compensate, but it only adds meaning for calculationType by listing preset names such as 'DOS' and 'band structure'. It does not explain important parameters like dryRun, confirmToken, exportFile, extraSettings, resultDocument, or kPointQuality, leaving most of the 11 parameters underdocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Queue', the resource 'current GUI document', and the engine 'CASTEP', which is enough to identify the tool's core purpose. It also lists supported calculation presets, but it does not explicitly name or contrast sibling tools, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'on the current GUI document' implies the intended context: run a CASTEP calculation on the active document. However, there is no explicit guidance about when to choose this tool over siblings like ms_castep, ms_gui_prepare_remote_castep_batch, or the other engine-specific current-document tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| h | No | ||
| k | No | ||
| l | No | ||
| capType | No | Hydrogen | |
| capBonds | No | ||
| cleaveRule | No | ||
| exportFile | No | ||
| vacuumAxis | No | C | |
| ballAndStick | No | ||
| documentName | No | ||
| slabThickness | Yes | Thickness of the cleaved slab in Angstrom. | |
| vacuumThickness | Yes | Vacuum thickness in Angstrom. | |
| transferSymmetry | No | ||
| reorientAfterVacuumSlab | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions using SurfaceBuilder + CrystalBuilder but fails to disclose whether the operation modifies the current crystal, creates a new document, or requires specific permissions. The agent is left unaware of side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundant information. The key action is front-loaded, and the usage condition is stated directly. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 14 parameters, no output schema, and no explanation of common parameters, the description is insufficient. It does not cover what the tool returns or how parameters like h,k,l affect the result. The tool's complexity demands more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 14% (2 out of 14 parameters have descriptions). The description adds no parameter information, failing to compensate for the low coverage. Most parameters like h,k,l, capType, cleaveRule, etc., remain unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Cleave a surface from the current GUI crystal and build a vacuum slab' using specific builders. It also distinguishes usage from siblings by specifying when to use it, referencing the manual surface workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: 'Use only when the user explicitly asks...' This sets a clear condition. However, it does not mention alternatives or when not to use, limiting differentiation from sibling tools like ms_gui_add_vacuum_current.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | Lattice length a in Angstrom. | |
| b | Yes | Lattice length b in Angstrom. | |
| c | Yes | Lattice length c in Angstrom. | |
| beta | No | ||
| alpha | No | ||
| atoms | Yes | Atoms in fractional or Cartesian coordinates depending on coordinateType. | |
| gamma | No | ||
| forceNew | No | ||
| exportFile | No | ||
| spaceGroup | No | P1 | |
| ballAndStick | No | ||
| documentName | Yes | ||
| calculateBonds | No | For periodic crystals this defaults to false to avoid incorrect cross-boundary bonding; use explicit bonding or a later targeted bond calculation when needed. | |
| coordinateType | No | fractional | |
| spaceGroupQualifier | No | ||
| useSpecialPositions | No | ||
| specialPositionTolerance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It says 'create or replace' implying mutation of the current document, but doesn't elaborate on side effects (e.g., overwriting existing content), permissions, or undo capabilities. It mentions the vacuum constraint, but lacks depth on other behaviors like forceNew or coordination type handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each serving a distinct purpose: defining the action, providing usage priority, and setting a boundary. There is no redundancy or filler. It is front-loaded with the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (17 parameters, no output schema, no annotations), the description is insufficient for complete agent understanding. It omits guidance on critical parameters like coordinate types, bond calculation, space group, and output handling. A more comprehensive description would cover these or reference documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (29%), so the description should add meaning for undocumented parameters. However, it only provides general context about vacuum and CIF alternatives, not explaining key params like a, b, c, atoms, coordinateType, spaceGroup, etc. This leaves agents guessing about parameter usage beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create or replace the current GUI document as a periodic crystal/unit cell from lattice parameters and atom coordinates.' It specifies the resource (GUI document) and action (create/replace), and distinguishes from siblings like ms_gui_find_cif_import_current by directing users to that tool first.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises to first try ms_gui_find_cif_import_current for new crystals, and to only use manual construction when no CIF is found or user provides credentials. It also warns against adding vacuum unless explicitly requested. This provides clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | MaterialsScript body. A variable named $doc is already created. | |
| forceNew | No | Create a new GUI document even if a current or same-name document exists. Use only when the user explicitly asks for a separate new document. | |
| exportFile | No | ||
| ballAndStick | No | ||
| documentName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that by default the tool reuses existing documents to avoid duplicates, and that it can replace the current document. However, it does not explicitly mention side effects like overwriting without confirmation or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences: purpose, usage guidance, then default behavior. No redundant information, and critical guidance is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description leaves gaps: it does not describe return values, validate the body input beyond mentioning it, or explain exportFile and ballAndStick behavior. More detail on outcomes and error cases would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 40%, but the description adds significant value: it explains that the body parameter should be a MaterialsScript with a pre-created $doc variable, and implies the forceNew parameter's effect by describing default reuse. However, exportFile and ballAndStick parameters are not elaborated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb ('Create or replace'), resource ('current GUI document'), and input ('MaterialsScript body'). It distinguishes from sibling tools like ms_gui_find_cif_import_current by recommending that for new structures.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance is provided: before using for a new structure, try ms_gui_find_cif_import_current first; use this tool only when no reliable open CIF or user credentials are available. This helps the agent decide when to invoke this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_gui_dmol3_optimize_currentB
Queue a DMol3 GeometryOptimization on the current GUI document and organize calculation outputs under a dedicated calculation name/folder.
| Name | Required | Description | Default |
|---|---|---|---|
| cores | No | ||
| charge | No | ||
| dryRun | No | ||
| quality | No | Medium | |
| exportFile | No | ||
| theoryLevel | No | GGA | |
| confirmToken | No | ||
| documentName | No | ||
| extraSettings | No | ||
| resultDocument | No | dmol3_optimized.xsd | |
| calculationName | No | DMol3_GeometryOptimization |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing side effects. It states that the tool queues a calculation and organizes outputs, but it does not mention that dryRun defaults to true, that a confirmToken may be required, that a GUI session/document must be current, or that job execution is asynchronous. These are significant behavioral gaps for a queueing action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, and the core action is front-loaded. However, it is so terse that it sacrifices useful behavioral and parameter context, so it earns a high but not top score for structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter tool with no annotations and no output schema, this description is materially incomplete. It omits prerequisites, dry-run/confirmation behavior, output details, and any guidance on parameter selection. An agent would need to inspect the raw schema and make risky assumptions to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only vaguely references 'dedicated calculation name/folder,' which maps to calculationName/resultDocument. The other nine parameters receive no explanatory support from the description. With such low coverage, the description fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Queue'), a specific resource ('DMol3 GeometryOptimization'), and a target ('current GUI document'). It also distinguishes this from siblings like ms_gui_forcite_optimize_current and ms_gui_castep_current by naming the DMol3 method explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for DMol3 geometry optimization on the current document, but it does not explicitly state when to prefer this over the Forcite or CASTEP siblings, nor any exclusions. There is no when-not guidance, so the agent must infer usage from the method name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Direct CIF URL, required when source=url. | |
| codId | No | COD numeric id, required when source=cod. | |
| source | No | CIF source. Use cod for Crystallography Open Database numeric IDs, or url for a direct CIF link. | url |
| fileName | No | Optional local CIF base name without path. | |
| importToGui | No | If true, queue an import into the current GUI project after download. | |
| ballAndStick | No | ||
| documentName | No | Optional Materials Studio document name. Defaults to the CIF file name with .xsd. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden, and it delivers: it discloses a network download, one-time session storage, optional GUI import, making the document current, and an important authentication/credential caveat. It does not describe overwrite/replacement consequences or behavior when no GUI session/project is active, but the key state-changing behaviors are visible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with no filler. The main action chain is front-loaded, the usage guidance is separated, and the caveat about credentialed databases is distinct and necessary. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no output schema and no annotations, the description covers the core call semantics, the modeling workflow context, and the credential limitation. It omits explicit preconditions like requiring an already-started GUI session/project and does not describe return/status values, but the schema handles parameter details and the sibling list provides surrounding context. This is strong, if not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the input schema already documents most parameter meanings. The description mainly reinforces the COD vs. direct URL distinction and optional import behavior, adding little that is not already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states an explicit action chain: download a CIF from a source or URL, store it once in the session, optionally import into the GUI project, and make it current. This clearly distinguishes it from siblings like ms_gui_find_cif_import_current and ms_gui_import_current, which do not describe downloading from an external source. The verb and resource are specific and actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear when-to-use condition: before modeling when a reliable database CIF is available. It also gives a when-not-to-use boundary around login/license walls and credentialed databases. However, it does not explicitly name alternatives such as ms_gui_import_current for already-downloaded CIF files, so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| z | No | ||
| atom | No | Atom selector by atom Name or 1-based atom index. | |
| name | No | ||
| atom1 | No | First atom selector by atom Name or 1-based atom index. | |
| atom2 | No | Second atom selector by atom Name or 1-based atom index. | |
| element | No | ||
| bondType | No | Single | |
| operation | No | Clean | |
| cleanAfter | No | ||
| exportFile | No | ||
| ballAndStick | No | ||
| documentName | No | ||
| cleanIterations | No | ||
| adjustHydrogenAfter | No | ||
| allowPeriodicBondGuess | No | Allow broad CalculateBonds on periodic documents. Keep false unless the user explicitly accepts periodic bond guessing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It mentions 'queue' but does not disclose asynchronous behavior, how to check completion, undo capabilities, or any side effects. The list of operations provides some insight but misses behavioral details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loads the purpose. However, it could be slightly more structured by breaking into bullet points or sentences for clarity. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (17 parameters, no output schema, no annotations), the description is insufficient. It does not explain return values, the queueing mechanism, prerequisites, or the broader context of molecular modeling. The description leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 24% (4 out of 17 parameters have descriptions). The tool description adds context for the 'operation' parameter by listing examples but does not explain critical parameters like x, y, z, name, exportFile, or documentName. The parameter meanings remain unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Queue' and the resource 'current GUI document', and lists specific operations like adding/deleting bonds, changing element, etc. This distinguishes it from sibling tools like crystal creation or lattice settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for basic molecule-building edits on the current document but does not explicitly state when to use this tool versus alternatives like ms_gui_create_crystal_current or ms_gui_set_lattice_current. No 'when-not-to-use' guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Material, mineral, compound, molecule, or structure name to search for. | |
| formula | No | Optional chemical formula used to raise confidence and reject unrelated search hits. | |
| fileName | No | Optional local CIF base name without path. | |
| maxResults | No | ||
| importToGui | No | ||
| ballAndStick | No | ||
| documentName | No | Optional Materials Studio document name. Defaults to the CIF file name with .xsd. | |
| minConfidence | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it discloses meaningful behavior: it only uses open sources, downloads only once, imports into the current project, sets it current, and avoids credential bypassing. It does not fully detail error behavior or all side effects of importing, but it covers the key operational constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loads the core workflow, and every sentence contributes either an action, usage context, or an important constraint. There is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is strong for the main workflow and the open-source/credentialed-database constraint, but with 8 parameters, no output schema, and no annotations, it leaves gaps around parameter semantics, return behavior, and how to route between sibling tools. It is adequate but not fully complete for an autonomous agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 50%, and the tool description adds no parameter-level meaning beyond the schema. It does not explain how query, formula, fileName, maxResults, importToGui, ballAndStick, documentName, or minConfidence should be used. The description therefore fails to compensate for the missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies a multi-step workflow: search open crystallographic databases, download a reliable CIF, import it into the current GUI project, and make it current. This distinguishes it from related siblings like ms_gui_import_current or ms_gui_download_cif_import_current by combining search with import and by narrowing to open sources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance: 'Use this before manually building a new crystal or molecular crystal.' It also explains what to do when credentialed databases are required, telling the agent to return candidates/reason rather than bypass access. It does not name sibling alternatives explicitly, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_gui_forcite_optimize_currentC
Queue a Forcite GeometryOptimization on the current GUI document using a manual-like calculation folder layout.
| Name | Required | Description | Default |
|---|---|---|---|
| cores | No | ||
| dryRun | No | ||
| quality | No | Medium | |
| exportFile | No | ||
| forcefield | No | Universal | |
| confirmToken | No | ||
| documentName | No | ||
| optimizeCell | No | ||
| extraSettings | No | ||
| maxIterations | No | ||
| resultDocument | No | Forcite.xsd | |
| calculationName | No | Forcite_GeometryOptimization | |
| chargeAssignment | No | Use current |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden. It says 'Queue' which implies asynchronous submission and mentions the folder layout, but it does not disclose side effects, prerequisites, confirmation flow, or result handling. An agent gets no warning about how the job executes or what happens to the current document.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence with a front-loaded verb and resource. It is not bloated, but given the tool's complexity, the brevity is more under-specification than skillful conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex 13-parameter tool with no output schema, no annotations, and 0% schema description coverage. The description omits prerequisites, parameter semantics, asynchronous behavior, and return behavior. It is not complete enough for an agent to use confidently without significant additional inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the 13 parameters. Details like dryRun, confirmToken, optimizeCell, chargeAssignment, and extraSettings remain entirely undocumented. The description adds essentially no meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Queue'), resource ('Forcite GeometryOptimization'), and target ('current GUI document'), plus a distinctive folder-layout detail. It is distinguishable from sibling tools like ms_gui_dmol3_optimize_current, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when a Forcite geometry optimization should be run on the current GUI document, with a manual-like folder layout. It does not explicitly state exclusions or alternatives, leaving some ambiguity versus ms_forcite or ms_gui_castep_current.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | ||
| exportFile | No | ||
| ballAndStick | No | ||
| documentName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool queues an import and changes the current document, which implies a state-changing operation. It also warns against XSD re-imports, which is useful behavioral context. However, it doesn't disclose what 'queue' means (e.g., asynchronous behavior, whether the import can fail silently, or how to check status via ms_status).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main action and outcome, followed by a useful exclusion. It is concise and every sentence earns its place, though the second sentence could arguably be folded into usage guidance without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters, no output schema, and no annotations, the description covers the core purpose and a key pitfall, but leaves significant gaps: parameter meanings, asynchronous queue behavior, and how to confirm success. It is adequate for a simple import action but not fully complete for an agent that needs to invoke it correctly with optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the four parameters. It only explains the purpose of the 'file' parameter implicitly ('Import external source files') and gives no meaning for exportFile, ballAndStick, or documentName. The description adds almost no parameter-level semantics beyond what the bare schema already shows.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Queue an import'), a resource ('the open Materials Studio GUI project'), and a clear outcome ('make the imported document the current document'). It also distinguishes itself from XSD re-imports, which helps differentiate it from sibling tools like ms_gui_download_cif_import_current and ms_gui_find_cif_import_current, though it doesn't explicitly name those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use it to import external source files into the open GUI project. It also provides an explicit exclusion: do not import XSD files that MS-MCP just exported from the current GUI document. It doesn't name alternative tools for those cases, but the when/when-not guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_gui_make_supercell_currentC
Build a supercell from the current GUI periodic document in place, using Materials Studio BuildSuperCell.
| Name | Required | Description | Default |
|---|---|---|---|
| a | No | Multiplier along lattice A. | |
| b | No | Multiplier along lattice B. | |
| c | No | Multiplier along lattice C. Use 1 for 2D slabs/surfaces. | |
| surface2D | No | Use the two-parameter surface form BuildSuperCell(a,b). | |
| exportFile | No | ||
| ballAndStick | No | ||
| documentName | No | ||
| calculateBonds | No | For periodic supercells this defaults to false to avoid incorrect cross-boundary bonding; use explicit bonding or a later targeted bond calculation when needed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions 'in place' implying modification but doesn't disclose whether the original is preserved, whether it's destructive, or any permissions needed. It references 'Materials Studio BuildSuperCell' but doesn't clarify side effects. Parameter calculateBonds has a good warning, but overall behavioral context is lacking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that directly states the purpose without unnecessary words. Efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters, no output schema, and no annotations, the one-sentence description is insufficient. It omits context about return values, error conditions, overwriting behavior, or confirmation steps. More detail is needed for a tool that modifies the current document.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 63% (5 of 8 parameters described). The tool description does not add any meaning beyond the schema; it only names the underlying method. For a moderate coverage, the description should have compensated but didn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Build a supercell') and the resource ('current GUI periodic document'), with specific verb and resource. It distinguishes from siblings like ms_gui_create_current or ms_gui_set_lattice_current by focusing on supercell construction. Minor vagueness in 'in place' prevents a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., ms_gui_create_current for new structures, ms_gui_set_lattice_current for lattice changes). No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| operation | No | Clean | |
| exportFile | No | ||
| ballAndStick | No | ||
| documentName | No | ||
| cleanIterations | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Queue' suggests asynchronous submission, and 'without creating a new document' is a useful side-effect note, but the description does not disclose whether the operation mutates the document, whether a document must already be open, what documentName does, or what the result of queuing is. This is a significant transparency gap for a tool that performs an operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It states the action, the target scope, example operations, and a key exclusion—'without creating a new document'—all in one compact sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having five parameters, no annotations, and no output schema, the description omits most of the behavioral and parameter detail an agent needs to invoke this tool correctly. It identifies the operation family and document scope, but not the meaning or expected values of several parameters, nor the side effects of queuing the operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for all five parameters. It only hints at the 'operation' parameter by naming Clean and AdjustHydrogen, and it partially clarifies documentName through 'current GUI document.' It does not explain exportFile, ballAndStick, or cleanIterations at all, leaving most parameters semantically opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Queue a basic Materials Studio modeling-toolbar operation on the current GUI document.' It names concrete examples (Clean, AdjustHydrogen) and explicitly notes it does not create a new document, which helps differentiate it from document-creation siblings. It is slightly vague about what counts as a 'basic' operation, but the examples anchor it well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this for basic modeling-toolbar operations on the current GUI document, and it explicitly excludes creating a new document. It does not name sibling tools or state when to prefer them, but the 'current document' and 'without creating a new document' constraints provide useful selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| a | No | ||
| b | No | ||
| c | No | ||
| beta | No | ||
| kind | No | auto | |
| alpha | No | ||
| atoms | No | Manual atoms. For crystal mode, coordinates are fractional or Cartesian according to coordinateType. | |
| bonds | No | Manual molecule bonds by atom label. | |
| gamma | No | ||
| query | Yes | Material, molecule, crystal, or structure name. | |
| formula | No | Optional formula used to raise CIF search confidence. | |
| fileName | No | Optional local CIF base name when a CIF is downloaded. | |
| forceNew | No | Create a separate GUI document only when the user explicitly asks for one. | |
| exportFile | No | ||
| manualMode | No | Manual fallback mode if no reliable open CIF is imported. | none |
| maxResults | No | ||
| spaceGroup | No | P1 | |
| ballAndStick | No | ||
| documentName | No | Target Materials Studio document name. Defaults to a sanitized query plus .xsd. | |
| sourcePolicy | No | Overrides MS_MCP_STRUCTURE_SOURCE_POLICY for this call. | |
| minConfidence | No | ||
| calculateBonds | No | ||
| coordinateType | No | fractional | |
| spaceGroupQualifier | No | ||
| useSpecialPositions | No | ||
| specialPositionTolerance | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it performs well. It reveals the non-obvious decision logic: never bypass authentication for ICSD/CSD/Materials Project/OQMD, ask the user instead; build the primitive/base document first; and do not name the initial document after a planned supercell size. These are genuine behavioral traits beyond what any schema could convey. It could add more detail on failure modes, but the disclosed traits are substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is dense and meaningful, but it is presented as one long run-on block separated by semicolons rather than scannable sentences. The core routing logic is front-loaded ('Unified entry point') which helps, but the wall-of-text format reduces readability for an agent parsing the definition. It is not overly long relative to the complexity of the tool, so it earns a middle score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description thoroughly covers the decision workflow and naming conventions, which is valuable context. However, for a tool with 26 parameters, no output schema, and no annotations, the complete absence of parameter semantics is a notable gap. An agent can understand the routing strategy but cannot reliably determine how to populate arguments like sourcePolicy, manualMode, minConfidence, or coordinateType to steer that routing. The workflow coverage is strong, but parameter coverage is a real hole.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 35%, leaving roughly 17 of 26 parameters undocumented in the schema. The description does not compensate: it contains zero parameter-level guidance. It never explains how query, manualMode, atoms, sourcePolicy, minConfidence, or the cell parameters (a, b, c, alpha, beta, gamma) interact with the described decision workflow. For a high-parameter tool with low schema coverage, the description should have bridged this gap but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as the 'Unified entry point for creating a new GUI structure' and states its exact scope: routing first-time structure creation. It explicitly distinguishes itself from siblings by saying 'Prefer this tool over direct create/import tools for first-time structure creation,' which separates it from ms_gui_create_current, ms_gui_import_current, and ms_gui_download_cif_import_current in the sibling list. The verb-resource pairing is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use it ('for first-time structure creation') and names the alternative category it supersedes ('direct create/import tools'). It also details the internal decision order (CIF-first, then auth-required sources, then manual fallback), which gives an agent a clear sense of the expected workflow. It stops short of enumerating the exact sibling tools it should NOT be used for (e.g., ms_create_molecule for pure molecules), so it is not fully exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tasks | Yes | ||
| batchName | No | remote_castep_batch | |
| commonSettings | No | ||
| submissionMode | No | native_castep | |
| stopGuiLoopAfterPrepare | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It explains the default native_castep mode and the staging process, but omits details about the submissionMode other modes, the effect of stopGuiLoopAfterPrepare, and potential side effects or prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loaded with the core purpose. The second sentence adds relevant detail about the default mode but could be slightly tighter; still efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 params, nested objects, no output schema), the description fails to cover parameters and return behavior. Important context like what happens after preparation or the output format is missing, making it incomplete for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%; the description does not explain any of the five parameters (tasks, batchName, commonSettings, submissionMode, stopGuiLoopAfterPrepare), leaving the agent without semantic guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool prepares native CASTEP geometry-optimization jobs or script drivers, specifying two modes and how the default mode stages documents per task. It distinguishes itself from sibling tools like ms_castep and ms_gui_castep_current by focusing on batch preparation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., ms_castep, ms_remote_castep_record_submission). The description mentions two modes but does not explain when to choose one over the other or provide context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_gui_project_dirB
Ensure and return the current MS-MCP task/session output directory under the workspace.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The term 'Ensure' is ambiguous—it may imply creating the directory if it doesn't exist, which is a behavioral trait. Without annotations, the description does not clarify whether side effects (e.g., creation) occur, nor does it mention permissions, idempotency, or error conditions. This lack of transparency could lead to misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 14 words, front-loading the key action ('ensure and return'). It is efficient, though the word 'ensure' could be clarified for better scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations and output schema, the description carries the full burden of explaining the tool's behavior. It omits details about the return value format, whether the directory is created, and any required permissions. For a simple tool, this may be marginally adequate, but it lacks completeness for an AI agent to understand all nuances.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so schema description coverage is 100%. According to guidelines, a baseline of 4 is appropriate. The description does not need to add parameter information, and it provides no misleading details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: to ensure and return the current MS-MCP session output directory. The verb 'ensure and return' combined with the resource 'directory' provides specific action and object, distinguishing it from sibling tools like ms_gui_state or ms_list_workspace which have different scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when the current session output directory is needed, but does not explicitly state when to use this tool versus alternatives like ms_list_workspace. No exclusions or prerequisites are provided, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_gui_set_current_documentC
Set the current Materials Studio GUI document for subsequent stateful operations. This does not create a file.
| Name | Required | Description | Default |
|---|---|---|---|
| exportFile | No | ||
| documentName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that it does not create a file, but omits side effects like changing the current document state, error conditions (e.g., nonexistent document), prerequisites (e.g., active GUI session), and whether previous state is overwritten. This is insufficient for a stateful operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The main purpose is front-loaded, and the clarification about not creating a file is useful. It is concise and well-structured, though it could benefit from a little more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that changes state and has two parameters with no output schema, the description is incomplete. It lacks information about return values, error handling, parameter semantics, and behavioral edge cases. An agent would be uncertain how to invoke it correctly, especially regarding the optional exportFile parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It does not mention documentName or exportFile at all. The agent cannot infer what exportFile is for or how documentName should be formatted, leaving both parameters effectively undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (set) and resource (current document), and clarifies its purpose for subsequent stateful operations. It also explicitly negates file creation, which helps distinguish it from creation tools, though it doesn't name sibling tools explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. The phrase 'for subsequent stateful operations' implies a prerequisite, but there are no explicit conditions, exclusions, or references to sibling tools like ms_gui_create_current or ms_gui_import_current.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_gui_set_lattice_currentC
Set lattice parameters on the current GUI crystal document in place.
| Name | Required | Description | Default |
|---|---|---|---|
| a | No | ||
| b | No | ||
| c | No | ||
| beta | No | ||
| alpha | No | ||
| gamma | No | ||
| exportFile | No | ||
| ballAndStick | No | ||
| documentName | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description says 'in place' implying mutation, but does not disclose side effects, required document state, or any destructive behavior. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise but under-specified. It earns a middle score due to brevity, but lacks necessary details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, no output schema, and no annotations, the description is severely incomplete. It fails to explain parameter usage, units, or behavior, making it inadequate for correct agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention any parameters. The 9 parameters (a, b, c, alpha, beta, gamma, exportFile, ballAndStick, documentName) are completely undocumented in the description, providing no semantic guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (set) and resource (lattice parameters on current GUI crystal document, in place). It is specific enough to distinguish from other GUI tools like create or make supercell, though not explicitly differentiated from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance provided on when to use this tool vs alternatives (e.g., creating a new crystal or modifying via other tools). No prerequisites or conditions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| folderName | No | Optional explicit folder name. If omitted, MS-MCP chooses the next YYYY-MM-DD-N folder. | |
| allowExistingSessionSwitch | No | Required when a session already exists. Prevents accidental folder creation/switching during normal modeling. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It discloses the folder-creation behavior, workspace scope, naming convention, and a safety condition ('only when explicitly asked'). It does not fully catalog all session-switching side effects, but the schema's description of allowExistingSessionSwitch covers the prevention mechanism.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two focused sentences with no filler. The core action and location are front-loaded, and the usage caution is placed directly after, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with only two optional parameters, no output schema, and no nested objects, the description plus schema provide enough context to invoke it correctly. It covers the folder naming, workspace scope, and when not to use it; return-value details are absent but not critical for this low-complexity operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description adds little parameter meaning beyond what the schema already says: folderName is optional and defaults to an auto-generated date-based name, and allowExistingSessionSwitch guards against accidental switching. No additional semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise verb+object: 'Start a new MS-MCP task/session folder under the workspace,' and includes the naming pattern (YYYY-MM-DD-1) plus its purpose ('for subsequent GUI modeling and calculation outputs'). This clearly distinguishes it from sibling GUI modeling tools by scoping it to session setup rather than modeling or calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use it: 'Use only when the user explicitly asks for a new task/session.' It also gives an exclusion rule—normal modeling should reuse the Dashboard/current session—so an agent gets a crisp selection boundary without needing to infer it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_gui_stateA
Get the stateful GUI session target: current document, current exported file, last job, and history.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the tool retrieves information (a read operation) but does not disclose any behavioral traits such as side effects, performance implications, or prerequisites. The description is accurate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the core purpose. It is concise but could be slightly expanded to clarify what 'history' entails. Still, it earns its place without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lists what the tool returns but does not provide details on the return format or structure, and there is no output schema. For a tool that aggregates multiple state pieces, more completeness would be beneficial. Among sibling tools, it is a query tool, but the description leaves some ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters (empty properties), and schema description coverage is 100% (trivially). With no parameters, the description does not need to add meaning beyond what the schema provides. Baseline score of 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: retrieving the stateful GUI session target, listing specific elements (current document, exported file, last job, history). It distinguishes itself from sibling tools that perform actions on the GUI state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies using the tool to query GUI state, but provides no explicit guidance on when to use it versus alternatives like ms_gui_apply_current or ms_gui_edit_current. There are no usage conditions or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_list_workspaceC
List files under the MS-MCP work root.
| Name | Required | Description | Default |
|---|---|---|---|
| subdir | No | . | |
| maxFiles | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states 'list files' without indicating if the operation is read-only, has side effects, or requires authentication. The lack of transparency is significant for a tool with no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise, but it sacrifices necessary detail. It is under-specified for an effective tool description, though no redundant information is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool complexity (2 parameters, no output schema, no annotations), the description is incomplete. It does not explain parameter usage, return format, or filtering behavior, leaving the agent without crucial information for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning parameters have no descriptions. The tool description does not mention parameters at all, providing no additional meaning for 'subdir' or 'maxFiles'. The agent cannot infer their semantics from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists files under the MS-MCP work root, providing a specific verb and resource. It is not a tautology and distinguishes from siblings like ms_status or ms_gui_project_dir. However, it lacks detail on whether directories are included or recursion behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention context, prerequisites, or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | ||
| operation | Yes | ||
| ttlSeconds | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It discloses 'short-lived' and 'one-time' aspects, which is useful, but it does not explain side effects, token consumption, return behavior, or what happens on repeated issuance. The approval configuration sentence is system setup, not a behavioral trait.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two sentences with no fluff, and the core purpose is front-loaded. The second sentence about requiring approval is somewhat tangential but still concise and potentially useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of annotations, output schema, and schema descriptions, the description is too sparse to allow reliable invocation. It lacks parameter meanings, usage context, and what to do with the issued token, making the tool under-documented for its moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description must compensate by explaining parameters. It does not interpret 'target', 'operation', or 'ttlSeconds' beyond a vague hint of 'short-lived' that maps to ttlSeconds. For a 3-parameter tool with no schema descriptions, this is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Issue') and resource ('short-lived one-time token for one reviewed licensed calculation'), clearly indicating it is an authorization step for licensed calculations. It does not explicitly name sibling tools, but the purpose is distinct from calculation-running siblings like ms_forcite or ms_castep.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is a prerequisite for licensed calculations by targeting 'one reviewed licensed calculation', but it does not explicitly say when to use it versus alternatives or provide any when-not guidance. The note about requiring explicit approval is a configuration directive, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_queue_statusB
Inspect the optional MS-MCP GUI queue folders.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description does not disclose whether the operation is read-only, requires authentication, or what happens if queues are empty or folders missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence with no redundancy. Could be more structured, but adequately conveys purpose with minimal words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no description of return values. Lacks information on what the user can expect after invoking the tool (e.g., list of queue folders or status messages).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no parameters, so schema coverage is complete. Description adds context by naming the specific resource being inspected, which is meaningful beyond the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear verb 'Inspect' and resource 'optional MS-MCP GUI queue folders', distinguishing it from siblings like 'ms_status'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'ms_status' or 'ms_remote_castep_batch_status'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_read_textC
Read a text output file under the MS-MCP work root.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | ||
| maxBytes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. It signals a read-only operation via 'Read' and confines access to the work root, but it says nothing about maxBytes truncation, nonexistent files, non-text content handling, or whether any side effects occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no filler and the core action is front-loaded. It is concise, though the brevity partly reflects under-specification rather than a deliberate balance of completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description must explain what the caller receives and how the tool behaves at boundaries. It does not mention the return value, truncation due to maxBytes, error behavior, or path restrictions beyond the vague 'work root.' For a two-parameter tool in a large sibling set, this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds some meaning to 'file' by identifying it as a text output file under the work root, but it leaves 'maxBytes' entirely unexplained, including its default, maximum, and truncation behavior. This is only partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Read a text output file under the MS-MCP work root.' It clearly identifies the tool's function, though it does not explicitly differentiate it from sibling tools. None of the listed siblings appears to be a generic text-file reader, so the purpose is reasonably distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no when-to-use guidance or alternatives. It only constrains the file location to 'the MS-MCP work root,' which is a scope restriction rather than usage guidance. An agent is not told when to choose this tool over related status or GUI inspection tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_remote_castep_batch_statusB
Read the local preparation markers, submission receipt, and downloaded result summary available for a remote CASTEP batch.
| Name | Required | Description | Default |
|---|---|---|---|
| batchName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It states what is read but fails to mention safety, authentication needs, side effects, or error behavior, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words, making it efficient. However, it could be more specific without adding length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter and no output schema, the description omits critical context such as return format, error conditions, prerequisites (e.g., batch must be submitted), and any side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should add meaning for the single parameter 'batchName'. It only references 'remote CASTEP batch' without clarifying the parameter's format, semantics, or how it relates to the batch.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Read') and the specific resources ('local preparation markers, submission receipt, and downloaded result summary') for a remote CASTEP batch, effectively distinguishing it from sibling tools like ms_remote_castep_record_submission.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after a remote CASTEP batch is prepared and submitted, but lacks explicit guidance on when to use versus alternatives or any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes | ||
| status | No | unknown | |
| gateway | Yes | ||
| batchName | Yes | ||
| serverType | No | ||
| submittedAt | No | ||
| driverDocument | No | ||
| submissionMode | No | native_castep | |
| calculationName | No | ||
| structureDocument | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says 'Record one Materials Studio Job Control receipt', implying a write operation, but does not disclose whether the operation is idempotent, what happens on duplicates, or any side effects. It gives basic context but lacks depth on behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loading the purpose and then the usage guideline. Every sentence is concise and to the point, with no verbose or redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 10 parameters, no output schema, and no annotations, the description is incomplete. It covers purpose and a specific use case but lacks parameter details, return value information, and full behavioral context. An agent would need additional information to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only provides meaning for calculationName (via the usage instruction). Other parameters like jobId, gateway, status, etc., are not explained. The description adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool records a Materials Studio Job Control receipt and specifies the context: for native_castep preparation, call after submitting XSD. It gives a specific verb and resource, but doesn't explicitly differentiate from sibling tools like ms_remote_castep_batch_status, though the purpose is distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: call once per calculationName after submitting XSD. It clearly indicates when to use the tool but does not mention exclusions or alternatives. This is still effective for an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ms_statusA
Check Materials Studio paths, RunMatScript availability, and MS-MCP workspace.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only check but does not explicitly state whether it modifies state, requires authentication, or has side effects. With no annotations provided, the description carries the full burden, and it partially fulfills it by indicating 'check' but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, clear sentence front-loading the action and scope. No unnecessary words; every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple status check with no parameters and no output schema, the description adequately covers the tool's function. It could detail return format or behavior, but contextually it is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so baseline is 4. The description adds meaning beyond the schema by specifying what the tool checks (paths, availability, workspace), which is sufficient for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool checks three specific aspects: Materials Studio paths, RunMatScript availability, and MS-MCP workspace. This clearly distinguishes it from sibling tools that perform actions like running scripts, queue management, or GUI operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. However, the purpose implies it serves as a pre-check before other MS operations, so usage context is somewhat implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
32 tool updates
v0.2.0-hardened.1- First observed
ms_castep - First observed
ms_codex_config - First observed
ms_create_molecule - First observed
ms_forcite - First observed
ms_gui_add_vacuum_current - First observed
ms_gui_apply_current - First observed
ms_gui_castep_current - First observed
ms_gui_cleave_surface_vacuum_current - First observed
ms_gui_create_crystal_current - First observed
ms_gui_create_current - First observed
ms_gui_dmol3_optimize_current - First observed
ms_gui_download_cif_import_current - First observed
ms_gui_edit_current - First observed
ms_gui_find_cif_import_current - First observed
ms_gui_forcite_optimize_current - First observed
ms_gui_import_current - First observed
ms_gui_make_supercell_current - First observed
ms_gui_model_current - First observed
ms_gui_new_structure_current - First observed
ms_gui_prepare_remote_castep_batch - First observed
ms_gui_project_dir - First observed
ms_gui_set_current_document - First observed
ms_gui_set_lattice_current - First observed
ms_gui_start_project_session - First observed
ms_gui_state - First observed
ms_list_workspace - First observed
ms_prepare_compute_authorization - First observed
ms_queue_status - First observed
ms_read_text - First observed
ms_remote_castep_batch_status - First observed
ms_remote_castep_record_submission - First observed
ms_status
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.
Maintenance
Related MCP Connectors
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Hosted MCP server for task-first delegation to remote workstations and workers.
MCP access to ELSHWORK agents, repositories, isolated runs, discovery and tasks.
The governed runtime for agent skills. Search the catalog and inspect a skill before running it.
Related MCP Servers
- AlicenseCqualityAmaintenanceEnables MCP clients to execute Materials Studio modeling and computation tasks via MaterialsScript runtime, with a local Dashboard for monitoring.3321MIT
- FlicenseCqualityBmaintenanceMCP server for BIOVIA Materials Studio 2023 on Windows, providing controlled preparation of Forcite and CASTEP inputs, model building, and LAMMPS/VMD pre-processing with reproducible, auditable workflows and strict scientific boundaries.531-
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients like Codex to control Ansys Workbench and ICEM CFD locally, executing scripts, managing projects, and running simulations.2MIT
- AlicenseAqualityCmaintenanceEnables MCP clients to control the local Open Science research application, including creating projects, starting or continuing research sessions, inspecting progress and plans, canceling runs, and reading generated artifacts.12Apache 2.0