Skip to main content
Glama
Deraiven
by Deraiven

zadig-mcp

Basic MCP server for Zadig OpenAPI.

Version target

This tool targets StoreHub's Zadig 4.3 deployment. API behavior should be checked against the live zadigx.shub.us instance and Zadig release-4.3.0 source when public documentation is incomplete.

Related MCP server: Dify Management MCP

Tools

  • zadig_workflow_list: list/search project workflows.

  • zadig_workflow_get: get one custom workflow detail.

  • zadig_workflow_create: create one custom workflow. Defaults to dry run and requires confirm=true.

  • zadig_workflow_update: update one custom workflow. Defaults to dry run and requires confirm=true.

  • zadig_workflow_delete: delete one custom workflow. Defaults to dry run and requires confirm=true.

  • zadig_workflow_diff: diff current workflow detail against a desired workflow payload.

  • zadig_workflow_apply: create or update one workflow. Defaults to dry run and requires confirm=true.

  • zadig_project_snapshot: create a redacted project snapshot for audit/GitOps preparation.

  • zadig_workflow_task_list: list workflow tasks with deployment summaries.

  • zadig_workflow_task_detail: get one workflow task detail with deployment summaries.

  • zadig_workflow_task_job_log: get one workflow task job log, with tail and keyword filtering.

  • zadig_test_list / zadig_test_get: list or inspect test configurations, including full detail fields with sensitive values redacted.

  • zadig_test_create / zadig_test_update / zadig_test_delete: manage test configurations through Zadig's internal testing API, dry-run by default.

  • zadig_test_diff / zadig_test_apply: compare or create/update a test configuration with explicit confirmation for writes.

  • zadig_workflow_webhook_list: list saved webhook/git trigger settings for a workflow.

  • zadig_workflow_webhook_preset: get current webhook/git trigger preset for a workflow.

  • zadig_workflow_webhook_compare_to_preset: compare saved webhook/git trigger settings with the current preset.

  • zadig_build_list: list/search build configurations.

  • zadig_build_template_list: list/search build template store templates.

  • zadig_build_template_get: get one build template store template by id or exact name.

  • zadig_build_template_reference: list build configurations that reference one build template.

  • zadig_build_template_create: create one build template store template. Defaults to dry run and requires confirm=true.

  • zadig_build_template_update: update one build template store template. Defaults to dry run and requires confirm=true.

  • zadig_build_template_delete: delete one build template store template. Defaults to dry run and requires confirm=true.

  • zadig_build_template_diff: diff current build template detail against a desired payload.

  • zadig_build_template_apply: create or update one build template. Defaults to dry run and requires confirm=true.

  • zadig_build_get: get one build configuration detail.

  • zadig_build_update: update one build configuration. Defaults to dry run and requires confirm=true.

  • zadig_build_update_from_template: update a build created from a build template. Defaults to dry run and requires confirm=true.

  • zadig_service_search: list/search K8s YAML services.

  • zadig_service_get: get service detail, including YAML and variables.

  • zadig_service_update_variables: replace service variables. Requires confirm=true.

  • zadig_service_set_variable: upsert a single service variable. Defaults to dry run.

  • zadig_service_set_image: update a container image in service YAML. Defaults to dry run.

  • zadig_environment_list: list test or production environments.

  • zadig_environment_get: get one environment detail.

  • zadig_environment_create: create one environment. Defaults to dry run and requires confirm=true.

  • zadig_environment_update: update one environment registry/global variables. Defaults to dry run and requires confirm=true.

  • zadig_environment_delete: delete one environment. Defaults to dry run and requires confirm=true.

  • zadig_environment_diff: diff current environment against desired Environment spec.

  • zadig_environment_apply: create or update one environment. Defaults to dry run and requires confirm=true.

  • zadig_environment_service_list: list services in an environment.

  • zadig_environment_service_get: get service detail in an environment.

  • zadig_environment_service_apply: add or update one environment service. Defaults to dry run and requires confirm=true.

  • zadig_environment_service_delete: delete one environment service. Defaults to dry run and requires confirm=true.

  • zadig_code_scan_list: list/search project code scan configurations.

  • zadig_code_scan_get: get one code scan by name or ID.

  • zadig_code_scan_create: create one code scan. Defaults to dry run and requires confirm=true.

  • zadig_code_scan_update: update one code scan. Defaults to dry run and requires confirm=true.

  • zadig_code_scan_delete: delete one code scan. Defaults to dry run and requires confirm=true.

  • zadig_code_scan_diff: diff a code scan against the live Zadig configuration.

  • zadig_code_scan_apply: create or update one code scan. Defaults to dry run and requires confirm=true.

Config

[mcp_servers.zadig]
command = "uv"
args = ["--directory", "/Users/storehub/Desktop/devops-tools-auto/zadig-mcp", "run", "zadig-mcp"]

[mcp_servers.zadig.env]
ZADIG_BASE_URL = "https://zadigx.shub.us"
ZADIG_TOKEN = "replace-me"
ZADIG_PROJECT = "devops-tools"
UV_CACHE_DIR = "/tmp/uv-cache"

ZADIG_PROJECT is optional. Every tool also accepts project_key.

Workflow task tools use Zadig v4 workflow task read APIs and return compact summaries by default. Set include_raw=true only when the caller needs the raw task payload; credential-like fields are recursively redacted before returning.

Development

uv run python -m py_compile zadig_mcp/*.py
uv run zadig-mcp

GitOps preparation

zadig-gitops snapshot exports a redacted project snapshot into a stable YAML file tree that is suitable for Git review and later PR-based change loops.

ZADIG_BASE_URL="https://zadigx.shub.us" \
ZADIG_TOKEN="..." \
uv run zadig-gitops snapshot \
  --project fat \
  --output ./zadig-config

The output layout is:

zadig-config/
  projects/<project>/
    project.yaml
    _snapshot/
      metadata.yaml
      errors.yaml
    iterations/index.yaml
    workflows/index.yaml
    workflows/details/<workflow>.yaml
    webhooks/<workflow>.yaml
    builds/index.yaml
    workflows/index.yaml
    workflows/items/<workflow>.yaml
    workflows/scripts/<workflow>/<stage>.<job>.script.sh
    workflows/scripts/index.yaml
    workflows/triggers/<workflow>.yaml
    workflows/notifications/<workflow>.yaml
    builds/items/<build>.yaml
    builds/scripts/<script>.sh
    builds/scripts/<script>.meta.yaml
    tests/index.yaml
    code-scans/index.yaml
    code-scans/items/<scan>.yaml
    services/index.yaml
    services/items/<service>.yaml
    environments/index.yaml
    releases/index.yaml
  templates/
    build-templates/
      index.yaml
      <template>.<id>.yaml
    helm-charts/
      <chart>/
        Chart.yaml
        values.yaml
        templates/

Project snapshots only include build templates that are actually referenced by that project, and those templates are written under templates/ because Zadig template-library resources are shared resources rather than project-owned resources.

Per-template files under templates/build-templates/ are exported as kind: BuildTemplate documents. Their spec is the desired Zadig template payload; metadata.id keeps the live template ID when known, and metadata.name is used to resolve the template when the ID is absent.

When a build template contains non-empty script fields such as scripts, pre_build.scripts, or post_build.scripts, snapshot-template writes those scripts under templates/build-templates/scripts/<template>/ and replaces the inline value with a *_ref object containing the path and SHA-256 checksum. Template apply expands those refs back into the Zadig template payload after verifying the checksum. This keeps template metadata reviewable while preserving exact scripts as separate files.

_snapshot/errors.yaml is not Zadig configuration. It records snapshot-time API failures or unsupported sections so GitOps reviewers can tell whether an export is complete.

services/index.yaml is an inventory only. Per-service files under services/items/ hold the live service detail and a GitOps-oriented spec section that later service CRUD apply commands can use.

builds/index.yaml is also an inventory only. Per-build files under builds/items/ hold the live build detail and a GitOps-oriented spec. When a build has a build_script, snapshot writes the script under projects/<project>/builds/scripts/ and replaces the inline script with spec.build_script_ref. Multiple builds with identical scripts share one script file and the matching .meta.yaml lists the used_by impact set. Build apply expands the script ref back into the Zadig build_script payload after checking the optional SHA-256 checksum.

project.yaml is the top-level project document exported from live Zadig project metadata. It is currently read-only snapshot data plus a small GitOps-oriented spec.

code-scans/index.yaml is an inventory only. Each scan configuration is stored under code-scans/items/<scan>.yaml as a kind: CodeScan document. The configuration is under spec; server-generated IDs, timestamps, and runtime statistics are retained under live and are excluded from the desired state.

The GitOps CLI supports code scan CRUD with the same dry-run-first behavior as other project resources:

zadig-gitops apply code-scan \
  --project mobile \
  --dir ./zadig-config/projects/mobile/code-scans

zadig-gitops apply code-scan \
  --project mobile \
  --code-scan sonarqube-test \
  --diff

zadig-gitops apply code-scan \
  --project mobile \
  --code-scan sonarqube-test \
  --mode delete \
  --confirm

Workflow snapshots are split for reviewability:

  • workflows/items/<workflow>.yaml stores the main kind: Workflow desired state.

  • workflows/scripts/<workflow>/*.sh stores long job scripts referenced by script_ref with a SHA-256 checksum.

  • workflows/triggers/<workflow>.yaml stores kind: WorkflowTriggers under the workflow namespace.

  • workflows/notifications/<workflow>.yaml stores kind: WorkflowNotifications.

Workflow apply expands script_ref and notifications_ref back into the Zadig workflow payload. Trigger apply is intentionally separate so webhook drift can be reviewed without mixing it into stage/job changes.

Environment snapshots are split for future CRUD support:

projects/<project>/environments/
  index.yaml
  items/
    <env>.yaml
  services/
    <env>/
      index.yaml
      <service>.yaml

items/<env>.yaml is a kind: Environment document for cluster, namespace, registry, global variables, and a services_ref. Environment service placement is exported separately as kind: EnvironmentService files under services/<env>/, so changing the environment and changing service deployment state remain reviewable as separate diffs.

For a smaller export:

uv run zadig-gitops snapshot \
  --project fat \
  --section workflows \
  --section workflow_details \
  --section webhooks \
  --workflow fat-pipelines \
  --output ./zadig-config

Export the shared build-template library independently from project snapshots:

uv run zadig-gitops snapshot-template \
  --output ./zadig-config

Export one template by name or id:

uv run zadig-gitops snapshot-template \
  --template fat-build \
  --output ./zadig-config

Snapshot output is redacted by default. Credential-like fields and variables marked with is_credential=true are written as ***redacted***.

Apply a workflow from YAML. This is a dry-run unless --confirm is set.

uv run zadig-gitops apply \
  --project fat \
  --workflow my-new-workflow \
  --file ./zadig-config/projects/fat/workflows/items/my-new-workflow.yaml

Print only the diff:

uv run zadig-gitops apply \
  --project fat \
  --workflow my-new-workflow \
  --file ./zadig-config/projects/fat/workflows/items/my-new-workflow.yaml \
  --diff

You can omit --file/--dir when using the default config layout:

uv run zadig-gitops apply workflow \
  --project fat \
  --workflow my-new-workflow \
  --diff

Actually create or update the workflow:

uv run zadig-gitops apply \
  --project fat \
  --workflow my-new-workflow \
  --file ./zadig-config/projects/fat/workflows/items/my-new-workflow.yaml \
  --confirm

Real apply rejects files that still contain ***redacted*** placeholders by default. Replace the placeholder values before applying, or pass --allow-redacted only when the target fields are intentionally redacted-safe.

Apply service desired state from per-service YAML files. This is also dry-run unless --confirm is set.

uv run zadig-gitops apply service \
  --project bi \
  --file ./zadig-config/projects/bi/services/items/product-insights.yaml

Apply all service files in a project:

uv run zadig-gitops apply service \
  --project bi \
  --dir ./zadig-config/projects/bi/services

Delete live services that are missing from the desired service directory:

uv run zadig-gitops apply service \
  --project bi \
  --dir ./zadig-config/projects/bi/services \
  --prune \
  --confirm

Service apply currently supports creating Helm chartTemplate services, deleting missing services with --prune, and updating supported mutable fields (spec.yaml and spec.template.variables) when Zadig exposes them.

Apply build desired state from per-build YAML files. This is dry-run unless --confirm is set.

uv run zadig-gitops apply build \
  --project bi \
  --file ./zadig-config/projects/bi/builds/items/bi-build.yaml

Build update defaults to --build-update-api auto: it first tries Zadig's OpenAPI and falls back to the UI-compatible build API when the live instance requires UI-only fields such as codehost_id. The fallback loads the live build detail, preserves repository/codehost/target fields, and maps only supported desired fields such as build_script, post_build, outputs, and timeout. Use --build-update-api ui to force that path for known script-only updates.

Apply all build files in a project:

uv run zadig-gitops apply build \
  --project bi \
  --dir ./zadig-config/projects/bi/builds

Delete live builds that are missing from the desired build directory:

uv run zadig-gitops apply build \
  --project bi \
  --dir ./zadig-config/projects/bi/builds \
  --prune \
  --confirm

Apply build template desired state from templates/build-templates. This is dry-run unless --confirm is set.

uv run zadig-gitops apply template \
  --project fat \
  --file ./zadig-config/templates/build-templates/fat-build.<id>.yaml

Print only the template diff:

uv run zadig-gitops apply template \
  --project fat \
  --file ./zadig-config/templates/build-templates/fat-build.<id>.yaml \
  --diff

Delete a build template explicitly by name or id:

uv run zadig-gitops apply template \
  --project fat \
  --template fat-build \
  --mode delete

Template prune is intentionally unsupported because build templates are shared library resources and the blast radius can cross projects. Delete templates one at a time after checking references.

Apply environment desired state from projects/<project>/environments. This is dry-run unless --confirm is set. Environment apply manages the environment object itself, including registry and global variables; deployed services are handled by environment-service.

uv run zadig-gitops apply environment \
  --project bi \
  --file ./zadig-config/projects/bi/environments/items/fat.yaml

Print only the environment diff:

uv run zadig-gitops apply environment \
  --project bi \
  --file ./zadig-config/projects/bi/environments/items/fat.yaml \
  --diff

Delete an environment explicitly. By default this only deletes the Zadig environment record where supported; add --delete-resources only when the underlying Kubernetes namespace/resources should also be removed.

uv run zadig-gitops apply environment \
  --project bi \
  --environment fat \
  --mode delete

Apply services deployed inside an environment:

uv run zadig-gitops apply environment-service \
  --project bi \
  --environment fat \
  --dir ./zadig-config/projects/bi/environments/services/fat

Delete one service from an environment. By default not_delete_resource=true; add --delete-resources to ask Zadig to delete underlying Kubernetes resources.

uv run zadig-gitops apply environment-service \
  --project bi \
  --environment fat \
  --service csp-v1-web-fe \
  --mode delete

Apply test configurations from projects/<project>/tests/items. The test configuration API is an internal Zadig endpoint, so keep the snapshot and apply version aligned with the deployed Zadig release. Writes are dry-run by default and require --confirm.

uv run zadig-gitops apply test \
  --project mobile \
  --dir ./zadig-config/projects/mobile/tests \
  --diff
uv run zadig-gitops apply test \
  --project mobile \
  --dir ./zadig-config/projects/mobile/tests \
  --confirm

Plan project changes from project.yaml. Project apply is intentionally plan-only for now: create/update/delete modes only compare desired config with live Zadig state and never call mutating project APIs, even when --confirm is passed.

uv run zadig-gitops apply project \
  --project bi \
  --dir ./zadig-config/projects/bi
uv run zadig-gitops apply project \
  --project bi \
  --mode delete

Available Tools

49 tools
zadig_build_applyC

Create or update one Zadig build. mode can be auto, create, or update. Defaults to dry_run=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoauto
buildYes
confirmNo
dry_runNo
build_nameYes
update_apiNoauto
project_keyNo
allow_redactedNo

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 carries the burden of behavioral disclosure. It only notes that dry_run defaults to true, which is already visible in the schema, and does not explain the effect of confirm, overwrite behavior, or what each mode actually does. This is insufficient for a mutation-triggering tool.

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 very short and front-loaded with the core action. It wastes no words, though it is arguably too sparse for the tool's complexity. It earns a solid conciseness score but not a top score because brevity comes at the cost of needed detail.

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 8 parameters, no parameter-level schema descriptions, no annotations, and a nested build object, the description is far from complete. It provides a basic orientation but omits essential information about modes, confirmation, dry-run semantics, and optional parameters, making correct invocation uncertain.

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 description coverage is 0%, so the description must compensate. It adds minimal meaning by explaining that mode can be auto, create, or update, but leaves build, confirm, update_api, project_key, allow_redacted, and build_name largely unexplained. This is not enough for 8 parameters.

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 a clear action on a specific resource: 'Create or update one Zadig build.' It also mentions the three modes (auto, create, update), which clarifies the tool's role. However, it does not explicitly distinguish itself from sibling tools like zadig_build_create or zadig_build_update.

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 is given about when to use this tool instead of alternatives such as zadig_build_create or zadig_build_update. The mention of modes implies a unified create/update workflow, but no conditions or decision rules are provided.

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

zadig_build_createA

Create one Zadig build. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
buildYes
confirmNo
dry_runNo
build_nameYes
project_keyNo
allow_redactedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of explaining behavioral safety. It discloses the dry-run default and the confirmation requirement, which are the most important execution behaviors for an agent to know before calling this tool. However, it stops short of explaining what dry_run actually prevents or what happens when confirm is false.

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 two concise sentences with no filler. The most safety-critical information, dry_run default and confirm requirement, 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.

Completeness2/5

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

The tool has six parameters, a nested object, no annotations, and no schema descriptions, so the extremely short description leaves significant gaps. While an output schema exists, the agent still lacks enough information to correctly construct the required build payload and decide how to use project_key and allow_redacted. This is not fully adequate for a creation tool of this complexity.

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 description coverage is 0%, so the description must compensate, but it only adds meaning for dry_run and confirm. The required parameters build_name and build, as well as project_key and allow_redacted, receive no semantic explanation. An agent cannot infer the expected structure of the nested build object from the description or 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 a specific verb and resource: 'Create one Zadig build.' This distinguishes it from list, get, update, and delete sibling tools. However, it does not explicitly differentiate a build definition from a build template or clarify the exact scope of 'build.'

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

Usage Guidelines4/5

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

The description provides clear invocation context by noting the dry_run default and the requirement to set confirm=true. This is essential for an agent deciding whether a real creation will happen. It does not explicitly mention alternatives, but no sibling tool competes directly for the same create action.

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

zadig_build_deleteA

Delete one Zadig build. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
build_nameYes
project_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It clearly signals a destructive action and additionally reveals the dry-run default and the confirmation requirement, which is genuinely useful safety context beyond just saying 'delete'.

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 one sentence, front-loaded with the action, and each remaining clause earns its place by communicating safety defaults and requirements. There is no filler.

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?

The tool is destructive, has no annotations, and has low schema coverage, so a bit more context is warranted. The description covers the core safety mechanism, but omits project_key semantics and does not fully clarify the relationship between dry_run and confirm (e.g. whether dry_run must be set false to actually delete). Output schema presence reduces the need to document return values, but the description is still thin for a delete operation.

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 description coverage is 0%. The description adds some meaning for dry_run and confirm, but build_name is only implicitly the build to delete and project_key receives no explanation at all. With zero schema descriptions, this partial compensation is not enough.

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 states a clear action and resource ('Delete one Zadig build') and is not a tautology. It does not explicitly contrast with sibling delete tools such as zadig_environment_delete or zadig_build_template_delete, but the target resource is unambiguous.

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?

It implies this tool is for deleting a single build and provides the key safety workflow: dry_run defaults to true and confirm needs to be true. However, it gives no explicit guidance on when to choose this over sibling tools like build update/apply/template delete, and no preconditions beyond the confirm flag.

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

zadig_build_diffB

Diff current Zadig build detail against desired build payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
buildYes
build_nameYes
project_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/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 the full burden of disclosing side effects and behavioral traits. It communicates the comparison operation, but it does not explicitly state that the tool is read-only, whether it fetches the current build from the system, how mismatches are handled, or any permission 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.

Conciseness5/5

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

A single front-loaded sentence with no filler. Every word contributes to the operation and does not waste the agent's attention.

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?

The presence of an output schema helps, but for a tool with 0% parameter schema coverage, an unconstrained nested 'build' object, and no annotation coverage, this description is too thin. It leaves an agent uncertain about required input semantics beyond build_name/build and when to invoke this tool versus the many build-related siblings.

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 description coverage is 0%, so the description must compensate. It loosely maps 'desired build payload' to the build object and 'current build detail' to the build_name lookup, but it does not explain project_key or clarify the expected structure of the 'build' object, which is especially important given additionalProperties is true.

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 uses a specific verb ('Diff') and resource ('current Zadig build detail' vs 'desired build payload'), which clearly identifies the operation. It is distinguishable from sibling diff tools because it names 'build' as the resource, though it does not explicitly contrast with workflow_diff, environment_diff, or template_diff.

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?

The description implies a comparison use case: comparing an existing build detail to a desired payload, likely before applying changes. However, it never states when to prefer this over alternatives like zadig_build_get, zadig_build_apply, or other diff tools, nor does it mention exclusions.

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

zadig_build_getC

Get one Zadig build configuration detail.

ParametersJSON Schema
NameRequiredDescriptionDefault
build_nameYes
project_keyNo
service_nameNo
service_moduleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/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 the full burden of behavioral disclosure. The verb 'Get' suggests a read-only operation, but the description does not state return behavior, side effects, authentication needs, or error behavior. It adds little operational clarity beyond the tool name.

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 one short, front-loaded sentence with no wasted words. It is efficient, though it is so minimal that it borders on under-specification rather than demonstrating strong informative structure.

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 four parameters, no annotations, no output schema, and many sibling build tools, this description is too thin to fully equip an agent to call the tool correctly. It does not clarify which parameters are needed for a specific lookup, what the returned detail contains, or how this tool relates to build list/create/update operations.

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 does not mention or explain any of the four parameters (build_name, project_key, service_name, service_module), nor how they relate to identifying a build configuration. The schema has titles and defaults but no descriptions, and the description does not compensate for that low coverage.

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 uses a specific verb ('Get') and a resource ('one Zadig build configuration detail'), making the purpose reasonably clear. It signals singular retrieval but does not explicitly differentiate itself from sibling tools like zadig_build_list.

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 offers no guidance on when to use this tool versus alternatives such as zadig_build_list, zadig_build_update, or zadig_build_get's related tools. It implies single-object retrieval but does not state prerequisites, exclusions, or when another sibling is more appropriate.

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

zadig_build_listC

List/search Zadig build configurations.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
page_numNo
page_sizeNo
include_rawNo
project_keyNo

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 the full burden of behavioral disclosure. It only says 'List/search' and does not clarify whether the operation is read-only, what the output contains, whether results are paginated, or what the 'raw' mode returns. The description is not inaccurate but is severely under-disclosing.

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 one short, front-loaded sentence with no redundant words. It is appropriately concise, though it may be too terse to serve as a complete guide for a tool with five 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?

For a tool with five parameters, no annotations, and a large sibling set, the description is too thin. It does not cover pagination, project scoping, raw output behavior, or when to use this tool over alternatives, leaving meaningful gaps for correct invocation with non-default parameters.

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 description coverage is 0% and the description does not explain the five parameters. The 'search' verb weakly hints at the query parameter, but there is no explanation of project_key filtering, pagination defaults, or the meaning of include_raw, leaving the agent to guess.

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 ('List/search') and the resource ('Zadig build configurations'). This is sufficient to understand the basic purpose and distinguish it from a single-get operation, though it does not explicitly differentiate it from sibling list-like tools such as zadig_build_template_list.

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?

There is no guidance on when to use this tool rather than zadig_build_get, zadig_build_template_list, or zadig_service_search. The description does not mention when filtering by project_key or setting include_raw would be appropriate, leaving the agent to infer usage from parameter names alone.

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

zadig_build_template_applyB

Create or update one build template. mode can be auto, create, or update. Defaults to dry_run=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoauto
confirmNo
dry_runNo
templateYes
template_idNo
template_nameNo
allow_redactedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It usefully reveals that dry_run defaults to true, meaning the tool is non-destructive by default, and that mode can select create/update behavior. However, it does not explain the meaning of confirm, what happens when confirm is true, how allow_redacted behaves, or what kind of output is returned. This is partial disclosure: enough to underestimate safety, but not enough for confident invocation.

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 extremely concise: three short sentences with no filler or repetition. It front-loads the core purpose and then supplies the two most decision-relevant defaults/options. Every sentence earns its place.

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 existing, the tool is complex: seven parameters, one required nested object, multiple modes, and a confirm/dry_run safety flow. The description only covers mode and dry_run, leaving template content, identifier strategy, confirm semantics, and redaction behavior unspecified. It is not enough for an agent to reliably construct a correct and safe call.

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 description coverage is 0%, so the description must compensate for undocumented parameters. It adds value by documenting mode's allowed values and dry_run's default, but it fails to explain the required template object, template_id, template_name, confirm, or allow_redacted. Since the only required parameter, template, is a nested object with no property descriptions, an agent cannot know what shape to provide.

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 states the tool's core behavior with a specific verb and resource: "Create or update one build template." It also previews the mode values (auto, create, update), which hints that this is a unified apply operation rather than the separate create/update sibling tools. However, it does not explicitly distinguish itself from zadig_build_template_create or zadig_build_template_update, so an agent must infer the difference.

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?

The description gives some usage context by listing the mode options and the dry_run default, implying that callers can choose auto, create, or update and can preview changes first. It does not state when to use this tool instead of the sibling create/update/delete/diff tools, nor does it explain the role of confirm in actually applying changes. This is usable but relies heavily on inference.

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

zadig_build_template_createC

Create one build template store template. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
templateYes
allow_redactedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It usefully discloses dry_run=true by default and the need for confirmation, suggesting a safe-by-default create operation. However, it does not explain what dry_run or confirm actually do, and the statement that confirm=true is required conflicts with the schema where confirm is optional and defaults to false.

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 short and front-loads the purpose, but the first sentence is grammatically awkward and the confirm statement is potentially misleading. It is concise in size but not in clarity.

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 create operation with a nested required object, an output schema, and no annotations, this description is too sparse. An agent is missing critical context about template structure, the dry_run/confirm interaction, and allow_redacted.

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 description coverage is 0%, so the description must compensate. It covers dry_run and confirm partially, but says nothing about the required template object's shape or the meaning of allow_redacted, leaving the key payload unexplained.

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

Purpose3/5

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

The description names a clear verb-resource pair, 'Create ... build template', which distinguishes it from the update/delete/list siblings. However, the odd phrase 'store template' makes the object of creation ambiguous, so the agent has to rely on the tool name to resolve the intended target.

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?

There is no guidance on when to use this tool versus build_template_update, build_template_apply, or build_create. The dry_run/confirm notes are invocation mechanics, not usage context.

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

zadig_build_template_deleteC

Delete one build template store template. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
template_idNo
template_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the safety burden and does disclose two key behaviors: it defaults to dry_run=true and requires confirm=true. However, it does not explain what dry_run actually returns, whether deletion is reversible, what happens if the template is referenced elsewhere, or what the response indicates.

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 very short and front-loads the action and safety-critical defaults, so it earns high marks for economy. The wording 'store template' is grammatically awkward, which prevents a perfect score.

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 deletion tool with four optional-looking parameters and no annotations, essential invocation context is missing: the agent is not told how to identify the target (template_id vs template_name) or what distinguishes a dry run from an actual deletion in the response. The output schema may cover return format, but the parameter selection logic remains underspecified.

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 description coverage is 0%, so the description had to compensate, but it only explains the confirm and dry_run roles by stating defaults/requirements. It does not clarify whether template_id or template_name is sufficient, which one takes precedence, or whether either is needed.

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 names a specific action (Delete) and resource (build template / store template), which is enough to distinguish it from build_template_update, build_template_create, and the list/search siblings. The phrase 'store template' is slightly awkward, so it is not a perfect 5.

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?

There is no guidance about when to choose this tool over alternatives, such as build_template_update for modifying a template or build_template_apply for applying changes. The destructive intent is implicit in the verb and name, but no exclusions, prerequisites, or alternative conditions are stated.

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

zadig_build_template_diffB

Diff current Zadig build template detail against desired template payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
templateYes
template_idNo
template_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/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 the full burden of behavioral disclosure. It clearly indicates a comparison between current and desired template state, but it does not explicitly state that the operation is non-destructive, whether it has side effects, or what the diff output represents beyond the existence of an output schema.

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 filler. Every word contributes to the core purpose, and it is appropriately sized for 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?

The output schema exists, but the tool's identification semantics and side-effect profile are under-specified: the required template is a free-form object, the roles of template_id and template_name are unstated, and no connection is made to the related update or apply tools. An agent cannot reliably determine what payload to pass from this description alone.

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?

The input schema has 0% description coverage, and the description only references 'desired template payload', which loosely maps to the required template object. It does not explain how template_id or template_name identify the current template, nor how the desired template payload should be structured, leaving most parameter semantics ambiguous.

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 names a specific verb ('Diff'), a concrete resource ('current Zadig build template detail') and the comparison target ('desired template payload'), which clearly separates it from sibling tools like build_template_get, build_template_update, or build_template_apply. The diff suffix itself marks it as a compare operation rather than a mutation.

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 given on when to use this tool instead of build_template_update, build_template_apply, or build_template_get. The phrase 'against desired template payload' implies a diff-before-apply workflow, but the agent must infer this from the name and sibling list rather than from explicit instructions.

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

zadig_build_template_getB

Get one build template store template by id or exact name.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idNo
template_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It mentions 'one' and 'exact name,' but does not clarify that exactly one of template_id or template_name should be provided, what happens if both are omitted, or behavior when no match is found. These are material gaps for a retrieval tool.

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 one short sentence with no filler, front-loading the action and resource. It loses a point for the awkward 'store template' wording, which could confuse rather than clarify.

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?

The output schema covers return values, so that gap is acceptable. However, the description fails to specify that at least one lookup parameter is needed and does not distinguish this tool from alternatives, leaving an agent potentially unsure how to invoke it correctly. For a simple get tool this is a notable omission.

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 description coverage is 0%, so the description must compensate. It does map the two parameters to lookup keys and adds that name matching must be exact, but it provides no further detail about ID format, precedence, or constraints. This is minimal but not useless.

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 states a clear action ('Get one') and resource ('build template store template') with lookup criteria ('by id or exact name'). It is distinguishable from sibling list/mutation tools, though the phrase 'store template' is awkward and slightly obscures the intended resource.

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?

The description implies usage for retrieving a single template by identifier or exact name, as opposed to listing all templates or mutating one. However, it does not explicitly name alternatives or state when not to use this tool, leaving the routing decision mostly to inference.

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

zadig_build_template_listC

List/search build template store templates.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
include_rawNo

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?

With no annotations, the description carries the full burden of disclosing behavioral traits, but it only says 'List/search' without confirming read-only behavior, output shape, pagination, or side effects. The description adds little beyond the tool's name, leaving the agent to assume safety and behavior.

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 concise sentence with no filler or redundant information. It front-loads the action and resource, which is efficient, though it is so terse that it sacrifices useful detail.

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?

For a simple list/search tool, the description is minimally viable: it names the action and resource, and an output schema exists to define returns. However, key contextual gaps remain—what 'include_raw' does, how search behaves, and whether this is a safe read-only operation—so it is not fully 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 description coverage is 0%, and the description does not explain either parameter. 'List/search' loosely hints that 'query' performs searching, but 'include_raw' is completely unexplained, and the description adds no real semantics beyond the raw schema titles and defaults.

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 states a clear action ('List/search') and a specific resource ('build template store templates'), which distinguishes it from sibling tools like zadig_build_template_get or zadig_build_template_reference. It could be more explicit about what distinguishes these templates from general build definitions, but the core purpose is understandable.

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 about when to use this tool versus alternatives such as zadig_build_template_get or zadig_build_list. There are no context cues, prerequisites, or exclusions, so an agent must infer usage solely from the name and minimal description.

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

zadig_build_template_referenceA

List build configurations that reference one build template.

ParametersJSON Schema
NameRequiredDescriptionDefault
template_idNo
template_nameNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the disclosure burden. 'List' clearly indicates a read-only query rather than a mutation, and the 'reference' wording explains the relationship being reported. It does not detail edge cases such as empty results or whether both identifiers are filters, but the output schema likely covers return structure.

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 filler, and every word contributes to identifying the operation and scope.

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?

For a simple two-parameter list tool with an output schema, the description is adequate but incomplete: it omits parameter usage guidance and does not clarify the intended workflow. It is sufficient to identify the operation but not fully enough to invoke it confidently without schema inspection.

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 description coverage is 0% and the description does not explain template_id or template_name. The names are self-explanatory, but an agent cannot tell whether one or both are needed, which takes precedence, or what formats are expected.

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 names a specific action ('List') and a clear resource ('build configurations') plus the filter ('reference one build template'). This is distinct from siblings like build_template_get or build_list, which serve different purposes.

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?

The use case is implied: call this tool when you need to know which build configurations depend on a given template. However, the description does not explicitly say when to prefer it over build_list, build_template_get, or build_update_from_template, nor does it mention preconditions or alternatives.

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

zadig_build_template_updateC

Update one build template store template. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
templateYes
template_idNo
template_nameNo

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 the full burden of behavioral disclosure. It mentions dry_run and confirm, which is useful, but it does not explain side effects, reversibility, permissions, or what happens when dry_run is true versus when confirm is required. It also repeats a schema default and adds 'requires confirm=true', which conflicts with the schema's confirm default of false.

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 filler words, front-loading the core action. It earns its place by giving the most essential safety-related defaults, though the phrase 'store template' is slightly awkward and could have been phrased more clearly.

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 five parameters including a nested template object, no annotations, and many sibling tools with similar update/apply/diff operations, this description is not complete enough. It does not explain how to identify the target template, what dry_run actually does, what confirm controls, or when to use this tool instead of related build-template tools.

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 description coverage is 0%, so the description must compensate for the schema's lack of parameter explanations. It provides some meaning for dry_run and confirm by stating defaults and requirements, but it completely ignores the critical template, template_id, and template_name parameters that determine which build template is being updated.

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 uses a specific verb ('Update') and resource ('build template'), clearly indicating this tool modifies an existing build template. However, the phrase 'store template' is grammatically awkward and the description does not differentiate this tool from closely related siblings such as zadig_build_template_apply or zadig_build_template_create.

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 gives no explicit guidance on when to use this tool versus alternatives like zadig_build_template_apply, zadig_build_template_create, or zadig_build_template_diff. The dry_run and confirm defaults imply a two-step apply workflow, but there is no statement about when an agent should invoke this tool and when it should use a sibling.

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

zadig_build_updateB

Update one Zadig build configuration. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
buildYes
confirmNo
dry_runNo
build_nameYes
update_apiNoauto
project_keyNo
allow_redactedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. It helpfully discloses that dry_run defaults to true and that confirm=true is required, which is an important safety gate for a mutation tool. However, it doesn't explain what happens when confirm is false, whether changes are reversible, or how the update actually persists, leaving significant behavioral gaps.

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 two short sentences with no fluff. The action is front-loaded, and the second sentence adds important safety-relevant information. Every clause earns its place.

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 tool being a mutation with seven parameters, a nested build object, and no annotations, the description provides only a one-line purpose and a safety note. It does not explain the build object structure, the role of update_api, or how confirm gates the write. The output schema exists, but that doesn't compensate for the missing input and usage context.

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 description coverage is 0%, and the description only touches dry_run and confirm, without even defining what they do beyond their defaults/requirement. It provides no meaning for build_name, the nested build object, update_api, project_key, or allow_redacted. This is inadequate for a seven-parameter tool, especially one with an open-ended nested object.

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 and resource: 'Update one Zadig build configuration.' This distinguishes it from workflow, service, and template tools at a high level. It doesn't explicitly differentiate from closely related siblings like build_apply or build_update_from_template, so it stops short of a 5.

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?

There is no guidance about when to use this tool versus alternatives such as zadig_build_apply, zadig_build_create, or zadig_build_update_from_template. The dry_run/confirm note is operational guidance, not usage-selection guidance, so the description leaves the agent to infer the appropriate context.

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

zadig_build_update_from_templateB

Update a build created from a build template. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
build_nameYes
project_keyNo
template_nameYes
target_servicesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

No annotations are present, so the description bears the burden of behavioral disclosure. It helpfully states the default dry_run=true and the need for confirm=true, giving some safety-related context. However, it does not describe side effects, reversibility, permissions, or what happens during a dry run versus a confirmed update.

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 two short, focused sentences with no filler. The action and the two critical behavioral defaults are front-loaded and immediately scannable.

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 6-parameter mutation tool with no annotations, the description leaves important context missing: what target_services should contain, how template_name relates to the build, the role of project_key, and expected behavior on success or failure. The output schema helps but cannot replace the missing operational semantics.

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 description coverage is 0%, so the description must compensate for the six parameters. It clarifies the behavior of dry_run and confirm, but leaves build_name, template_name, target_services, and project_key effectively unexplained, especially the structure and role of target_services.

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 identifies the action ('Update') and the resource ('a build created from a build template'), which distinguishes it from generic build update or template update tools. However, it does not explicitly name or contrast against sibling tools like zadig_build_update or zadig_build_template_update.

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 such as zadig_build_update or zadig_build_template_update. It implies the target case (builds created from templates) but does not state exclusions, prerequisites, or when another tool would be more appropriate.

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

zadig_environment_applyB

Create or update a Zadig environment. mode can be auto, create, or update. Defaults to dry_run=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoauto
confirmNo
dry_runNo
env_nameNo
productionNo
environmentYes
project_keyNo
allow_redactedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavior disclosure. It usefully reveals that dry_run defaults to true, implying a safe-by-default behavior, and that mode controls create vs. update. However, it fails to explain the auto mode behavior, the role of confirm in applying changes, or potential destructive/overwriting effects on existing environments.

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 tightly written sentences with zero redundancy. The purpose is front-loaded, and the mode/dry_run details are placed in the second sentence. Every word earns its place.

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 high complexity (8 parameters, a nested required object, output schema) and zero annotations, this description is far from complete. It omits critical information about the environment object shape, confirm semantics, production flag, and how auto mode decides between create and update, making correct invocation unlikely.

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 description coverage is 0%, so the description must compensate. It adds partial meaning for only two parameters (mode and dry_run) but leaves the required 'environment' object, confirm, env_name, production, project_key, and allow_redacted entirely unexplained. The agent cannot correctly construct a call from this information 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?

The description states a clear action ('Create or update a Zadig environment') with a specific resource, and the mode parameter hints at an apply-style operation. However, it does not explicitly distinguish itself from the sibling tools zadig_environment_create and zadig_environment_update, so it lacks sibling 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 the dedicated create/update/delete siblings. It mentions that mode can be auto, create, or update, but this is a parameter hint, not usage context about when to prefer apply over alternatives.

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

zadig_environment_createB

Create a Zadig environment. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
env_nameNo
productionNo
environmentYes
project_keyNo
allow_redactedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. It usefully discloses the dry-run default and the confirm requirement, which are important safety-related behaviors for a create operation. It does not mention side effects, idempotency, required permissions, or what confirmation failure looks like, so transparency is partial.

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 two short sentences and front-loads the core purpose before giving the invocation-critical defaults. Every sentence earns its place and there is no fluff. It is concise though arguably too terse given the parameter 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?

The tool has seven parameters, a required nested environment object, and no schema-level parameter descriptions. The single-sentence description does not provide enough context to correctly construct the environment object or choose values for project_key, production, and allow_redacted. The output schema reduces the need to describe return values, but the input side remains under-specified.

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 description coverage is 0%, so the description must compensate with parameter meaning, but it only touches dry_run and confirm. The other parameters — env_name, production, project_key, allow_redacted, and the nested environment object — are neither explained nor connected to the create workflow. This is a significant gap given the tool has seven parameters.

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 opens with a specific verb and resource: 'Create a Zadig environment.' This clearly identifies the tool's action. It does not explicitly distinguish the create operation from the similar environment_apply/update siblings, so it is clear but lacks sibling differentiation.

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?

The description provides operational guidance by stating 'Defaults to dry_run=true and requires confirm=true.' This implies the agent must set confirm to true for an actual creation to occur. However, it never says when to prefer this tool over alternatives like zadig_environment_apply or update, so usage context is partially implied rather than explicit.

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

zadig_environment_deleteB

Delete a Zadig environment. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
env_nameYes
is_deleteNo
productionNo
project_keyNo

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 are provided, so the description carries the behavioral burden. It usefully discloses that the operation is non-destructive by default (dry_run=true) and gated by confirm=true. However, it does not explain the consequences of a real deletion (permanence, cascading resource removal) or what the dry-run output looks like.

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 front-loads the action and packs the two most important safety behaviors into the same line. No filler or redundant phrasing.

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 destructive operation with six parameters and no annotations, the description is thin. It fails to explain target selection nuances (production, project_key), the meaning of is_delete, or the operational difference between dry-run and confirmed deletion. The output schema covers return shape, so return values are less critical, but the missing context leaves an agent guessing on how to correctly scope the deletion.

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 description coverage is 0%, so the description must compensate. It only clarifies dry_run and confirm (default and requirement), while env_name, is_delete, production, and project_key remain unexplained. The purpose of is_delete is especially ambiguous, and no guidance is given on how production and project_key affect the target environment.

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 uses a clear verb ('Delete') and specific resource ('Zadig environment'), making the tool's primary function unambiguous. It is distinct from sibling tools like environment_service_delete because it targets the environment itself, but it does not explicitly differentiate itself from related alternatives.

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

Usage Guidelines4/5

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

The description communicates critical invocation conditions: dry_run defaults to true and confirm must be true to actually delete. This gives clear context on how to use the tool safely, though it does not mention when to prefer alternatives such as environment_apply or environment_service_delete.

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

zadig_environment_diffC

Diff current Zadig environment against desired Environment spec.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_nameNo
productionNo
environmentYes
project_keyNo

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?

There are no annotations, so the description carries the full burden of disclosing behavior. It conveys that the tool compares two environment states, but it does not state whether the operation is read-only, what side effects exist, how the current environment is identified, or what kind of diff is produced.

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, front-loaded sentence with no filler. It is concise and clearly states the core operation, though it sacrifices necessary detail for brevity.

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 four parameters, one required nested object, zero schema descriptions, and no annotations, the description is too sparse for an agent to know how to construct a valid call. An output schema exists, so return-value explanation is less critical, but parameter and usage context are still missing.

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 description coverage is 0%, so the description must compensate. It maps 'desired Environment spec' to the required environment object, but it does not explain env_name, production, or project_key, which are needed to identify the current environment.

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 uses the specific verb 'Diff' and names the resource ('current Zadig environment') and target ('desired Environment spec'), clearly distinguishing it from get/apply/update tools. It does not explicitly name sibling alternatives, but the operation is specific enough to be understood.

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 given about when to use this tool versus sibling tools like zadig_environment_apply, zadig_environment_get, or zadig_environment_update. The description implies a compare-before-apply use case, but it never states it or mentions exclusions.

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

zadig_environment_getC

Get a Zadig environment detail.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_nameYes
productionNo
project_keyNo

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 must carry the behavioral disclosure burden. The verb 'Get' implies a read-only operation, but the description does not disclose any potential edge cases, authentication needs, or behavior for nonexistent environments. It provides no context beyond the basic read intent.

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, efficient sentence with no wasted words, and the main action is front-loaded. However, it is under-specified: the terseness omits any parameter or usage context that would justify such brevity. It is concise but not complete enough to be 'appropriately sized.'

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 with 0% schema description coverage and no annotations, this one-line description is insufficient for an agent to call the tool correctly in all cases. While the output schema may describe returns, the input semantics for `production` and `project_key` remain unexplained. The definition lacks contextual guidance about what makes this environment lookup different from related tools.

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 explanation for the three parameters (`env_name`, `production`, `project_key`). An agent cannot infer the role of `production` or `project_key` from this description, and the schema itself lacks descriptions, leaving the agent without meaningful guidance.

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 uses a clear verb and resource: 'Get a Zadig environment detail.' This distinguishes it from sibling tools like `zadig_environment_list` (list vs. detail) and `zadig_environment_delete` (delete vs. get), though it does not explicitly name alternatives. It is clear but relies on the tool name for full 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?

There is no guidance on when to use this tool versus alternatives such as `zadig_environment_list` or `zadig_environment_service_get`. The description does not mention exclusions, prerequisites, or context in which this specific getter is preferred.

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

zadig_environment_listC

List Zadig environments.

ParametersJSON Schema
NameRequiredDescriptionDefault
productionNo
project_keyNo

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 must carry the behavioral disclosure burden. It only says 'List', which implies read-only behavior, but it does not disclose what environments are returned, whether production/non-production are included, or how filtering behaves.

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 short and free of filler, but it is under-specified. It is concise rather than overly verbose, yet it omits enough useful context that it reads more as a stub than a considered tool definition.

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 list tool with two optional parameters and no annotations, the single-sentence description is not complete enough. It lacks parameter semantics and usage guidance; the presence of an output schema reduces the need to describe return values, but the missing contextual details still leave a significant gap.

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 zero description coverage, and the tool description adds no explanation of the 'production' or 'project_key' parameters. It does not clarify that production likely filters for production environments or that project_key scopes the listing to a specific project.

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 uses a specific verb ('List') and resource ('Zadig environments'), clearly indicating a read-only enumeration operation. It is distinguishable from sibling tools like environment_get, which implies retrieving a single environment, though it does not explicitly make that contrast.

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 such as environment_get or environment_service_list. There is no mention of filtering by project or production status, and no exclusions or conditions are stated.

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

zadig_environment_service_applyA

Add or update one service in a Zadig environment. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoauto
confirmNo
dry_runNo
serviceYes
env_nameYes
productionNo
project_keyNo
allow_redactedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations available, the description carries the transparency burden. It clearly discloses that dry_run defaults to true and that confirm=true is required, which is critical guardrail information for a mutating apply operation. It does not detail side effects or what happens on confirmation, but the main behavioral traits are surfaced.

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 that states the core function first and then flags the two most important invocation constraints. Every word earns its place and there is no filler.

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 8 parameters and a nested service object, this description is too sparse to be fully actionable. It gives the key safety defaults, but an agent still cannot reliably construct the required service payload or understand mode, production, project_key, or allow_redacted without additional external knowledge.

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 description coverage is 0%, so the description needs to compensate. It adds meaning for dry_run and confirm, but ignores the other six parameters: env_name, service, mode, production, project_key, and allow_redacted. The nested service object, in particular, is left entirely unexplained.

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 states a specific action ('Add or update one service') and a clear resource ('service in a Zadig environment'). This distinguishes it from sibling tools like zadig_environment_apply, which targets environments, and zadig_environment_service_delete/get/list, which handle other service operations.

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 gives operational constraints ('Defaults to dry_run=true and requires confirm=true') but provides no guidance on when to choose this tool over alternatives such as zadig_environment_apply or zadig_environment_service_update. No exclusions or decision criteria are given.

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

zadig_environment_service_deleteA

Delete one service from a Zadig environment. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
env_nameYes
productionNo
project_keyNo
service_nameYes
not_delete_resourceNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full transparency burden. It explicitly discloses that dry_run defaults to true and that confirm=true is required, which is valuable safety information for a destructive operation. It does not detail consequences like what happens to associated resources, but the dry-run/confirm guard rail is a meaningful behavioral disclosure.

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 one efficient sentence that front-loads the action and object, then immediately adds the two most important behavioral constraints. Every word earns its place and there is no repetition of schema defaults.

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?

Given a destructive operation, no annotations, 7 parameters, and an output schema that may explain return values, the description covers the core action and safety gate but omits the meaning of optional parameters like not_delete_resource and production. It is minimally viable but not fully complete for an agent selecting parameters confidently.

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 description coverage is 0%, so the description must compensate for the 7 parameters. It only adds meaning for dry_run and confirm (defaults/requirement), while leaving project_key, production, not_delete_resource, env_name, and service_name semantically unexplained beyond their names. This is insufficient given the low schema coverage.

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 states a specific verb ('Delete'), a precise resource ('one service'), and the containing context ('Zadig environment'). This clearly distinguishes it from siblings like zadig_environment_delete (which deletes the whole environment) and zadig_environment_service_get/apply/list.

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?

The description implies the tool is for removing a single service from an environment and gives a critical usage requirement: confirm must be true to actually delete. However, it does not explicitly compare against alternatives such as zadig_environment_service_apply or zadig_environment_delete, so the agent must infer when this tool is preferred over those siblings.

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

zadig_environment_service_getC

Get service detail in a Zadig environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_nameYes
productionNo
project_keyNo
service_nameYes
workload_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. 'Get' clearly signals a read-only retrieval with no mutation, which is useful. However, it does not disclose any behavioral nuances such as whether it operates only on production or non-production environments, permission requirements, or how the environment is selected.

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, front-loaded sentence with no filler words. It is efficient and easy to parse, though slightly under-specified given the number of parameters and sibling tools.

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?

The tool has no annotations, five parameters, three optional, and overlapping sibling tools. The one-line description does not explain optional parameter semantics, production behavior, or when to prefer this over related tools, so an agent is not fully equipped to invoke it correctly. The presence of an output schema reduces the need to describe return values, but other context is still missing.

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 description coverage is 0% and the description itself explains none of the five parameters. Parameter names like env_name and service_name are partly self-explanatory, but production, project_key, and workload_type are left undefined, and their defaults and optionality are not clarified.

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 states a specific verb ('Get'), a resource ('service detail'), and a scope ('in a Zadig environment'). This distinguishes it from list/delete/environment-level tools, though it does not explicitly differentiate it from the sibling 'zadig_service_get', which may be the non-environment variant.

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 about when to use this tool versus alternatives such as 'zadig_service_get' or 'zadig_environment_service_list'. The environment qualifier implies a use case, but no explicit context, exclusions, or alternatives are given.

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

zadig_environment_service_listB

List services deployed in a Zadig environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_nameYes
productionNo
project_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. 'List' clearly signals a read-only enumeration with no side effects, which is useful. However, it does not disclose how production or project_key affect scope, nor any pagination/ordering behavior, leaving the behavioral profile partially underspecified.

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 concise and front-loaded with the core action, with zero wasted words. It loses a point because its brevity leaves out operationally important context that an agent would need for correct invocation.

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 no annotations, three parameters, and several semantically overlapping sibling tools, a single sentence is not enough for reliable tool selection and use. Missing are explicit read-only assurance, when to prefer this tool over siblings, and the meaning of production and roject_key in the list operation.

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 description coverage is 0%, and the description adds almost no parameter meaning beyond the schema titles. It only hints at env_name via 'in a Zadig environment', while production and project_key remain unexplained. The description fails to compensate for the missing schema 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 uses a specific verb ('List') and a precise resource ('services deployed in a Zadig environment'), making the tool's purpose immediately clear. It also distinguishes itself from siblings like zadigg_environment_list and zadigg_environment_service_get by naming the deployed services scope.

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?

There is no guidance about when to use this tool versus closely related siblings such as zadigg_environment_service_get, zadigg_environment_service_apply, or zadigg_environment_service_delete. Any usage context is only implied by the word 'List', not stated.

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

zadig_environment_updateC

Update a Zadig environment. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
env_nameYes
productionNo
environmentYes
project_keyNo
allow_redactedNo
update_global_variablesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.6/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 the full burden of explaining behavior. It does disclose the dry_run default and a confirm requirement, which is a useful safety signal for a mutation tool. However, it does not explain whether the update applies immediately, whether the operation is reversible, what permissions are needed, or what happens when confirm=false; the statement 'requires confirm=true' also conflicts subtly with the schema default of confirm=false.

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 with the safety default front-loaded, so it is easy to parse quickly. But for a tool with 8 parameters and a nested free-form object, this level of brevity is underspecification rather than disciplined 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?

Given the parameter count, nested object, and lack of annotations, the description is not complete enough for reliable invocation. It communicates the dry-run/confirm gate but leaves the meaning of 'environment update', the contents of the environment object, the interaction of confirm/dry_run/production, and the relationship to sibling diff/apply tools entirely unexplained. The presence of an output schema means return values need not be detailed, but the input and effect side of the tool is under-specified.

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?

The schema has zero description coverage for 8 parameters, including a free-form nested 'environment' object. The description only references dry_run and confirm, leaving env_name, environment, project_key, production, allow_redacted, and update_global_variables without any explanation. Because 'environment' accepts arbitrary additional properties, an agent has no idea what payload to construct.

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 names a specific action ('Update') on a clear resource ('Zadig environment'), so an agent can identify the core purpose. However, it mostly restates the tool name and gives no detail about what aspects of the environment can be changed, nor does it distinguish this from sibling tools like zadig_environment_apply or zadig_environment_diff.

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?

There is no guidance on when to choose this tool over related alternatives such as zadig_environment_create, zadig_environment_delete, zadig_environment_apply, or zadig_environment_diff. The single sentence states a dry-run/confirmation requirement, which is a guardrail, not a usage guideline.

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

zadig_project_getB

Get one Zadig project as a redacted GitOps Project document.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description must carry behavioral disclosure. It reveals that the result is 'redacted,' which is meaningful, but it does not say what gets redacted, whether the operation is read-only, or what happens when no project_key is supplied. This is partial but not complete transparency.

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, tightly worded sentence with no filler. It front-loads the core action and resource, and every phrase adds useful meaning.

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?

The tool has only one parameter and an output schema, so the context burden is modest. However, the optional project_key and the meaning of 'redacted GitOps Project document' remain underspecified, leaving some ambiguity for the 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?

Schema description coverage is 0%, and the description does not explain the project_key parameter at all. The parameter name is self-explanatory, but the description does not compensate for the missing schema documentation or clarify the default/null behavior.

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 states a specific verb ('Get'), a clear resource ('one Zadig project'), and a distinctive output form ('redacted GitOps Project document'). It does not explicitly distinguish itself from sibling tools like zadig_project_plan or zadig_project_snapshot, but the retrieval intent is clear.

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?

The description implies usage: call this tool when you need a single Zadig project as a redacted document. It offers no explicit guidance on when not to use it or which sibling alternative to prefer, but for a simple get operation the intended context is reasonably inferable.

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

zadig_project_planB

Plan Zadig project create/update/delete. This is always dry-run and never mutates.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoauto
projectNo
project_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations available, the description carries the full burden of behavioral disclosure. It does disclose the key behavioral trait: 'always dry-run and never mutates,' which is essential for safe usage. However, it provides no additional behavioral context such as how the plan is generated, what inputs it relies on, or any validation behavior.

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 two sentences long with zero wasted words. The core purpose is front-loaded, and the critical dry-run behavior is stated immediately in the second sentence, making it easy for an agent to parse quickly.

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

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 lacks annotations and has zero parameter documentation coverage. The description explains the safety profile but fails to provide enough context for an agent to know how to construct a valid call, especially with three optional parameters and complex project objects. Additional guidance on parameter usage and intended scenarios would be needed for completeness.

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 for the lack of parameter documentation. It does not mention mode, project, or project_key at all, leaving the agent with no guidance on what these parameters mean or how to populate them correctly. This is a significant gap.

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's purpose with a specific verb and resource: 'Plan Zadig project create/update/delete.' It also distinguishes itself from sibling tools by emphasizing that it is always a dry-run and never mutates, making its role as a planning-only tool clear.

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?

The description implies usage context by highlighting that the tool is always dry-run and never mutates, suggesting it is for previewing rather than executing changes. However, it does not explicitly name alternative tools (e.g., apply tools) or state when not to use it, leaving the guidance implicit.

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

zadig_project_snapshotC

Create a redacted project snapshot for audit/GitOps preparation.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectionsNo
project_keyNo
max_workflowsNo
workflow_namesNo
include_workflow_raw_listNo

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?

With no annotations, the description must disclose behavioral traits, but only 'redacted' is mentioned. It does not say what is redacted, whether project state is changed, whether a snapshot is persisted, or what permissions are required, leaving important side effects undisclosed.

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 single sentence is concise and front-loaded with the verb and purpose, containing no filler. It could still be expanded with useful details without losing its tight structure, but as written it is efficient.

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?

Five undocumented parameters, no annotations, and a create-like operation require more than one line of context. The description does not clarify how sections, workflow_names, or max_workflows interact, or what 'redacted' removes, so the agent lacks enough information to invoke it confidently.

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 for any of the five parameters: sections, project_key, max_workflows, workflow_names, or include_workflow_raw_list. The parameter names and defaults in the schema provide only weak hints, so the description does not compensate for the coverage gap.

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 names a specific action ('create') and resource ('redacted project snapshot') with a clear purpose ('for audit/GitOps preparation'). It is distinguishable from siblings like project_get and project_plan by the snapshot concept, but does not explicitly contrast itself with them.

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?

The phrase 'for audit/GitOps preparation' gives implied context for when the snapshot is useful. However, there is no explicit when-not-to-use guidance or mention of alternatives among the many project/workflow siblings, so the agent must infer selection criteria.

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

zadig_service_getC

Get a Zadig K8s YAML service detail.

ParametersJSON Schema
NameRequiredDescriptionDefault
productionNo
project_keyNo
service_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the burden of behavioral disclosure. 'Get' reasonably implies a read-only operation, but the description doesn't add context about what the returned detail includes, how the production flag influences behavior, or any prerequisites. It is not contradictory, just thin.

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, front-loaded sentence with no filler. It is efficient and easy to parse, though its economy is partly a result of under-specification rather than careful selection of essential guidance.

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?

An output schema may document the return shape, but the description still lacks parameter semantics and usage context. Given the large sibling set with several service-related tools, the sparse description is not enough for an agent to confidently distinguish this call from related ones.

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 service_name, project_key, or production. The agent gets no help understanding that project_key may scope the query or that production selects a deployment environment, so the description fails to compensate for the low schema coverage.

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 uses a specific verb ('Get') and a concrete object ('a Zadig K8s YAML service detail'), making it clear this is a singular read operation on a service resource. It does not explicitly contrast with zadig_service_search or environment_service_get, but the verb and resource are specific enough to be useful.

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 when-to-use guidance is provided. The description does not mention alternatives such as zadig_service_search or environment_service_get, nor does it state whether to prefer this tool for normal versus production services.

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

zadig_service_set_imageA

Update one container image in service YAML. Defaults to dry_run=true and returns a diff.

ParametersJSON Schema
NameRequiredDescriptionDefault
imageYes
confirmNo
dry_runNo
productionNo
project_keyNo
service_nameYes
container_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It meaningfully reveals that the tool defaults to dry_run=true and returns a diff, signaling a safe-by-default, non-destructive operation. It does not explain confirm/production semantics, but the disclosed default behavior is valuable context.

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 short, front-loaded sentences with no wasted words. The core purpose comes first, and the critical default behavior follows immediately.

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 mutation tool with no annotations, 0% schema description coverage, and 7 parameters, the description is too thin. It does not explain how to move from dry-run diff to an actual applied update, what confirm does, or what production/project_key refer to, so an agent lacks key invocation context.

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 description coverage is 0%, so the description must compensate, but it only clarifies the target relationship among image, container_name, and service_name. It leaves confirm, production, project_key, and the implications of dry_run=false unexplained, which is insufficient for 7 parameters.

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 ('Update') and a precise resource ('one container image in service YAML'), and the scope 'one' distinguishes it from broader sibling operations like service_update_yaml or service_set_variable. An agent can reliably tell what this tool does.

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?

The purpose implies when to use it (updating a single container image), but the description gives no explicit when-to-use or when-not-to-use guidance and does not name competing sibling tools. This is adequate but not proactive routing.

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

zadig_service_set_variableC

Upsert a single service variable. Defaults to dry_run=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
descNo
valueYes
confirmNo
dry_runNo
optionsNo
productionNo
value_typeNostring
project_keyNo
service_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the important dry_run=true default, which signals a safe execution mode, but it fails to explain the related 'confirm' parameter, the actual mutation behavior when dry_run is false, or any side effects. Some value is added, but significant behavioral gaps remain.

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 efficient sentence that front-loads the core action and includes a key safety default. It earns a 4 because it is concise without wasting words, though it omits 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?

Given 10 parameters, no annotations, and 0% schema coverage, this description is severely under-specified. It does not explain the relationship between dry_run and confirm, the meaning of value_type or production, or how project_key and service_name relate. The output schema reduces the need to describe return values, but the description still leaves an agent unable to correctly invoke this tool with confidence.

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 compensate. It only mentions 'dry_run=true', which duplicates the schema default and adds no meaning about what the parameter does. The required parameters service_name, key, and value, along with optional parameters like production, value_type, and confirm, are entirely unexplained.

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 ('Upsert') and resource ('a single service variable'), making the tool's function immediately clear. The word 'single' distinguishes it from the sibling 'zadig_service_update_variables', which implies a batch operation.

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 gives no explicit guidance on when to use this tool versus alternatives like zadig_service_update_variables or zadig_service_set_image. The 'single variable' wording implies a narrow use case, but no when-to-use or when-not-to-use conditions are stated.

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

zadig_service_update_variablesA

Replace all service variables. This is mutating and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
productionNo
project_keyNo
service_nameYes
service_variable_kvsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/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 explicitly discloses that the operation is mutating and requires confirm=true, and 'Replace all service variables' communicates the destructive impact on existing variables. This is meaningful behavioral context, though it doesn't cover all potential side effects like production scope.

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 only two short sentences, front-loading the purpose before the warning. Every word earns its place, with no repetition or filler.

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 mutating tool with no annotations and 0% schema coverage, the description is too sparse. It omits the structure of service_variable_kvs, the role of the production flag, and whether project_key is needed, leaving an agent uncertain about how to construct a valid call.

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 description coverage is 0%, so the description must compensate for parameter documentation. It only addresses the 'confirm' parameter, leaving service_variable_kvs format, project_key, and production semantics unexplained. This is a significant gap for a 5-parameter tool.

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 ('Replace') and a clear resource ('all service variables'), which precisely identifies the tool's action. The scope 'all' distinguishes it from sibling tools like zadig_service_set_variable, which likely handles individual variables.

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

Usage Guidelines4/5

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

The description provides clear context: this tool is for replacing all service variables and requires confirm=true. However, it does not explicitly name alternatives or state when not to use them, so it falls short of a full 5.

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

zadig_service_update_yamlB

Replace service YAML. This is mutating and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
yamlYes
confirmNo
productionNo
project_keyNo
service_nameYes
service_typeNok8s

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?

With no annotations provided, the description carries the behavioral disclosure burden. It does state that the operation is mutating and requires confirm=true, which is useful safety information. But it does not explain side effects, whether the replacement is destructive, what permissions are needed, or what happens if confirm is false.

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 only two short sentences with no filler. The confirm requirement is front-loaded and important, though 'This is mutating' is somewhat redundant with 'Replace'.

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 six parameters, no annotations, and 0% schema coverage, the description is too sparse to be complete. It covers the mutation warning and confirm prerequisite but omits parameter semantics, usage context, and any operational detail beyond replacing YAML.

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 description coverage is 0%, so the description must compensate, but it only clarifies the confirm parameter. It does not explain the meaning of yaml, service_name, service_type, production, or project_key, leaving most of the six parameters semantically undefined.

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 opens with 'Replace service YAML', a specific verb and resource that clearly identifies the operation. This distinguishes it from sibling service tools like set_variable, set_image, and update_variables, which target different aspects of a service.

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?

The description implies this tool is for replacing a service's YAML definition, and it states a necessary precondition ('requires confirm=true'). However, it gives no explicit guidance on when to choose this tool over alternatives, such as update_variables or set_image, and no mention of 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.

zadig_workflow_applyC

Create or update a custom workflow. mode can be auto, create, or update. Defaults to dry_run=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoauto
confirmNo
dry_runNo
workflowYes
project_keyNo
workflow_nameYes
allow_redactedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 carry behavioral disclosure, but it only restates the dry_run default already in the schema and lists mode values. It never discloses that this is a mutating operation, what confirm controls, whether auto can destroy or overwrite an existing workflow, or permission requirements.

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 brief and has no filler, and it opens with the core purpose. However, the brevity crosses into under-specification because it omits behavioral and parameter context while repeating schema defaults.

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 7-parameter apply tool with no annotations and a nested workflow object, the description is materially incomplete: it does not explain the workflow payload, mode semantics, confirm's effect, or project_key's role. The presence of an output schema reduces the need to document return values, but the invocation path is still underspecified.

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 description coverage is 0%, so the description needs to explain parameters; it only clarifies mode's allowed values and dry_run's default. workflow, confirm, project_key, and allow_redacted remain unexplained, leaving over half of the parameters semantically opaque.

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 a specific action ('Create or update') on a specific resource ('custom workflow'), and this distinguishes 'apply' from list/get/delete siblings even though it overlaps with create/update. It could be a 5 if it explicitly contrasted with the create/update siblings, but it is unambiguous about what the tool does.

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 given for when to use apply instead of workflow_create or workflow_update, both of which appear as siblings. 'mode can be auto, create, or update' implies a decision point but does not explain when each mode should be selected or when this tool is preferable.

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

zadig_workflow_createC

Create a custom workflow. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
workflowYes
project_keyNo
workflow_nameYes
allow_redactedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It usefully reveals the dry_run default and the requirement for confirm=true, which are important safety-relevant behaviors. However, it does not explain what dry_run actually does, whether confirm is required for persistence, or any permission or side-effect 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?

Two short sentences with no filler. The most important behavioral caveat (dry_run/confirm) is front-loaded, though the brevity comes at the cost of missing essential parameter and usage detail.

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?

This is a complex create tool with a nested workflow object and six parameters, yet the description gives almost no guidance on how to construct a valid workflow, when confirmation is needed, or what project context is required. The output schema exists, so return values need not be described, but the input side is still severely under-specified.

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 for explaining the six parameters. It adds no meaning for workflow, project_key, workflow_name, or allow_redacted, and merely restates defaults for dry_run and confirm that are already visible in 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 states a specific action and resource: 'Create a custom workflow.' It is clear enough to distinguish a create operation from siblings like workflow_update or workflow_delete, though it does not explicitly contrast with workflow_apply or workflow_diff.

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 when-to-use or alternative-selection guidance is provided. The description does not mention when to choose create over apply or update, nor does it state prerequisites such as project_key or workflow structure requirements.

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

zadig_workflow_deleteA

Delete a custom workflow. Defaults to dry_run=true and requires confirm=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
project_keyNo
workflow_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral disclosure burden. It usefully discloses that dry_run defaults to true and confirm must be true, which are safety-relevant behaviors for a destructive operation. It could also clarify the exact effect of dry_run and what happens upon actual deletion, but the provided defaults are material and well-placed.

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 short sentences, no filler, and the most important safety informaton is front-loaded. Every word earns its place.

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?

For a delete operation with no annotations and a partially documented parameter set, the description covers the critical safety flags but leaves some ambiguity around the exact invocation to perform an actual deletion (e.g., whether dry_run must be false). An output schema exists, so return-value details are not needed here, but project_key semantics and the precise confirm/dry_run relationship could be clearer.

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 description coverage is 0%, so the description must compensate. It adds meaning to confirm ('requires confirm=true') and dry_run ('defaults to true'), but it doesn't explain project_key or restate what workflow_name refers to. workflow_name is inferable from tool name, but project_key remains 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 the action (delete) and the resource (custom workflow), and the tool name reinforces this. It doesn't explicitly contrast itself with sibling workflow tools like update or create, but the delete action and target are unambiguous.

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?

The description implies usage: call this tool when a custom workflow must be deleted. It adds important safety guidance with the dry_run default and confirm requirement, but it doesn't explicitly state when not to use it or suggest alternatives. This is borderline between implied and explicit guidance.

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

zadig_workflow_diffC

Diff current Zadig workflow detail against a desired workflow payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowYes
project_keyNo
workflow_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description shoulders the full burden of behavioral disclosure. The word 'Diff' suggests a read-only comparison, but the description never explicitly states that no changes are made, what side effects occur, or what the returned diff looks like. This is minimal disclosure for an unannotated tool.

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 one tight, front-loaded sentence with no filler. It efficiently communicates the core action and resources involved, and every word contributes meaning.

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?

The tool has three parameters, one nested object, no annotations, and no parameter descriptions. Given this complexity, the description omits usage context, preconditions such as whether project_key is needed, and how the diff result relates to apply/update workflows. The output schema may document the return structure, but the surrounding operation is still under-explained.

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 input schema provides only parameter names and types, with 0% description coverage. The description fails to explain what 'workflow_name' refers to, what shape the 'workflow' object must take, or how 'project_key' affects the diff. The phrase 'desired workflow payload' loosely hints at the 'workflow' parameter but does not compensate for the undocumented parameters.

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 ('Diff') and identifies both the source ('current Zadig workflow detail') and target ('desired workflow payload'), making the tool's purpose immediately clear. It also distinguishes itself from sibling tools like zadig_workflow_get or zadig_workflow_update by indicating a comparison operation rather than retrieval or mutation.

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 gives no explicit guidance on when to use this tool versus alternatives such as zadig_workflow_apply or zadig_workflow_update. It is implied that this is a preview-before-apply tool, but that is not stated, and there is no mention of 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.

zadig_workflow_getC

Get one custom workflow detail.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_rawNo
project_keyNo
workflow_nameYes

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 the full burden of behavioral disclosure. It states only that a workflow detail is read and says nothing about the effect of include_raw (which defaults to true), whether project_key is needed for scoping, or what the returned detail contains. There is no contradiction with annotations since none exist.

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 only five words, making it brief, but it is under-specified rather than concise. There is essentially no content beyond what the tool name itself conveys, so the single sentence does not earn its place by adding 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?

For a tool with three parameters at 0% schema description coverage and no annotations, the description is inadequate even though the output schema covers return values. The semantics of include_raw and project_key remain unexplained, leaving an agent to guess at optional behavior.

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 for any of the three parameters. An agent cannot determine what include_raw controls, what project_key scopes, or how workflow_name is used beyond being the required identifier.

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 uses a specific verb ('Get') and resource ('one custom workflow detail'), clearly identifying a single-item read operation. This distinguishes it from sibling tools like workflow_list, workflow_create, and workflow_delete, though it does not explain what the 'detail' comprises.

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 given on when to use this tool versus alternatives such as zadig_workflow_list or zadig_workflow_diff. The only usage signal is the word 'one', which weakly implies single-item retrieval, but no conditions, exclusions, or alternative scenarios are mentioned.

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

zadig_workflow_listC

List Zadig workflows in a project.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo
project_keyNo

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 the full burden of behavioral disclosure. It only says the tool lists workflows and does not mention pagination, auth needs, whether project_key is required, or how query affects results. The output schema covers return shape but not the tool's behavior.

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 short sentence with no filler and the core action is front-loaded. It is appropriately concise, though it sacrifices important behavioral and usage detail.

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 no annotations, two undocumented optional parameters, and many sibling tools, this description is insufficient for confident invocation. It identifies the resource but omits filtering semantics, selection criteria, and any context that would help an agent choose this tool over its workflow siblings.

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 description coverage is 0%, and the description does not explain query or project_key. It only loosely says 'in a project', which hints at project_key, but the meaning of query, defaults, and optionality are left undefined.

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 states a specific verb ('List') and resource ('Zadig workflows') with a scope ('in a project'). This makes the core purpose clear and distinguishes it from single-item tools like workflow_get, but it does not explicitly name the alternatives.

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?

There is no guidance about when to use this tool versus the many sibling workflow tools such as workflow_get, workflow_task_list, or workflow_create. No conditions, exclusions, or alternatives are mentioned, so an agent must infer usage from the name alone.

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

zadig_workflow_task_detailB

Get a Zadig workflow task detail with deployment summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
include_rawNo
project_keyNo
workflow_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

No annotations are present, so the description carries the behavioral burden. 'Get' clearly implies a read-only operation, and 'with deployment summaries' indicates what kind of data is returned. However, the description does not disclose requirements, side effects, or the impact of include_raw, which would add useful behavioral context.

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 filler or repetition. Every word contributes to identifying the operation and the kind of payload returned.

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?

The tool has four parameters, no annotations, and no schema-level parameter descriptions, yet the description only covers the basic purpose. It omits usage routing, parameter semantics, and the role of include_raw, leaving the agent under-informed even though an output schema exists.

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 description coverage is 0%, and the description provides almost no parameter-level meaning. workflow_name and task_id are inferable from the tool's purpose, but include_raw and project_key remain unexplained, so the agent cannot reliably know how to set them or what raw mode changes.

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 uses a specific verb 'Get' and a clear resource 'Zadig workflow task detail', with 'deployment summaries' narrowing the scope. It is reasonably distinguishable from siblings like zadig_workflow_task_list or zadig_workflow_task_job_log, though it does not explicitly name an alternative.

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?

There is no guidance on when to use this tool versus related siblings such as zadig_workflow_get, zadig_workflow_task_list, or zadig_workflow_task_job_log. The agent must infer the appropriate context solely from the tool name and one-line purpose.

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

zadig_workflow_task_job_logB

Get one Zadig workflow task job log. Supports tail_lines and keyword filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNo
task_idYes
job_nameYes
tail_linesNo
include_rawNo
project_keyNo
workflow_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/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 the full behavioral disclosure burden. It only states that tail_lines and keyword filtering are supported; it does not describe how logs are returned, pagination/truncation behavior, raw-output semantics, or error/availability traits. This is a meaningful gap for a log-fetch tool.

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 front-loaded sentence with no wasted words: it states the action and resource first, then signals supported capabilities. It is concise and easy to parse, though slightly lean for the paramater set it supports.

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 seven parameters and no annotations, the description offers too little context to fully equip an agent. It gives no usage scenario, no relationship among required parameters, and no explanation of optional fields; the output schema may cover return values, but the operational context is still thin.

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 description coverage is 0%, and the description only names tail_lines and keyword without explaining their effect beyond what their property titles already imply. It does not clarify the relationship between workflow_name, task_id, and job_name, or the role of optional fields like include_raw and project_key.

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 and resource: it gets one Zadig workflow task job log, which clearly separates it from task list/detail and other workflow tools. Even without a title, the purpose is unambiguous.

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?

The intended use is implied by the noun phrase 'job log' — an agent can infer this is for retrieving logs rather than task summaries or lists. However, it does not explicitly contrast with siblings like zadig_workflow_task_list or zadig_workflow_task_detail, nor mention 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.

zadig_workflow_task_listC

List Zadig workflow tasks with optional deployment summaries.

ParametersJSON Schema
NameRequiredDescriptionDefault
filtersNo
job_nameNo
page_numNo
page_sizeNo
query_typeNo
include_rawNo
project_keyNo
workflow_nameYes
include_deploymentsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden, but it only discloses that the operation is a read/list and that deployment summaries can be toggled. It does not mention that include_deployments defaults to true (so the 'optional' summaries are on by default), pagination defaults (page_size=20), or the effect of include_raw.

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?

A single front-loaded sentence with no filler; the verb and resource lead and every word earns its place. The brevity is structurally clean, though it partly reflects missing content rather than tightly edited rich content.

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 9-parameter tool with no annotations and 0% schema description coverage, one sentence is inadequate. The output schema mitigates return-value ambiguity, but the description fails to cover pagination behavior, filter syntax, and routing among the three task-focused siblings (list, detail, job_log).

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 description coverage is 0% with 9 parameters, and the description compensates only for include_deployments via 'optional deployment summaries.' The other eight parameters (filters format, query_type valid values, include_raw semantics, project_key, job_name) are left unexplained, forcing the agent to guess at accepted values and formatting.

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?

States a specific verb ('List') and resource ('Zadig workflow tasks'), and 'with optional deployment summaries' adds a scoping detail that points at the include_deployments toggle. It is clear enough to distinguish from workflow-level siblings (zadig_workflow_list lists definitions, this lists their task runs), but differentiation from zadig_workflow_task_detail relies on the name rather than the description.

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?

Provides no when-to-use guidance. It never says to prefer this when an agent needs a paginated overview of task history, nor that zadig_workflow_task_detail or zadig_workflow_task_job_log should be chosen for single-task inspection or logs. An agent must infer all selection logic from sibling names.

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

zadig_workflow_updateA

Update a custom workflow. Defaults to dry_run=true and requires confirm=true to mutate.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo
dry_runNo
workflowYes
project_keyNo
workflow_nameYes
allow_redactedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description correctly carries the burden of disclosing the tool's most important behavior: it is non-mutating by default and requires an explicit confirm flag to mutate. This is valuable transparency for a potentially destructive update operation, though it does not explain edge cases like dry_run=false with confirm=false.

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 that conveys the core purpose and the critical safety constraint without any filler. Every word adds value.

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?

The tool has 6 parameters, a nested workflow object, no annotations, and 0% schema description coverage, yet the description only addresses the dry_run/confirm guard. An agent would still lack enough context to construct a valid workflow payload or understand parameters like project_key and allow_redacted.

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 description coverage is 0% and the description only adds semantic meaning to dry_run and confirm. It does not explain the shape or role of the workflow object, project_key, workflow_name, or allow_redacted, leaving most parameters under-documented.

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 states a specific verb ('Update') and resource ('a custom workflow'), which clearly differentiates it from sibling tools like create, delete, list, get, diff, and apply. An agent can immediately identify this as the mutation operation for an existing workflow.

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

Usage Guidelines4/5

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

It provides clear operational context by explaining that dry_run defaults to true and confirm=true is required to actually mutate. This tells the agent how to safely invoke the tool, though it does not explicitly name alternatives or exclusion conditions.

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

zadig_workflow_webhook_compare_to_presetB

Compare saved webhook/git trigger settings with the current workflow webhook preset.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_rawNo
project_keyNo
workflow_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. The verb 'Compare' strongly implies a read-only operation and no side effects, which is helpful. However, it does not disclose details such as required permissions, whether the comparison is purely local, or how include_raw affects the comparison behavior.

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 one clear, front-loaded sentence with no filler. It is slightly under-specified, but it is appropriately concise and communicates the core operation immediately.

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 no annotations, 0% parameter description coverage, and an output schema that may explain returns, the description still leaves the agent without guidance on optional parameters or usage context. It is minimally sufficient to identify the tool but not fully enough to invoke it confidently in all cases.

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?

The schema has 0% description coverage and the description does not explain workflow_name, project_key, or include_raw. It adds domain context about webhook/git trigger settings, which helps somewhat, but it does not compensate for the missing parameter-level semantics.

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 names a specific verb ('Compare'), a specific resource ('saved webhook/git trigger settings'), and a specific reference point ('current workflow webhook preset'). This distinguishes it from sibling tools like webhook_list and webhook_preset, which are about listing or getting presets rather than comparing.

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 given about when to use this tool instead of alternatives such as zadig_workflow_webhook_list or zadig_workflow_webhook_preset. The comparison purpose is implied, but the description does not state when it should be preferred or any exclusions.

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

zadig_workflow_webhook_listB

List webhook/git trigger settings for one Zadig workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_rawNo
project_keyNo
workflow_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description itself must convey behavior. It clearly states this is a read-style 'List' operation and scopes it to one workflow, which is adequate for a simple list, though it does not mention raw/include_raw semantics or authentication implications.

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 front-loaded sentence states the operation and scope with no filler. Every word adds value.

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?

The output schema covers the return shape, and the description covers the resource, but without parameter descriptions or usage exclusions the description is only minimally complete for a tool with three parameters and several sibling tools.

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?

The schema has 0% description coverage and the tool description does not explain the parameters. 'One workflow' implies the workflow_name parameter, but project_key and include_raw are left undocumented by 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 names a specific action ('List') and resource ('webhook/git trigger settings') scoped to a single workflow, so a caller understands what the tool returns. It does not explicitly call out sibling distinctions, but the webhook/git-trigger focus separates it from the workflow CRUD siblings.

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?

The description implies the use case: when you need webhook or git trigger settings for a particular workflow. It gives no exclusions or alternatives, so an agent is not told when to prefer this over webhook_preset or compare_to_preset.

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

zadig_workflow_webhook_presetC

Get the current webhook/git trigger preset for one Zadig workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_rawNo
project_keyNo
workflow_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. 'Get' implies a read-only operation, but the description does not mention permission requirements, side effects, rate limits, or other behavior beyond the bare action. It provides minimal transparency for an unannotated tool.

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 filler. It states the action, the object, and the scope in a compact form, earning its place fully.

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?

The tool is a simple getter, and the presence of an output schema means return-value structure does not need to be described. However, the absence of usage guidance and parameter semantics leaves noticeable gaps for an unannotated tool with three parameters.

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 description coverage is 0%, so the description must compensate, but it only clarifies the role of workflow_name via 'one Zadig workflow'. The include_raw and project_key parameters are left entirely unexplained, leaving the agent to guess their meaning from names and defaults 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?

The description clearly states a specific action ('Get') and a specific resource ('current webhook/git trigger preset for one Zadig workflow'). It is unambiguous about what the tool does, but it does not explicitly differentiate from siblings like zadig_workflow_webhook_list or zadig_workflow_webhook_compare_to_preset.

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 about when to use this tool versus alternatives. The phrase 'for one Zadig workflow' names the target resource but does not explain when this tool is preferable to webhook listing or comparison tools, nor does it mention any exclusions.

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. 49 tool updatesv0.1.0
    • First observedzadig_build_apply
    • First observedzadig_build_create
    • First observedzadig_build_delete
    • First observedzadig_build_diff
    • First observedzadig_build_get
    • First observedzadig_build_list
    • First observedzadig_build_template_apply
    • First observedzadig_build_template_create
    • First observedzadig_build_template_delete
    • First observedzadig_build_template_diff
    • First observedzadig_build_template_get
    • First observedzadig_build_template_list
    • First observedzadig_build_template_reference
    • First observedzadig_build_template_update
    • First observedzadig_build_update
    • First observedzadig_build_update_from_template
    • First observedzadig_environment_apply
    • First observedzadig_environment_create
    • First observedzadig_environment_delete
    • First observedzadig_environment_diff
    • First observedzadig_environment_get
    • First observedzadig_environment_list
    • First observedzadig_environment_service_apply
    • First observedzadig_environment_service_delete
    • First observedzadig_environment_service_get
    • First observedzadig_environment_service_list
    • First observedzadig_environment_update
    • First observedzadig_project_get
    • First observedzadig_project_plan
    • First observedzadig_project_snapshot
    • First observedzadig_service_get
    • First observedzadig_service_search
    • First observedzadig_service_set_image
    • First observedzadig_service_set_variable
    • First observedzadig_service_update_variables
    • First observedzadig_service_update_yaml
    • First observedzadig_workflow_apply
    • First observedzadig_workflow_create
    • First observedzadig_workflow_delete
    • First observedzadig_workflow_diff
    • First observedzadig_workflow_get
    • First observedzadig_workflow_list
    • First observedzadig_workflow_task_detail
    • First observedzadig_workflow_task_job_log
    • First observedzadig_workflow_task_list
    • First observedzadig_workflow_update
    • First observedzadig_workflow_webhook_compare_to_preset
    • First observedzadig_workflow_webhook_list
    • First observedzadig_workflow_webhook_preset

TDQS

C2.8/5.0

Scored across 49 tools

Disambiguation3/5

Most tools map to a clear resource+action, but several overlapping groups create ambiguity: create/update/apply trios exist for workflows, builds, build templates, and environments, and service_update_variables vs service_set_variable plus service_update_yaml vs service_set_image require careful reading to distinguish. The descriptions help, but the redundancy is noticeable.

Naming Consistency4/5

The naming follows a consistent snake_case zadig_<resource>_<action> pattern with clear nesting for subresources like environment_service and workflow_task. Minor deviations exist where noun-style names are used instead of explicit verbs, such as project_snapshot, workflow_task_detail, workflow_webhook_preset, and build_template_reference.

Tool Count2/5

With 49 tools, this is well above the 25+ threshold and feels heavy even for a broad platform like Zadig. The count is not excessive for the domain's full feature set, but it places a large burden on agent context and tool selection.

Completeness2/5

The set provides good lifecycle coverage for workflows, builds, build templates, and environments, plus useful task and webhook read tools. However, project mutation is missing entirely (project_plan is always dry-run and there is no project_apply/create/update/delete), and services have no create or delete operations, leaving significant gaps in core GitOps workflows.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers