Skip to main content
Glama
loumalouomega

Kratos MCP Server

project_add_process

Add any Kratos Multiphysics process to a ProjectParameters.json file by specifying its Python module, parameters, section, and position. Optionally merge default settings from process schemas.

Instructions

Add ANY Kratos process to a ProjectParameters.json -- the generic counterpart of add_boundary_condition / add_output_process. python_module is a module name from kratos_list_processes (e.g. 'assign_scalar_variable_process', 'apply_constraint_vector_process', 'compute_...'); 'parameters' are its Parameters (see kratos_get_process_defaults for the schema). With merge_defaults (default) the process' real default settings fill every key you omit (needs the Kratos source tree). kratos_module is inferred ('KratosMultiphysics' for core, 'KratosMultiphysics.' for application processes; pass it explicitly if a warning says it was guessed). The block goes into process_list of 'section' ('processes' by default, 'output_processes' for vtk/gid output modules), created if missing, at 'position' (default: end). Warnings flag model parts missing from the mesh and, with a Kratos build, unknown variable names.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stageNo
sectionNo
positionNo
parametersNo
process_listNo
process_nameNo
kratos_moduleNo
python_moduleYes
merge_defaultsNo
parameters_fileYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.0

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so well: it discloses that merge_defaults fills omitted keys from the Kratos source tree, that kratos_module is inferred and may need to be passed explicitly after a warning, that the target section is created if missing, and that warnings are emitted for model parts absent from the mesh and unknown variable names.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: purpose and sibling relationship come first, then mechanics. For a 10-parameter tool with a default-filling side effect, the length is largely earned, though the section/process_list sentence is slightly tangled.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values need no explanation, and the mutation mechanics and warning behavior are covered. The only real omissions are the undocumented 'stage' and 'process_name' parameters in an otherwise complex 10-param tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it explains the key parameters well: python_module's expected values and source, parameters' schema origin, merge_defaults behavior, kratos_module inference, section/process_list placement and position default. Gaps remain for 'stage' and 'process_name', which are never mentioned.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Add ANY Kratos process to a ProjectParameters.json') and immediately positions itself as the generic counterpart of add_boundary_condition/add_output_process, so an agent can distinguish it from siblings without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent to kratos_list_processes for module names and kratos_get_process_defaults for the parameters schema, and contrasts itself with the specialized sibling tools. It stops short of stating precisely when to prefer the specific tools over this generic one, so it is clear context rather than full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools