Skip to main content
Glama
Ching-Chiang

comsol-mcp

by Ching-Chiang

COMSOL MCP

가시적인 Desktop 클라이언트 워크플로우를 지원하는 AI 기반 COMSOL MCP 서버입니다.

comsol-mcp는 다음과 같은 워크플로우를 위해 구축되었습니다:

  • 사용자가 수동으로 COMSOL Multiphysics Server를 시작합니다.

  • COMSOL Desktop이 해당 서버에 시각적 클라이언트로 연결됩니다.

  • MCP 클라이언트가 동일한 서버 측 모델에 연결됩니다.

  • 모델링 변경 사항이 블랙박스 배치 작업으로 실행되는 대신 시각적으로 확인 가능합니다.

이 저장소는 이 코드베이스에서 가시적인 COMSOL 자동화를 위한 새로운 메인라인입니다. 기존의 배치 지향 경로는 이제 레거시 참조로만 남았습니다.

이 프로젝트가 존재하는 이유

많은 COMSOL 자동화 흐름은 강력하지만 불투명합니다. Java를 컴파일하거나, 배치 작업을 실행하거나, 일반적인 서버 측 시뮬레이션을 구동할 수는 있지만, Desktop GUI에서 모델이 진화하는 과정을 항상 볼 수 있는 것은 아닙니다.

comsol-mcp는 다음과 같은 목표에 중점을 둡니다:

  • 가시적인 GUI 변경 사항

  • 공유된 서버 측 모델 상태

  • Desktop 측 폴링 브리지 없음

  • GUI 자동화 계층 없음

  • 블랙박스 배치 전용 워크플로우 없음

Related MCP server: COMSOL MCP Server

핵심 워크플로우

이 프로젝트는 연결 우선(attach-first) 워크플로우를 사용합니다:

  1. COMSOL Multiphysics Server를 수동으로 시작합니다.

  2. 서버 콘솔에서 실제 수신 포트를 확인합니다.

  3. COMSOL Desktop을 동일한 포트에 연결합니다.

  4. 필요한 경우 서버 측 모델을 Desktop으로 가져옵니다.

  5. server_connect(host, port)를 사용하여 MCP를 동일한 서버에 연결합니다.

  6. 작업 모델을 생성하거나 로드합니다.

  7. MCP 도구를 사용하여 공유된 서버 측 모델을 수정합니다.

  8. COMSOL Desktop에서 동일한 모델이 업데이트되는 것을 확인합니다.

전체 버전은 워크플로우 가이드를 참조하세요.

빠른 시작

사전 요구 사항

  • COMSOL이 로컬에 설치된 Windows

  • 유효한 COMSOL 라이선스

  • Python 3.10 이상

  • 수동으로 시작된 COMSOL Multiphysics Server

설치

소스에서 설치:

git clone <your-repo-url> comsol-mcp
cd comsol-mcp
python -m pip install -e .

환경 변수 설정:

$env:COMSOL_ROOT = "C:\Program Files\COMSOL\COMSOL63\Multiphysics"
$env:COMSOL_SERVER_MCP_HOME = "$PWD\comsol-server-home"

MCP 서버 시작:

python -m comsol_mcp.mcp_server

또는 헬퍼 스크립트 사용:

.\scripts\start_comsol_mcp.ps1 -Python python -ComsolRoot "C:\Program Files\COMSOL\COMSOL63\Multiphysics" -McpHome "$PWD\comsol-server-home"

MCP 설정 예시

참조:

최소 가시적 데모

server_connect("localhost", <actual_port>)
model_create("VisibleServerModel")
ensure_component("comp1", 2)
ensure_geometry("comp1", "geom1", 2)
ensure_mesh("comp1", "mesh1")
create_feature("comp1", "geom1", "r1", "Rectangle", "[{\"name\":\"size\",\"values\":[\"60[mm]\",\"30[mm]\"]},{\"name\":\"pos\",\"values\":[\"-30[mm]\",\"-15[mm]\"]}]", true)
run_feature("mesh", "mesh1", "comp1")

Desktop과 MCP가 동일한 서버 측 모델을 공유하므로 Desktop에 동일한 형상이 표시되어야 합니다.

동일한 흐름의 문서 형태는 examples/attach_first_demo.md를 참조하세요.

도구 인터페이스

현재 도구:

  • server_info()

  • server_start(...)

  • server_connect(host, port, model_name="")

  • server_disconnect(shutdown_server=false)

  • model_create(name="Server Model")

  • model_load(path)

  • model_tree()

  • get_parameters()

  • set_parameters(parameters_json)

  • ensure_component(component="comp1", dimension=2)

  • ensure_geometry(component="comp1", geometry="geom1", dimension=2)

  • ensure_mesh(component="comp1", mesh="mesh1")

  • create_feature(component, geometry, tag, feature_type, properties_json="[]", run_geometry=false)

  • update_feature(component, geometry, tag, properties_json, run_geometry=false)

  • delete_feature(component, geometry, tag, run_geometry=false)

  • run_feature(collection, tag, component="comp1")

  • run_study(study_tag="")

  • save_model(path="")

모델링 도구 인터페이스는 의도적으로 안정적으로 유지됩니다. 이 저장소 정리 작업은 이러한 도구의 이름을 변경하거나 제거하지 않습니다.

권장 진입점

권장되는 진입점은 다음과 같습니다:

server_connect("localhost", <actual_port>)

server_start()도 여전히 사용할 수 있지만, 이제는 고급 대체 수단입니다. MCP가 COMSOL 서버 수명 주기를 관리하게 하고 COMSOL이 자동으로 다른 수신 포트를 선택할 수 있음을 수용할 때만 사용하세요.

알려진 제한 사항

  • COMSOL Desktop은 연결 성공 후 서버 측 모델을 자동으로 표시하지 않을 수 있습니다. 기존 서버 모델을 가져오거나 전환해야 할 수 있습니다.

  • server_connect()는 현재 작업 모델이 선택되지 않은 상태에서도 성공할 수 있습니다. 이 경우 model_create() 또는 model_load()를 사용하세요.

  • 서버 콘솔 출력과 실제 수신 포트는 항상 실제 활성 리스너와 대조하여 확인해야 합니다.

  • Desktop 그래픽은 서버 측 모델 변경 후 가벼운 새로 고침이 필요할 수 있습니다.

문제 해결 가이드를 참조하세요.

다른 MCP와의 차이점

abaqus-mcp-server와의 비교

abaqus-mcp-server는 GUI 스크립팅/GUI 자동화 스타일의 프로젝트입니다. 이미 실행 중인 GUI와 함께 작동하며 GUI 자동화 기술을 사용하여 작업을 트리거합니다.

comsol-mcp는 COMSOL에 대해 pywinauto 스타일의 GUI 자동화를 사용하지 않습니다. 대신 COMSOL Multiphysics Server에 직접 연결하여 Desktop이 시각화하는 동일한 서버 측 모델을 구동합니다.

일반적인 COMSOL 자동화 MCP와의 비교

공개된 COMSOL MCP 목록은 종종 솔버 범위, 메시 생성, 물리 설정 및 파라메트릭 스윕 커버리지에 중점을 둡니다.

이 프로젝트는 다음과 같은 다른 가치 제안에 중점을 둡니다:

  • 연결 우선(attach-first)

  • 가시적인 Desktop 워크플로우

  • 비 블랙박스 모델링

  • Desktop과 MCP 간의 공유 모델 상태

이것은 단순히 "또 다른 COMSOL 자동화 MCP"가 아닙니다. 워크플로우를 가시적으로 만들고 Desktop 클라이언트와 협업할 수 있도록 하는 것에 관한 것입니다.

기존 배치 경로와의 비교

기존 배치 경로는 다음을 사용했습니다:

  • comsolcompile

  • comsolbatch

이 경로는 오프라인 작업에는 여전히 유용하지만, 더 이상 이 프로젝트의 공개적인 정체성이 아닙니다. 이 저장소에서는 메인라인이 아닌 레거시 참조로 취급됩니다.

더 자세한 비교는 docs/differences.md를 참조하세요.

레거시 / 이전 배치 경로

이 코드베이스의 초기 내부 comsol-mcp 경로는 배치 지향적이었으며 comsolcompile과 comsolbatch를 래핑했습니다. 해당 레거시 경로는 의도적으로 이 저장소의 공개적인 얼굴이 아닙니다.

이 저장소는 다음 사항에 중점을 둡니다:

  • COMSOL Multiphysics Server

  • 시각적 클라이언트로서의 Desktop

  • 동일한 모델에 대한 MCP 연결

저작자 표시

  • MPh 기반으로 구축됨

  • COMSOL 클라이언트-서버 워크플로우 및 관련 MCP 탐색에서 영감을 받음

  • COMSOL과 제휴하지 않음

  • COMSOL 바이너리나 독점 자산을 포함하지 않음

라이선스

MIT. LICENSE를 참조하세요.

Available Tools

18 tools
create_featureC

Create a geometry feature and optionally apply initial properties.

ParametersJSON Schema
NameRequiredDescriptionDefault
componentYes
geometryYes
tagYes
feature_typeYes
properties_jsonNo[]
run_geometryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations exist, and the description only implies a write operation without detailing side effects, permissions required, or what happens on duplicate creation. For a mutation tool, this is insufficient.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. It fails to front-load key information and does not earn its brevity given the tool's complexity.

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

Completeness2/5

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

Despite an output schema, the description omits prerequisites, return format, and constraints. The 6 parameters are poorly explained, making the definition incomplete for an agent.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate but only mentions 'geometry feature' and 'initial properties'. It does not explain the meaning of parameters like 'component', 'tag', 'feature_type', or 'run_geometry'.

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

Purpose4/5

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

The description clearly states the tool creates a geometry feature and optionally applies properties. It uses a specific verb-resource pair and distinguishes from 'delete_feature' and 'update_feature'. However, it does not clarify what a 'geometry feature' entails.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'run_feature' or 'update_feature'. The description gives no context for appropriate invocation.

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

delete_featureC

Delete a geometry feature from the selected server-side model.

ParametersJSON Schema
NameRequiredDescriptionDefault
componentYes
geometryYes
tagYes
run_geometryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'Delete' but omits details like reversibility, side effects, required state, or impact of the 'run_geometry' parameter.

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

Conciseness2/5

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

While a single sentence is concise, it omits essential parameter details, making it inadequate for a tool with 4 parameters and a complex operation.

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

Completeness1/5

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

Given the lack of annotations, presence of an output schema not described, and 4 undocumented parameters, the description is severely incomplete. It does not enable correct invocation.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description adds no explanation for any of the 4 parameters (component, geometry, tag, run_geometry). The agent gains no insight beyond raw names.

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?

The description clearly states the action ('Delete') and the resource ('geometry feature') with context ('from the selected server-side model'), distinguishing it from siblings like create_feature and update_feature.

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

Usage Guidelines2/5

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., run_feature, update_feature). No conditions, prerequisites, or when-not advice provided.

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

ensure_componentC

Ensure a component exists in the selected server-side model.

ParametersJSON Schema
NameRequiredDescriptionDefault
componentNocomp1
dimensionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It implies idempotency but does not clarify what happens if component already exists (no-op vs update). No mention of side effects, permissions, or error conditions.

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

Conciseness3/5

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

Single sentence is concise, but at the cost of omitting essential details. Not a model of efficient communication.

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

Completeness2/5

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

Given 2 parameters with no descriptions, and existence of output schema, the description fails to provide sufficient context about prerequisites, behavior, or return values.

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

Parameters1/5

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

Schema has 0% parameter descriptions. The description adds no explanation for 'component' or 'dimension', leaving the agent to guess their meaning and valid values.

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

Purpose4/5

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

Description clearly states the action (ensure existence) and resource (component) and context (selected server-side model). However, it does not differentiate from sibling tools like ensure_geometry or ensure_mesh, which also create/verify entities.

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

Usage Guidelines2/5

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 ensure_geometry or ensure_mesh. 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.

ensure_geometryC

Ensure a geometry sequence exists in the selected server-side model.

ParametersJSON Schema
NameRequiredDescriptionDefault
componentNocomp1
geometryNogeom1
dimensionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided, and description fails to disclose behavioral traits such as idempotency, side effects, or what 'ensure' means (create vs check). 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.

Conciseness3/5

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

Single sentence is concise but lacks structure; it is minimally informative but not wasteful. Could benefit from additional context without being verbose.

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

Completeness2/5

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

Given three parameters, no annotations, and an output schema, the description is incomplete. It does not explain parameter roles, output meaning, or behavioral details.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning to any of the three parameters (component, geometry, dimension). The defaults exist in schema but are unexplained.

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

Purpose4/5

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

Description clearly states the tool ensures a geometry sequence exists in a server-side model, using specific verb and resource. It distinguishes from siblings like ensure_component and ensure_mesh by naming geometry, but lacks explicit differentiation.

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

Usage Guidelines2/5

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, no prerequisites, no exclusions. The description is purely declarative without usage context.

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

ensure_meshC

Ensure a mesh sequence exists in the selected server-side model.

ParametersJSON Schema
NameRequiredDescriptionDefault
componentNocomp1
meshNomesh1

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

Implies idempotent 'ensure' behavior but does not specify side effects, error handling, or what happens if the mesh already exists. With no annotations, the description fails to disclose key behavioral traits.

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

Conciseness3/5

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

The description is a single sentence, concise but too brief. It lacks structure to highlight key points, though it is not verbose.

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

Completeness2/5

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

Despite having an output schema (unknown), the description provides no information about return values or tool behavior. With no annotations and minimal parameter info, the description is incomplete for effective use.

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

Parameters2/5

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

Schema coverage is 0%, and the description does not explain what 'component' and 'mesh' parameters represent. It only repeats the names, adding no semantic value beyond the schema.

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

Purpose4/5

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

The description clearly states the tool ensures a mesh sequence exists, using a specific verb and resource. However, it does not explicitly differentiate from siblings like ensure_component or ensure_geometry, lacking comparative context.

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

Usage Guidelines2/5

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, nor any prerequisites or conditions. The description is silent on usage context, leaving the agent to infer.

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

get_parametersB

Return current global parameters from the selected server-side model.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, side effects, or error conditions (e.g., if no model is loaded). The agent has no information about what happens if the server state is invalid.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant words. It conveys the core purpose efficiently.

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

Completeness2/5

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

Given the tool has zero parameters and an output schema exists, the description still lacks context about prerequisites (e.g., model loaded, server connected) and when to call it. This is inadequate for a tool that interacts with server state.

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

Parameters3/5

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

With zero parameters, the input schema provides no parameter info, but the description does not add meaning beyond stating the tool returns 'global parameters'. It does not clarify what constitutes global parameters or how they relate to the model, so it adds minimal value.

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?

The description clearly states the tool returns global parameters from the server-side model, using a specific verb ('Return') and resource ('global parameters'). It distinguishes itself from sibling 'set_parameters'.

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

Usage Guidelines2/5

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

The description does not provide guidance on when to use this tool versus alternatives like model_tree or server_info. No prerequisites, exclusions, or context are mentioned.

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

model_createB

Create a new in-memory model on the connected COMSOL server and select it as current.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoServer Model

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It indicates creation of an in-memory model but lacks details on side effects (e.g., replacing current model) or behavioral traits like required prior connections.

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

Conciseness5/5

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

Single sentence, front-loaded with key information, no wasted words. Efficient and clear.

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

Completeness3/5

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

With 1 parameter, no annotations, and an output schema (content unknown), description covers basic purpose but omits prerequisites like server connection and what 'select as current' entails. Adequate but not complete.

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

Parameters2/5

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

Schema has 1 parameter (name) with 0% description coverage. The description does not explicitly explain the parameter beyond the action; it implies naming but adds no detail on syntax or constraints.

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?

The description clearly states the specific action: 'create a new in-memory model' and the additional outcome 'select it as current.' This distinguishes it from sibling tools like model_load, which loads existing models.

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

Usage Guidelines2/5

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. Sibling tools like model_load exist but no differentiation or prerequisites (e.g., server must be connected) are mentioned.

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

model_loadB

Load an MPH file on the connected COMSOL server and select it as current.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose side effects (e.g., overwrites current model), error handling (file not found, invalid format), or any constraints (file size, server state). Only states the basic function.

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

Conciseness5/5

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

Single sentence front-loaded with action, no unnecessary words. Efficient and clear.

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

Completeness2/5

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

Despite having an output schema (unknown content), the description omits return value details, prerequisites (server connection), and behavioral context needed for a load operation. Incomplete for the tool's complexity.

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

Parameters3/5

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

Schema coverage is 0%, so description must add meaning. It mentions 'MPH file' which adds file type context to the 'path' parameter, but does not specify path format, required extension, or allowed values beyond the schema indicating it is required.

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?

The description clearly states the action ('Load an MPH file') and the effect ('select it as current'). It distinguishes from sibling tools like 'model_create' (create new model) and 'save_model' (save).

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

Usage Guidelines2/5

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, no prerequisites (e.g., server must be connected via 'server_connect'), and no context about required order of operations.

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

model_treeA

Return tags and structure for the current server-side model.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, the description should disclose side effects or read-only nature, but it only states what is returned. No mention of safety, permissions, or model mutability.

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

Conciseness5/5

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

Single sentence, front-loaded with key information. No wasted words.

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?

Adequate for a zero-parameter tool with an output schema. Description covers the return purpose without needing to detail output structure.

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?

No parameters exist, so baseline is 4 per rules. Schema coverage is 100%, and description correctly implies no input needed, adding no extra meaning.

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?

Description uses clear verb 'Return' and specific resource 'tags and structure for the current server-side model', distinguishing it from sibling tools like model_create or model_load.

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

Usage Guidelines2/5

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 like get_parameters or server_info. Lacks any context about prerequisites or typical use cases.

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

run_featureC

Run a geometry or mesh sequence on the selected server-side model.

ParametersJSON Schema
NameRequiredDescriptionDefault
collectionYes
tagYes
componentNocomp1

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

Without annotations, the description should disclose behavioral traits. It only says 'run', lacking details on whether it modifies state, is destructive, requires authentication, or what the output represents. Very limited transparency.

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

Conciseness2/5

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

The description is extremely concise (one sentence), but this comes at the cost of missing critical information. It is not well-structured to front-load key details for an agent.

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

Completeness2/5

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

Given the lack of annotations, high parameter count (3), and an output schema that is not described, the description fails to provide sufficient context for an agent to correctly invoke the tool. It omits return behavior, side effects, and parameter roles.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description adds no meaning to any of the three parameters (collection, tag, component). It does not explain what these parameters represent or how they affect execution.

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

Purpose4/5

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

The description clearly states the action 'Run' and the target 'geometry or mesh sequence on the selected server-side model'. It effectively conveys what the tool does and distinguishes it from sibling tools like create_feature or delete_feature, though it could be more explicit about the semantic difference.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description implies use for executing a sequence, but there is no explicit context about prerequisites, conditions, or excluded use cases.

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

run_studyC

Run the current model study, optionally restricting execution to a study tag.

ParametersJSON Schema
NameRequiredDescriptionDefault
study_tagNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It says 'run' but does not disclose if it modifies state, requires permissions, or is reversible. Output schema exists but return values are not mentioned.

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

Conciseness5/5

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

Single sentence with no wasted words. Front-loaded with purpose and optional constraint.

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

Completeness3/5

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

Tool is simple with one optional parameter and output schema exists. However, description does not clarify what constitutes a 'study' or whether it requires a loaded model, which is relevant given siblings like model_load.

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

Parameters2/5

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

Schema coverage is 0%, so description must compensate. It mentions 'study tag' restricts execution but does not explain format or meaning beyond that. The default empty string is not interpreted.

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

Purpose4/5

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 'current model study', and mentions optional restriction by study tag. It distinguishes from sibling 'run_feature' implicitly, but does not explicitly differentiate.

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

Usage Guidelines2/5

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

No guidance on when to use vs alternatives like run_feature, no prerequisites (e.g., study must exist), and no when-not conditions. The only hint is optional restriction by tag.

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

save_modelC

Save the current server-side model to disk.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided, and the description only says 'save to disk' without disclosing side effects (overwrite behavior, asynchronicity, permissions required). For a mutation tool, this is insufficient.

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

Conciseness3/5

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

The description is extremely concise at one sentence, but it sacrifices necessary detail. It is not verbose, but also not sufficiently informative for an agent to use correctly.

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

Completeness2/5

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

Given the presence of an output schema, the return value might be documented, but the description still lacks essential context like success/failure behavior, default save location, and whether a model must be loaded. It is incomplete for practical use.

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

Parameters1/5

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

The only parameter 'path' has no description in the schema (0% coverage) and the tool description adds no meaning. The default empty string is unexplained, and the expected format or behavior is unclear.

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

Purpose4/5

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

The description clearly states the action 'save' and the resource 'current server-side model to disk'. It distinguishes from sibling tools like model_create or model_load, but lacks specifics about the default path or file format.

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

Usage Guidelines2/5

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

No guidance on when to use this tool over alternatives, no prerequisites, and no mention of when not to use it. Among many sibling tools, usage context is missing.

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

server_connectC

Connect the MCP client to an existing COMSOL Multiphysics Server.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostNolocalhost
portNo
model_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are present, so the description must convey behavioral traits. It only states the high-level action, omitting details like connection persistence, error handling, or state changes. The presence of an output schema might help but is not described.

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?

The description is a single sentence front-loading the core action. However, it is too sparse, sacrificing completeness for brevity.

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

Completeness1/5

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

Given three parameters with no schema descriptions and no annotations, the description is woefully incomplete. It fails to provide enough context for correct invocation, such as parameter roles or required setup.

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

Parameters1/5

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

The schema has 0% description coverage for parameters, and the description adds no meaning to host, port, or model_name. Crucial context like what model_name specifies (e.g., a model to load after connection) is missing.

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

Purpose4/5

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

The description clearly states the action (connect) and resource (MCP client to existing COMSOL server). It is specific enough to distinguish from siblings like server_disconnect and server_start.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites (e.g., server must be running via server_start) or situations where server_connect is inappropriate.

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

server_disconnectA

Disconnect the MCP client. Optionally shut down the local server if MCP started it.

ParametersJSON Schema
NameRequiredDescriptionDefault
shutdown_serverNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

No annotations provided, so description carries the burden. It discloses the optional server shutdown condition, but lacks details on 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.

Conciseness5/5

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

Two sentences, no redundancy, front-loaded with the action. Every word earns its place.

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

Completeness5/5

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

For a simple tool with one optional parameter and an output schema, the description sufficiently covers purpose and behavior. No missing information for typical use.

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?

Although schema coverage is 0%, the description explains the optional shutdown behavior based on MCP starting the server, adding meaning beyond the bare boolean parameter.

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?

Clearly states it disconnects the MCP client and optionally shuts down the server. Verb and resource are specific, and it distinguishes from sibling tools like server_connect or server_start.

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

Usage Guidelines3/5

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

Describes the optional shutdown behavior but does not provide explicit guidance on when to use this tool versus alternatives, or when to set shutdown_server flag.

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

server_infoA

Return COMSOL Server MCP status, configured paths, and current runtime state.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It clearly states what is returned (status, paths, runtime state) and implies a read-only, non-destructive operation. Could add more detail about what 'runtime state' includes, but sufficient.

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

Conciseness5/5

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

Single, well-structured sentence with no wasted words. Information is front-loaded and easy to parse.

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?

Given the simple nature and presence of an output schema (likely describing the return structure), the description covers the key aspects. Could specify what 'configured paths' refers to, but adequate for a status 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?

The tool has 0 parameters, so no additional meaning is needed. Baseline for 0 params is 4, and the description adds no confusion.

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?

The description uses a clear verb 'Return' and specifies the resource: 'COMSOL Server MCP status, configured paths, and current runtime state.' It distinguishes from sibling tools which focus on features, models, and parameters.

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

Usage Guidelines3/5

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

No explicit guidance on when to use or avoid this tool. Usage is implied from its purpose, but there are no alternatives mentioned or context for conditionality.

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

server_startB

Start a local COMSOL Multiphysics Server and connect the MCP client to it.

This is an advanced entrypoint. The recommended visible workflow is to start COMSOL Multiphysics Server manually, connect Desktop to it, and then use server_connect() from MCP.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNo
coresNo
multiNoon
timeout_secondsNo
versionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description lacks any behavioral details such as whether the operation is destructive, what happens to existing servers, or error conditions. The description does not go beyond stating basic functionality.

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?

The description is brief and front-loaded with the core action. The second paragraph adds useful context. It could be slightly more concise, but overall it is well-structured without unnecessary fluff.

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

Completeness2/5

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

With five parameters undocumented and no annotations, the description fails to provide a complete picture. The agent lacks information on default behavior, output, or error handling, making it insufficient for a tool with this complexity.

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

Parameters1/5

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 for any of the five parameters (port, cores, multi, timeout_seconds, version). The agent gets no guidance on how to use these parameters effectively.

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?

The description clearly states it starts a local COMSOL Multiphysics Server and connects the MCP client. It distinguishes itself from sibling tools like server_connect by labeling itself as an 'advanced entrypoint' and recommending an alternative workflow.

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 provides when-to-use vs alternatives: it says this is advanced, and the recommended workflow is to manually start the server and use server_connect instead. This helps an agent decide which tool to invoke.

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

set_parametersC

Set multiple global parameters on the selected server-side model.

ParametersJSON Schema
NameRequiredDescriptionDefault
parameters_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior. It fails to explain safety (e.g., mutation effects), required permissions, or how parameters are updated (overwrite vs merge). Only a minimal action statement is provided.

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?

Single sentence, efficient and front-loaded. However, it is slightly too terse, missing necessary detail around parameter usage.

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

Completeness2/5

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

Despite having an output schema, the tool is incomplete: the parameter's format is unexplained, and no behavioral context is given. For a tool with one parameter, more detail is expected.

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

Parameters1/5

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

The sole parameter 'parameters_json' has no schema description (0% coverage). The description does not clarify the expected format (e.g., JSON string with key-value pairs), leaving the agent unable to construct a proper value.

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?

The description clearly states the action ('Set') and the resource ('global parameters on the selected server-side model'), which is specific and distinct from siblings like get_parameters.

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

Usage Guidelines2/5

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., get_parameters for reading), nor any prerequisites or conditions. Usage is only implied.

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

update_featureC

Update geometry feature properties on the selected server-side model.

ParametersJSON Schema
NameRequiredDescriptionDefault
componentYes
geometryYes
tagYes
properties_jsonYes
run_geometryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior; it only says 'update' implying mutation, but omits side effects, atomicity, return value details, or whether existing properties are replaced or merged.

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

Conciseness3/5

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

The single sentence is concise and front-loaded, but it omits essential information for effective use, making it slightly under-specified.

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

Completeness1/5

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

With 5 undocumented parameters and an unexplained output schema, the description is far from complete; it fails to equip the agent with sufficient context for correct invocation.

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

Parameters1/5

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

Despite 0% schema coverage and 5 parameters, the description provides no explanation of any parameter (component, geometry, tag, properties_json, run_geometry), leaving the agent without semantic understanding.

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?

The description explicitly states the action ('update') and the resource ('geometry feature properties on the selected server-side model'), clearly distinguishing it from sibling tools like create_feature or delete_feature.

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

Usage Guidelines2/5

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 like create_feature or run_feature, nor any prerequisites or conditions for invocation.

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.

  1. 18 tool updatesv0.1.0
    • First observedcreate_feature
    • First observeddelete_feature
    • First observedensure_component
    • First observedensure_geometry
    • First observedensure_mesh
    • First observedget_parameters
    • First observedmodel_create
    • First observedmodel_load
    • First observedmodel_tree
    • First observedrun_feature
    • First observedrun_study
    • First observedsave_model
    • First observedserver_connect
    • First observedserver_disconnect
    • First observedserver_info
    • First observedserver_start
    • First observedset_parameters
    • First observedupdate_feature

TDQS

B3.2/5.0

Scored across 18 tools

Disambiguation5/5

Every tool targets a distinct action or entity: server management, model operations, geometry/mesh features, parameters, and study execution. There is no ambiguity between server tools, model tools, and feature tools.

Naming Consistency3/5

Tool names mix two patterns: noun_verb (e.g., server_connect, model_create) and verb_noun (e.g., create_feature, set_parameters). While still readable, the inconsistency across the set reduces predictability.

Tool Count5/5

With 18 tools, the set covers server lifecycle, model CRUD, geometry/mesh operations, parameters, and study runs without being bloated or insufficient for the domain.

Completeness4/5

The tools cover core workflows: server management, model creation/loading/saving, parameter manipulation, feature creation/deletion/update, and running sequences/studies. Missing result extraction and mesh-specific feature creation are minor gaps.

Related MCP Connectors

Related MCP Servers