Skip to main content
Glama

Avizo MCP and Codex Skill

Local Model Context Protocol server and Codex skill for Thermo Scientific Amira-Avizo automation on Windows.

This repository is designed as a conservative bridge around an existing local Avizo installation. It does not call private Avizo APIs from outside the Avizo process. Instead, it helps an MCP client:

  • discover Avizo, AvizoToGo, Amira, bundled Python, docs, demos, and a job workdir;

  • inventory Avizo/Amira project trees containing .hx, .am, .measure.am, TIFF stacks, Header.txt, DVC outputs, and deep-learning artifacts;

  • inspect .hx workflows and extract command patterns plus referenced files;

  • create reproducible .hx and Python scripts in a job directory;

  • generate .pyscro plus .rc script-object skeletons using the public Amira-Avizo extension pattern;

  • launch Avizo/AvizoToGo/Amira or run Avizo's bundled Python;

  • capture and read job logs.

Repository Layout

src/avizo_mcp/           MCP server package
skills/avizo/            Codex skill that teaches agents how to use the MCP
examples/                Example MCP config and smoke-test scripts
pyproject.toml           Python package metadata

Related MCP server: ansys-workbench-mcp

Install

Use standard Windows CPython, not MSYS Python. The mcp dependency pulls pywin32 on Windows, which is not available for MSYS Python builds.

py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .

Environment

Set these variables in your MCP client config or shell:

$env:AVIZO_HOME = "C:\Program Files\Thermo Scientific Amira-Avizo3D 2024.1"
$env:AVIZO_MCP_WORKDIR = "C:\Users\<you>\Documents\avizo_mcp_jobs"

Optional overrides:

$env:AVIZO_EXE = "C:\Path\To\Avizo3D.exe"
$env:AVIZO_TO_GO_EXE = "C:\Path\To\AvizoToGo.exe"
$env:AMIRA_EXE = "C:\Path\To\Amira3D.exe"
$env:AVIZO_PYTHON_EXE = "C:\Path\To\python.exe"

Run Manually

.\.venv\Scripts\python.exe -m avizo_mcp.server

The server uses stdio transport for MCP clients.

Codex MCP Config

Use examples/codex_mcp_config.toml as a template. Replace paths with your local clone, venv Python, Avizo installation, and job workdir.

Skill

The reusable Codex skill lives at skills/avizo. To install it manually, copy that folder into your Codex skills directory, for example:

Copy-Item -Recurse .\skills\avizo "$env:USERPROFILE\.codex\skills\avizo"

Restart Codex after installing or changing the MCP config.

Safety Notes

  • Treat raw CT, .am, and .hx experiment folders as read-only unless a user explicitly asks for in-place edits.

  • Generate scripts and logs in AVIZO_MCP_WORKDIR.

  • For long Avizo jobs, launch with wait=false and inspect logs before claiming success.

  • Review generated .pyscro and .rc files in a disposable AMIRA_LOCAL layout before installing them into a production Avizo setup.

Publishing Notes

Choose an open-source license before publishing this repository. Do not vendor third-party Amira-Avizo automation code unless its license and attribution are handled.

Available Tools

12 tools
create_hx_scriptC

Create a timestamped Avizo .hx script under the MCP work directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
job_nameNo
filenameNoscript.hx

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description must reveal behavioral traits. It mentions timestamping and the work directory, but omits details on overwriting behavior, permissions, side effects, or return values. This is insufficient for a mutation tool.

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 concise sentence, but it sacrifices necessary detail. While efficient, it under-specifies the tool's behavior and parameters.

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 and 0% schema description coverage, the description is incomplete. It does not address parameter behavior, output schema, or edge cases like file overwriting.

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 provides no explanation for the three parameters (content, job_name, filename). The tool fails to add meaning beyond the raw schema, which lacks descriptions.

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 (create), the resource (timestamped Avizo .hx script), and the location (MCP work directory). It effectively distinguishes from sibling tools like create_python_script by specifying the file type.

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 such as create_python_script or run_hx_script. There are no prerequisites or usage constraints mentioned.

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

create_python_scriptC

Create a Python script under the MCP work directory for Avizo Python runs.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
job_nameNo
filenameNoscript.py

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/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 'Create a Python script' without mentioning side effects (e.g., overwrites existing file if filename exists), permission requirements, or what happens on failure. This is 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.

Conciseness4/5

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

The description is a single sentence with no wasted words. It is front-loaded with the action and resource. However, extreme conciseness compromises completeness. A 4 reflects efficient structure but not necessarily sufficient content.

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?

Despite having an output schema and 3 parameters (1 required), the description omits return value context, parameter explanations, and usage scenarios. This is severely incomplete for an agent to use correctly, especially with 0% schema coverage.

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%, so the description must compensate. It does not explain any parameter: content (what it should contain), job_name (when to use), or filename (default and validation). Adding no parameter meaning leaves the agent guessing.

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 creates a Python script under the MCP work directory for Avizo Python runs. It uses a specific verb ('Create') and resource ('Python script'), and the context differentiates it from sibling tools like create_hx_script and create_python_script_object.

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., create_python_script_object) or when not to use it. Lacks context about prerequisites, such as requiring Avizo to be installed or the script being runnable via run_avizo_python.

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

create_python_script_objectC

Create an Amira-Avizo .pyscro script-object skeleton and matching .rc registration.

ParametersJSON Schema
NameRequiredDescriptionDefault
module_nameYes
script_bodyNo
categoryNoPython Scripts
primary_typeNoHxUniformScalarField3
job_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided. The description discloses that it creates a skeleton and registration, but does not explain side effects like file overwriting, idempotency, or environmental dependencies. The behavioral burden is on the description, which 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 concise sentence without extraneous content. However, for a tool with 5 parameters, it is too brief and lacks structure to effectively convey necessary information.

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 5 parameters and no output schema shown (though `has output schema: true` is indicated), the description does not explain return values or completeness of the tool's behavior. It is incomplete for a moderately complex tool.

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 does not mention any of the 5 parameters (module_name, script_body, category, primary_type, job_name). It fails to provide meaning 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 creates a `.pyscro` script-object skeleton and `.rc` registration. The verb and resource are specific, but it does not explicitly distinguish from sibling tools like `create_python_script` or `create_hx_script`, though the unique file extension implies 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?

The description provides no guidance on when to use this tool versus alternatives. It lacks context such as prerequisites, scenarios, or when not to use it.

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

get_avizo_installationA

Report local Amira-Avizo paths used by this MCP server.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states the tool 'reports' paths without disclosing behavioral traits like whether it queries the file system, requires specific permissions, or the format of paths. This is insufficient for a tool with no annotation safety net.

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?

A single sentence that is front-loaded and contains no superfluous words. Every word earns its place.

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?

For a tool with no parameters and an output schema (presumably defining the path structure), the description is sufficiently complete. It could mention that the paths are specific to this server instance, but overall adequate.

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 input schema has no parameters (coverage 100% trivial). The description adds value by explaining the tool's purpose, which compensates for the lack of parameter details. A baseline of 4 is appropriate for zero-parameter tools.

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 specific verb 'Report' and identifies the resource 'local Amira-Avizo paths', clearly distinguishing it from sibling tools that deal with scripts, projects, or launching.

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 this tool versus alternatives. However, its purpose is straightforward (reporting paths), so usage is implied but not formally stated.

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

inspect_hx_scriptB

Read the start of an Avizo .hx script and summarize common commands.

ParametersJSON Schema
NameRequiredDescriptionDefault
script_pathYes
max_linesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations provided. Description indicates a read-only operation but does not disclose potential side effects, permissions, or file access details.

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?

One concise sentence summarizing the tool's action, no 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?

Minimal description for a tool with 2 parameters, no annotations, and output schema. Lacks context on prerequisites, error handling, and exact output nature.

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%. Description adds no extra meaning beyond parameter names; e.g., script_path format and max_lines behavior are not explained.

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 reads and summarizes Avizo .hx scripts, distinguishing it from siblings like run_hx_script or create_hx_script.

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 when-to-use or alternatives, but the purpose implies it's for quick overviews. Lacks guidance on when not to use.

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

inventory_avizo_projectC

Inventory an Avizo/Amira project tree and classify common files.

ParametersJSON Schema
NameRequiredDescriptionDefault
root_pathYes
max_filesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose behavioral traits like read-only nature, permissions, or side effects, making it 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, concise but lacking detail. It is not verbose, but could be more informative without losing conciseness.

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 zero annotations, incomplete parameter explanations, and no mention of output (despite an output schema), the description is insufficient for the agent to fully understand the tool's behavior and return value.

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 does not explain the meaning of 'root_path' or 'max_files', leaving the agent without needed context.

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 specific verb ('Inventory') and resource ('Avizo/Amira project tree'), clearly distinguishing from sibling tools like 'launch_avizo' or 'run_hx_script'.

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, nor when not to use it. The description lacks any when/why context.

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

launch_avizoC

Launch an Avizo executable with optional command-line arguments.

ParametersJSON Schema
NameRequiredDescriptionDefault
executableNoavizo
argsNo
waitNo
timeout_secNo
job_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only mentions launching with arguments but does not disclose whether the launch is synchronous, what happens with the wait parameter, or what errors might occur. The output schema exists but is not referenced in the description.

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 too minimal. It could be longer to include key details without becoming verbose. The sentence is clear and front-loaded with the action.

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?

For a tool with 5 parameters and an output schema, the description is incomplete. It fails to explain parameter meanings, return values, or typical usage patterns. The sibling tools indicate a rich ecosystem, but this description provides no context on how this tool fits in.

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 coverage is 0%, and the description adds no meaning to the 5 parameters. It only says 'optional command-line arguments' but does not explain 'executable' enum, 'args', 'wait', 'timeout_sec', or 'job_name'. The parameters are completely undocumented in both schema and description.

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 it launches an Avizo executable with optional arguments, and the verb 'launch' with 'executable' is specific. However, it could be more precise about what the tool does (e.g., whether it returns a job ID). It distinguishes from siblings which are about scripts and installation.

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 'run_avizo_python' or 'run_hx_script'. The description does not specify 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.

list_demo_projectsC

List bundled Avizo .hx demo projects.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
containsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided; description only states function without disclosing read-only nature, pagination, authentication needs, or other behavioral traits. Output schema exists but description doesn't leverage it.

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?

Extremely concise single sentence, front-loaded with verb and resource. Efficient but at the expense of important details.

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?

For a tool with two optional parameters and output schema, the description should explain filtering behavior and return format. It omits both, leaving agents under-informed.

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?

Parameter descriptions are absent from both schema (0% coverage) and description. The description does not explain 'limit' or 'contains' parameters, forcing reliance on parameter names and defaults alone.

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 verb 'List' and specifies resource 'bundled Avizo .hx demo projects', clearly distinguishing it from sibling tools which focus on creation, execution, or inspection of scripts and projects.

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 'inventory_avizo_project' or when to use filtering parameters. Description lacks context for selection.

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

list_hx_scriptsC

List .hx scripts in a project tree with basic metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
root_pathYes
containsNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It only states the tool lists scripts with metadata but does not disclose side effects, permission requirements, or whether it's a read-only operation. Key behavioral traits are missing.

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 it sacrifices necessary detail. It could include a bit more context without becoming 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 and an output schema, the description is incomplete. It does not explain what 'basic metadata' entails or what the output looks like. This inadequacy hinders effective tool selection and usage.

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 description adds no meaning beyond the parameter names in the schema. With 0% schema description coverage, the agent gets no explanation of what `contains` filters or how `limit` works, leaving ambiguity.

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 (list), the resource (`.hx` scripts), and the scope (in a project tree). It effectively distinguishes from sibling tools like `create_hx_script` and `inspect_hx_script`.

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 provides no guidance on when to use this tool versus alternatives. It lacks context such as prerequisites, alternatives, or typical use cases, leaving the agent to infer usage.

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

read_job_logC

Read a log file produced by this MCP server.

ParametersJSON Schema
NameRequiredDescriptionDefault
log_pathYes
max_charsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It only says 'Read a log file' without disclosing that it is non-destructive, safe, or what happens if the file does not exist. No details on permissions or 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.

Conciseness2/5

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

The description is a single short sentence, which is too brief. It sacrifices necessary detail for brevity and does not structure information with front-loading of key actions or constraints.

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 the simplicity of the tool, the description lacks completeness. It does not mention that an output schema exists, what the return value is, or any limitations like maximum characters. The agent would need external knowledge to use it correctly.

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%, meaning the description does not explain the parameters at all. It fails to clarify what 'log_path' is or how 'max_chars' limits output, leaving the agent with no semantic help from the description.

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 'Read' and the resource 'log file', indicating a read operation on logs produced by this server. It is distinct from sibling tools that focus on script creation and inspection.

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 vs. alternatives. There is no mention of prerequisites, restrictions, or scenarios where this tool is appropriate.

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

run_avizo_pythonC

Run a Python script using Avizo's bundled Python interpreter.

ParametersJSON Schema
NameRequiredDescriptionDefault
script_pathYes
argsNo
waitNo
timeout_secNo
job_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior1/5

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

With no annotations provided, the description carries full burden but discloses no behavioral traits. It does not mention that execution may be asynchronous (via 'wait' param), job tracking, or any side effects. This is a serious gap that leaves the agent blind to critical behaviors.

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 that is front-loaded with the core action, but it lacks sufficient detail to be considered well-structured. It is concise but at the expense of completeness.

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 tool has 5 parameters and an output schema yet no parameter descriptions, this description is severely incomplete. It does not explain return values, execution flow, or any context beyond the basic action, making it inadequate for reliable 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?

Schema description coverage is 0% and the description adds no parameter information. It fails to explain the purpose of script_path, args, wait, timeout_sec, or job_name, all of which are essential for correct invocation.

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 verb 'Run' and the resource 'Python script using Avizo's bundled Python interpreter', distinguishing it from siblings like run_hx_script which run Hx scripts. This is specific enough for an AI agent to understand the tool's core function.

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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or compare to sibling tools like run_hx_script, leaving the agent without decision criteria.

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

run_hx_scriptC

Launch Avizo or AvizoToGo with a .hx script path.

ParametersJSON Schema
NameRequiredDescriptionDefault
script_pathYes
executableNoavizo_to_go
extra_argsNo
waitNo
timeout_secNo
job_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.3/5.0
Behavior2/5

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

No annotations provided, so description must carry behavioral disclosure. It does not mention that wait defaults to false (non-blocking), timeout, or job handling. The output schema is not described, so return behavior is unclear.

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?

Extremely concise at 10 words, but this is under-specification, not efficient conciseness. No structured breakdown of parameters or behavior; every sentence should earn its place, and this one does not cover necessary detail.

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 6 parameters, 0% schema coverage, no annotations, and an existing but undescribed output schema, the description is severely incomplete. It fails to explain the purpose of any parameter, return value, or behavioral nuances, leaving the agent with inadequate 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?

Schema description coverage is 0%, and the description provides zero parameter explanations. It does not clarify the meaning of script_path, executable enum values, extra_args, wait, timeout_sec, or job_name. The agent must guess from parameter names alone.

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 states verb 'Launch' and resource 'Avizo or AvizoToGo with a `.hx` script path', clearly indicating the tool runs a script. However, it omits the 'amira' executable option and could better differentiate from sibling 'launch_avizo' which likely launches without a script.

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 'run_avizo_python' (for Python scripts) or 'launch_avizo' (no script). No explanation of prerequisites or when not to use it.

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. Dates show when Glama detected each change.

  1. 12 tool updatesv0.2.0
    • First observedcreate_hx_script
    • First observedcreate_python_script
    • First observedcreate_python_script_object
    • First observedget_avizo_installation
    • First observedinspect_hx_script
    • First observedinventory_avizo_project
    • First observedlaunch_avizo
    • First observedlist_demo_projects
    • First observedlist_hx_scripts
    • First observedread_job_log
    • First observedrun_avizo_python
    • First observedrun_hx_script

TDQS

B3.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: creating different script types, launching, running, inspecting, listing, and reading logs. No overlapping functionality.

Naming Consistency5/5

All tools use a consistent verb_noun pattern in snake_case, such as create_hx_script, launch_avizo, list_hx_scripts. The naming style is uniform and predictable.

Tool Count5/5

12 tools is a well-scoped count for an Avizo MCP server, covering script creation, execution, project inspection, and configuration without being excessive or insufficient.

Completeness4/5

The tool set covers creation, execution, inspection, and listing of scripts and projects, but lacks update or delete operations for scripts, which are minor gaps.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A Python package that enables integration with Autodesk Revit through the Model Context Protocol, allowing users to send commands to Revit and automate interactions with building models.
    27
    39
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables to interact with Abaqus FEA software through an MCP bridge, supporting connection checks, script execution, model queries, job submission, and simulation automation.
    3
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables automation of AutoCAD LT and headless DXF creation through two backends (File IPC for Windows AutoCAD LT and ezdxf for cross-platform) with tools for drawing, entity, layer, block, annotation, PID, view, and system operations.
    8
    7
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/songyb1998/avizo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server