Skip to main content
Glama
loumalouomega

Kratos MCP Server

add_boundary_condition

Insert boundary conditions or load process blocks into an existing ProjectParameters.json to configure Kratos Multiphysics simulations.

Instructions

Insert a boundary condition / load process block into an existing ProjectParameters.json. kind is one of: fix_displacement, prescribed_displacement, fix_velocity, inlet_velocity, outlet_pressure, fix_temperature, point_load, line_load, surface_load, pressure_load, surface_heat_flux, volume_heat_source, self_weight, or the generic fix_scalar / assign_scalar / fix_vector / assign_vector (which need 'variable', e.g. DISTANCE). fix_* constrain the DOFs, assign_* only set the values. Loads with modulus+direction (point/line/surface_load, self_weight) apply along a direction vector; the others take 'value' (vector or scalar). 'variable' overrides the kind's default variable. For multi-stage (orchestrator) files pass 'stage'. Use project_add_process for any other Kratos process.

Input Schema

NameRequiredDescriptionDefault
kindYes
stageNo
valueNo
modulusNo
intervalNo
variableNo
directionNo
model_partYes
process_listNo
parameters_fileYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.9.0
    • addedInput schema / properties / stage
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Stage"
      +}
    • addedInput schema / properties / variable
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Variable"
      +}
  2. First observedv0.3.1

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden, and it delivers real behavioral context: fix_* constrains DOFs while assign_* only sets values, loads with modulus+direction apply along a vector, and 'variable' overrides the kind default. It does not say whether existing blocks are overwritten, whether the file is written in place, or what validation is required, leaving some mutation-behavior ambiguity.

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?

It is dense and front-loads the core action and the enumeration of kinds before the routing note. Every sentence carries semantic weight, though the kind list is long and slightly linear rather than grouped.

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?

Output schema exists so return values need not be described, and the mutation semantics, kind taxonomy, and sibling routing are covered. The gaps on interval/process_list and overwrite/validation behavior keep it short of fully complete for a 10-param mutation tool with no annotations.

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 kind, stage, value, modulus, direction, and variable in meaningful terms. However, interval, process_list, model_part, and parameters_file receive no explanation anywhere, so a quarter of the parameters remain opaque.

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 (insert) and resource (boundary condition / load process block into an existing ProjectParameters.json), and names the sibling it does not cover. An agent can distinguish it from project_add_process without opening either schema.

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

Usage Guidelines5/5

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

Explicitly routes the agent: 'Use project_add_process for any other Kratos process.' It also gives selection criteria between kinds (fix_* vs assign_*, loads with modulus+direction vs value-based, when to pass 'stage'). Both the when and the when-not are stated.

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