Skip to main content
Glama

Algenta SDK

Python and TypeScript client libraries and the official MCP server for Algenta โ€” self-hosted building blocks for AI applications.

CI PyPI npm codecov OpenSSF Scorecard License: Apache-2.0 All Contributors

๐Ÿ“– Full documentation: GitHub Wiki

Docs ยท Python SDK ยท TypeScript SDK ยท MCP server ยท Integrations ยท Examples ยท Contributing

Custom Mojo kernels give Algenta its speed. Your team never writes a line of Mojo โ€” the blocks speak Python and TypeScript. On your infrastructure, not ours. These SDKs are how Python and TypeScript call the engine: typed access to governed data queries, Monte Carlo simulations and recommendations, decision memory with execution receipts that pin the policy and schema snapshots each execution ran under, agent runs with human-in-the-loop approvals, managed connectors, and a full audit trail โ€” enforced by the engine, never by client-side convention.

MCP server

MCP server (algenta-mcp) โ€” the official MCP server for Algenta lives in THIS repository at packages/mcp/ (implementation: packages/mcp/algenta_mcp; stdio transport by default, Streamable HTTP optional). Install it with pip install algenta-mcp and run it as the algenta-mcp command; it is also on the official MCP Registry as io.github.thyn-ai/algenta. The framework integrations (LangChain, LlamaIndex, Vercel AI SDK, โ€ฆ) are what live in the companion repository thyn-ai/algenta-integrations โ€” not the MCP server.

Related MCP server: hivegate

Installation

pip install algenta-sdk       # Python 3.12+
npm install algenta-sdk       # TypeScript / JavaScript, Node.js 18+

Quickstart

Both clients read ALGENTA_API_KEY from the environment and default to Algenta's hosted API at https://api.algenta.ai.

Python โ€” note the import name is decision_engine (see Legacy names):

from decision_engine import AlgentaClient

client = AlgentaClient()  # reads ALGENTA_API_KEY; defaults to https://api.algenta.ai

datasets = client.list_datasets(search="orders", compact=True)
summary = client.get_dataset_summary(datasets.datasets[0].dataset_id)
result = client.query_with_metadata(
    {
        "dataset_id": summary.dataset_id,
        "metric": {"hint": "gross_revenue"},
        "aggregation": "sum",
    }
)
print(result.data.result)

TypeScript:

import { AlgentaClient } from "algenta-sdk";

const client = new AlgentaClient(); // reads ALGENTA_API_KEY; defaults to https://api.algenta.ai

const datasets = await client.listDatasets({ search: "orders", compact: true });
const summary = await client.getDatasetSummary(datasets.datasets[0].dataset_id);
const result = await client.queryWithMetadata({
  dataset_id: summary.dataset_id,
  metric: { hint: "gross_revenue" },
  aggregation: "sum",
});
console.log(result.data.result);

Self-hosted engine? Point the client at your own deployment โ€” AlgentaClient(base_url="http://localhost:8000") in Python, new AlgentaClient({ baseUrl: "http://localhost:8000" }) in TypeScript โ€” and use the API key provisioned by your operator. The self_hosted and air_gapped deployment profiles fail closed: they never silently fall back to Algenta's cloud. Framework integrations in thyn-ai/algenta-integrations take the opposite default on purpose: they are self-hosted-first, resolve their endpoint from ALGENTA_BASE_URL or an explicit base_url, and never default or fall back to the hosted API.

The full API surface โ€” governed queries, connectors, simulations, jobs, triggers, agent runs, decisions, repository intelligence, and the TypeScript local Runtime facade โ€” is documented in packages/python-sdk/README.md and packages/ts-sdk/README.md, with runnable projects in examples/. The MCP server lives in this repository (see MCP server above); framework integrations (LangChain, LlamaIndex, Vercel AI SDK, and more) live in the companion repository thyn-ai/algenta-integrations.

Errors, retries, and timeouts

Both SDKs raise the same exception taxonomy. Every error carries the HTTP status, the engine's machine-readable error_code, and โ€” in Python โ€” the engine-assigned request_id; validation failures additionally expose per-field details via field_errors (Python) / fieldErrors (TypeScript).

Exception

HTTP status

Raised when

Retried by default

AuthenticationError

401

Missing or invalid API key

No

NotFoundError

404

Resource does not exist

No

ValidationError

422

Request failed schema validation

No

RateLimitError

429

Quota or rate limit exceeded

Yes โ€” honors the engine's Retry-After (retry_after / retryAfter, default 60s)

ServerError

5xx

Engine-side failure

Yes โ€” exponential backoff

DecisionEngineError

any

Base class for all of the above

โ€”

Transient network errors are retried on the same policy as 5xx responses. The Python SDK additionally never retries one rate-limit code, inline_preview_rate_limited.

Setting

Python

TypeScript

Default

Request timeout

timeout (seconds)

timeout (milliseconds)

120

Retries per request

max_retries

maxRetries

3

Legacy names

The SDK was renamed to Algenta partway through its history. For backward compatibility, the legacy names below still work โ€” existing code and deployment configurations do not need to change:

  • Python import name โ€” the PyPI package is algenta-sdk, but the importable module remains decision_engine: from decision_engine import AlgentaClient.

  • Client aliases โ€” CodnaClient (and AsyncCodnaClient in Python) remain exported as aliases of AlgentaClient in both SDKs.

  • Environment variables โ€” DE_API_KEY, DE_BASE_URL, and ALGENTA_API_URL are still accepted alongside the canonical ALGENTA_API_KEY and ALGENTA_BASE_URL.

The published API contract guarantees a 90-day deprecation window (DEPRECATION_WINDOW_DAYS) before any legacy name is removed.

Powered by Mojo

The engine's compute kernels โ€” simulation, scoring, and local query execution โ€” are written in Mojo and are proprietary. They are distributed as signed algenta-runtime-native wheels and are not part of this repository.

What is open, here and under Apache-2.0: both SDKs, the published API contract they are generated from, the client/runtime wire protocol they speak, and runnable examples โ€” including examples/mojo-quickstart/, a minimal end-to-end walkthrough of calling the native runtime through the SDK.

Mojo FFI quickstart: pixi run demo against the signed native runtime

What is open source?

This repository contains Algenta's Python and TypeScript client SDKs and the official MCP server (packages/mcp/), licensed under Apache-2.0 (see LICENSE and NOTICE).

The Algenta engine itself is closed source and is not contained in this repository. Engine licensing, device entitlements, worker limits, concurrency limits, and Server Compute Units are enforced independently by the engine, subject to the separate Algenta Engine license.

The SDK is a plain HTTP client. It holds no license-signing keys, no entitlement-enforcement logic, and no secret shared with the engine โ€” every entitlement claim is independently verified and enforced by the closed engine, never by this SDK. Fork it, delete every check in it, or replace it with your own HTTP client entirely โ€” modifying or replacing this SDK does not change the execution capacity licensed to an Algenta engine. See SECURITY.md for what that means for vulnerability reports.

Algenta does not require hosted inference or telemetry for execution. Paid licenses expand local execution and governance capacity rather than charging per SDK call.

Verify a release

Every release built by release.yml is tied to:

  • a protected sdk-vX.Y.Z source tag in this repository;

  • the exact commit that tag points to;

  • a release-authorization record, signed by the internal release pipeline after the engine's test suite has validated the commit, binding that commit and a contract-file digest to the version being released (see releases/).

release.yml refuses to build or publish anything unless all of the above independently agree โ€” see scripts/verify_release_authorization.py.

Each GitHub Release cut since signing was added (September 2026) carries, next to the wheel, the sdist and release-manifest.json:

  • a keyless Sigstore signature bundle per asset (<asset>.sigstore.json), signed by the release.yml run itself;

  • SLSA build provenance covering all three assets (multiple.intoto.jsonl), from the SLSA generic generator.

To check an asset against both, with VERSION set to the release version (VERSION=1.0.15 for tag sdk-v1.0.15):

pipx run sigstore verify identity "algenta_sdk-${VERSION}-py3-none-any.whl" \
  --bundle "algenta_sdk-${VERSION}-py3-none-any.whl.sigstore.json" \
  --cert-oidc-issuer https://token.actions.githubusercontent.com \
  --cert-identity "https://github.com/thyn-ai/algenta-sdk/.github/workflows/release.yml@refs/tags/sdk-v${VERSION}"

slsa-verifier verify-artifact "algenta_sdk-${VERSION}-py3-none-any.whl" \
  --provenance-path multiple.intoto.jsonl \
  --source-uri github.com/thyn-ai/algenta-sdk \
  --source-tag "sdk-v${VERSION}"

A release published through release.yml's workflow_dispatch path was signed from the dispatched branch, so its certificate identity ends in @refs/heads/main instead of the tag; the bundle records which.

Versioning

Both packages share one version number, since they wrap one API contract, and follow Semantic Versioning:

  • Patch โ€” bug fixes and documentation; no API surface change.

  • Minor โ€” backward-compatible additions (new methods, new optional fields).

  • Major โ€” breaking changes to exported symbols, required fields, or behavior, announced in advance through the deprecation window above.

Release history lives in CHANGELOG.md.

Contributing

Bug fixes, framework integrations, docs, and tests are welcome โ€” see CONTRIBUTING.md. There is no CLA: contributions are licensed inbound=outbound under Apache-2.0, per GitHub's Terms of Service. Requests for new API capabilities usually require a change on Algenta's private API first; open an issue describing the capability rather than a PR against the generated contract files (also covered in CONTRIBUTING.md).

Please also read CODE_OF_CONDUCT.md.

Contributors

Thanks to everyone who contributes to this project โ€” we follow the all-contributors specification and recognize contributions of every kind, not just code.

Community

Open-source tooling around Algenta, from the Algenta team. The Algenta engine itself is proprietary; everything listed here is Apache-2.0. Issues and discussions are welcome in whichever repository owns the code.

  • thyn-ai/algenta-sdk (this repository) โ€” Python and TypeScript SDKs for Algenta plus the official MCP server (packages/mcp/): governed data queries, simulations, decision memory with execution receipts, agent runs with approvals.

  • thyn-ai/algenta-integrations โ€” Framework integrations for Algenta: LangChain, LlamaIndex, pydantic-ai, MAF, Haystack, LiteLLM, Ray Serve, vLLM, Vercel AI SDK and n8n.

  • thyn-ai/mojo-kernels โ€” Clean-room Mojo kernels as drop-in accelerators for popular Python/TypeScript libraries, with bit-exact parity and pure-language fallbacks.

  • thyn-ai/security-toolchain โ€” The pinned, checksum-verified security toolchain (Gitleaks, Opengrep, OSV-Scanner, Trivy config, actionlint) that every thyn-ai repository runs locally and in CI.

  • thyn-ai/feedback โ€” Public issue intake for the open-source tooling around Algenta and for the Codna GitHub App.

  • thyn-ai/codna-action โ€” GitHub Action for Codna: fix, review or secure a repository in CI through the same packaged local runtime the CLI uses.

Available Tools

140 tools
apply_repositoryA
Destructive
Inspect

Materialize a simulated repository decision in one of three modes. patch_only just returns the validated patch diff with applied=false and writes nothing. local_branch commits the patch to a new branch (default algenta/) in the engine-side checkout and returns commit_sha and local_checkout_path. remote_pr additionally pushes the branch and opens a pull request, returning pull_request_url. Both write modes are hard-gated: the simulation must satisfy policy thresholds (otherwise repository_apply_gate_failed) and write_permission=true must be passed explicitly (otherwise repository_write_permission_required). Use patch_only to review the diff before writing anything, and run_repository_fix to chain the whole flow. Requires decision_plan_id and simulation_id from simulate_repository.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeYespatch_only returns the diff; local_branch commits it; remote_pr pushes and opens a PR.
base_branchNoBranch the patch applies onto and the PR targets; defaults to the connector's default branch.
branch_nameNoBranch to create; defaults to algenta/<plan-suffix>.
snapshot_idNoSnapshot id; resolved from the decision plan when omitted.
repository_idYesSaved repository connector id from list_connectors.
simulation_idYesSimulation id from simulate_repository.
commit_messageNoCommit message; a default naming the plan id is used otherwise.
decision_plan_idYesPlan id from create_repository_decision_plan.
write_permissionNoMust be true for local_branch and remote_pr; ignored for patch_only.
pull_request_bodyNoPR body for remote_pr mode.
pull_request_titleNoPR title for remote_pr mode.

TDQS

A4.7/5.0
Behavior5/5

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

The description discloses the hard gates (policy thresholds triggering repository_apply_gate_failed, explicit write_permission=true otherwise repository_write_permission_required) and side effects per mode (writes nothing, commits to engine-side checkout, pushes and opens a PR). This meaningfully exceeds the destructiveHint annotation and covers failure behavior an agent must know before calling.

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?

Every sentence carries operational value: modes, outputs, gates, guidance, prerequisites. Information is front-loaded with the core verb and mode overview, and there is no filler or repetition of schema descriptions beyond what is operationally relevant.

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

Completeness5/5

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

Given 11 parametersications, no output schema, and three modes, the description provides expected return values per mode, failure codes, defaults, and dependencies, all of which an agent needs to call and interpret results. The schema fills in parameter formats, so nothing critical is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3 and the description does not need to re-document parameters. It adds useful meaning by clarifying that write_permission is ignored in patch_only, that decision_plan_id and simulation_id come from simulate_repository, and by restating mode-dependent defaults already in the schema.

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?

Opening with "Materialize a simulated repository decision" provides a specific verb and resource, then enumerates the three modes and what each returns (applied=false, commit_sha, local_checkout_path, pull_request_url). It also names run_repository_fix as the chained-flow alternative, distinguishing this tool from sibling simulation/planning tools.

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 explicitly advises "Use patch_only to review the diff before writing anything" and points to "run_repository_fix to chain the whole flow," plus states the prerequisite simulate_repository. It does not, however, give explicit when-to-avoid guidance for choosing local_branch versus remote_pr beyond their mode descriptions.

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

approve_agent_runAInspect

Approve an agent run that is waiting on manual approval (status requires_approval) and execute it synchronously to completion. Runs in any other state fail with agent_run_invalid_state; an unknown run_id fails with agent_run_not_found. The approval is the human-in-the-loop gate for manual-mode runs and is audit-logged and checkpointed. Returns the updated run resource. Use resume_agent_run for paused runs instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesWaiting run id from create_agent_run or list_agent_runs.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations are sparse (all hints false), so the description carries the behavioral burden. It discloses that the tool executes synchronously to completion, is audit-logged and checkpointed, returns the updated run resource, and specifies failure modes for invalid state and unknown run_id. This is rich, transparent context beyond the annotations.

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 compact and every sentence carries essential information: the action and precondition, error cases, behavioral side effects (audit, checkpoint), return value, and sibling routing. Zero redundancy.

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

Completeness5/5

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

For a single-parameter mutation tool with no output schema, the description covers everything an agent needs: preconditions, execution semantics, error behavior, return value, and the alternative tool. Nothing is missing.

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

Parameters4/5

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

Schema coverage is 100% and the schema already documents run_id as a waiting run id from create_agent_run or list_agent_runs. The description adds meaning by specifying the valid state (requires_approval) and the error behavior for invalid states (agent_run_invalid_state), helping the agent select the correct run_id.

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 ('Approve'), a specific resource ('agent run'), and the exact precondition (status requires_approval). It also clearly distinguishes itself from the sibling resume_agent_run, so an agent can tell them apart immediately.

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

Usage Guidelines5/5

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

It explicitly states when to use the tool: for agent runs waiting on manual approval. It also names the alternative (resume_agent_run) and the condition that selects it ('for paused runs instead'). This gives clear routing guidance.

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

batchA
Read-onlyIdempotent
Inspect

Run multiple simulation requests in one call and return per-item success or failure details. Synchronous deterministic compute; nothing is persisted and no separate rate limit applies. Use simulate for a single request and submit_job for very large async runs. Returns total, succeeded, failed, and a per-item results array with index, success, the envelope's recommended_action and expected_value, or the item error.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYesSimulation requests forwarded to POST /v1/batch.

TDQS

A4.9/5.0
Behavior5/5

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

The description discloses key behaviors beyond annotations: synchronous execution, deterministic compute, nothing persisted, and no separate rate limit. It also outlines the return structure, including total, succeeded, failed, and per-item details. This aligns with readOnlyHint and idempotentHint, adding valuable context without contradiction.

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 compact (two sentences) and well-structured: it leads with the core purpose, then usage alternatives, then behavioral specifics and return format. Every sentence contributes essential information without redundancy.

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

Completeness5/5

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

The description fully covers what the tool does, when to use it vs alternatives, execution behavior, and the complete return payload. Given the simple one-parameter schema and no output schema, this is complete and leaves no critical gaps for an agent to call it correctly.

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

Parameters4/5

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

Schema coverage is 100% for the single parameter 'items', which is described as 'Simulation requests forwarded to POST /v1/batch.' The description adds value by explaining per-item results and the envelope fields, enriching the parameter's purpose beyond the schema's minimal description.

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 runs multiple simulation requests in one call and returns per-item success/failure details. It distinguishes itself from siblings by explicitly naming 'simulate' for single requests and 'submit_job' for large async runs, making its scope unambiguous.

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

Usage Guidelines5/5

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

It provides explicit usage guidance: 'Use simulate for a single request and submit_job for very large async runs.' It also adds context that it is synchronous, deterministic, non-persisting, and has no separate rate limit, helping the agent decide when to invoke it.

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

browse_connectorA
Read-onlyIdempotent
Inspect

Discover what one saved connector exposes โ€” files, tables, endpoints, or items โ€” with discovery labels and metadata for choosing what to onboard. The connector must be live: an untested or errored connector fails with not_connected, so run test_connector first. Use preview_browse_connector for an unsaved inline definition. Read-only against the source. Returns connector_type, items, total, message, labels, and discovery.

ParametersJSON Schema
NameRequiredDescriptionDefault
connector_idYesSaved connector id from list_connectors.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare read-only/idempotent/non-destructive, and the description adds the live-connector prerequisite, the not_connected error, and the exact set of returned fields (connector_type, items, total, message, labels, discovery) โ€” all beyond the structured metadata.

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 front-loads the purpose and then packs only high-value operational details into a short paragraph; every sentence earns its place.

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

Completeness5/5

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

For a one-parameter read-only tool with no output schema, it is complete: goal, object kinds, prerequisite, failure mode, sibling alternative, and returned fields are all covered.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter connector_id is already documented as coming from list_connectors. The description reinforces 'saved connector' but adds no new format, constraints, or usage semantics beyond the schema.

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 ('Discover') and resource ('one saved connector'), enumerates the kind of exposed assets (files, tables, endpoints, items), and distinguishes itself from preview_browse_connector by limiting to saved connectors.

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

Usage Guidelines5/5

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

It gives an explicit precondition (connector must be live; run test_connector first), states the failure mode (not_connected), and points to the exact alternative for unsaved inline definitions (preview_browse_connector).

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

cancel_agent_runA
DestructiveIdempotent
Inspect

Cancel an agent run by run_id, ending its lifecycle at cancelled. Only a paused or requires_approval run can be cancelled โ€” anything else fails with agent_run_invalid_state; an unknown run_id fails with agent_run_not_found. Use resume_agent_run or approve_agent_run to continue a waiting run instead. The cancellation is audit-logged and checkpointed; the run record is kept, not deleted. Returns the updated run resource.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesRun id from create_agent_run or list_agent_runs.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and idempotentHint=true, and the description adds meaningful context: the operation is audit-logged, checkpointed, and the run record is retained rather than deleted. It also states that cancellation ends the lifecycle. This adds value beyond the annotation flags without contradicting them.

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?

Three sentences, no filler. The primary action is front-loaded, followed by conditions, alternatives, and side effects in logical order. Every sentence earns its place.

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

Completeness5/5

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

For a single-parameter tool with no output schema, the description covers all necessary context: when it can be used, failure modes, alternative actions, side effects, and return value. Nothing an agent needs to invoke it correctly is missing.

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?

The schema already documents run_id with 'Run id from create_agent_run or list_agent_runs' and coverage is 100%. The description only repeats the parameter name without adding new constraints or format details, so it meets the baseline for fully-covered schema 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 opens with a specific verb and resource ('Cancel an agent run by run_id') and states the terminal state ('ending its lifecycle at cancelled'). It clearly differentiates from siblings like resume_agent_run and approve_agent_run by naming them explicitly. An agent can identify the tool's purpose without inspecting other definitions.

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

Usage Guidelines5/5

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

It provides explicit eligibility criteria ('Only a paused or requires_approval run can be cancelled'), lists the exact error codes for invalid states and missing IDs, and names the alternatives ('Use resume_agent_run or approve_agent_run'). This is textbook usage guidance with no ambiguity.

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

cancel_jobA
DestructiveIdempotent
Inspect

Cancel a queued or running async simulation job by id. Use this for queued or running jobs; list_jobs shows their states. Returns the updated job record with its terminal status.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesUUID of the async job

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false. The description adds that the job must be queued or running and that it returns the updated job record with its terminal status, plus identifies the job type as an async simulation job. No contradiction; return-value and scope details go beyond the annotation hints.

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

Conciseness5/5

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

Two sentences with no waste: the first states the core action, the second adds usage guidance and return value. The main purpose is front-loaded and every sentence earns its place.

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

Completeness4/5

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

For a single-parameter destructive action with full schema coverage and annotations, the description covers when to use it, what it returns, and the job type. It doesn't specify behavior for already-terminal jobs, but that's inferable from 'queued or running' and the availability of list_jobs for checking state.

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

Parameters3/5

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

The schema has 100% coverage for job_id ('UUID of the async job'), and the description only adds 'by id,' which is redundant. No additional meaning beyond the schema, so baseline 3 applies.

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 (cancel), resource (queued or running async simulation job), and method (by id). It clearly differentiates from siblings like submit_job, list_jobs, and get_job_status by naming the cancel operation and the job type.

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

Usage Guidelines5/5

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

Explicitly says 'Use this for queued or running jobs; list_jobs shows their states,' giving both the condition for use and the tool to check job state. This orients the agent within the job lifecycle without leaving inference to chance.

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

chat_completionsA
Read-only
Inspect

Run one ordered chat transcript through an Algenta model and return the assistant message plus token usage. The default text.tokenizer model is a deterministic tokenizer-backed utility route whose assistant message is a JSON tokenization summary of the user messages โ€” not a generative LLM; provider-backed chat models advertised by list_models are routed through the configured provider service. Use responses for independent single-string utility calls. This tool does not stream and does not expose function/tool calling, and nothing is persisted. An unsupported model id fails with model_not_supported.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoChat-capable model id from list_models.text.tokenizer
messagesYesOrdered conversation transcript; the last user message is the prompt.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already note readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds substantial behavioral context: the default text.tokenizer is deterministic and non-generative, nothing is persisted, unsupported model ids fail with model_not_supported, and the tool lacks streaming and function-calling capabilities. This goes well beyond what annotations provide.

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 dense but front-loaded, with the core purpose in the first sentence, model routing and limitations in the second, and alternative tool guidance plus an error case in the third. Every sentence adds distinct value, and there is no repetition of schema or annotation details.

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

Completeness5/5

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

Given the small parameter surface, rich schema documentation, and no output schema, the description covers what an agent needs: the return shape, default model behavior, provider-backed model routing, non-features, persistence behavior, and the failure mode. Nothing critical is missing for selecting and invoking the tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description enriches the model parameter by explaining that text.tokenizer is a deterministic tokenizer-backed route returning a JSON tokenization summary, not a generative LLM. This directly informs parameter choice and output interpretation. The messages parameter is already well documented in the schema.

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 ('Run'), a resource (one ordered chat transcript through an Algenta model), and the returned output (assistant message plus token usage). It also distinguishes this tool from sibling tools like responses and the tokenizer-backed default model.

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

Usage Guidelines5/5

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

The description explicitly says to use responses for independent single-string utility calls, explains that provider-backed chat models are routed through list_models, and clarifies what this tool does not do (no streaming, no function/tool calling). This gives an agent clear guidance on when to select this tool over alternatives.

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

compareA
Read-onlyIdempotent
Inspect

Run 2-10 named scenarios side by side and return the winner plus each scenario's deltas versus the best one. The winner is the scenario with the highest expected value; every entry reports its recommended_action, expected_value, probability_of_loss, and delta_vs_best. Each scenario's request uses the simulate payload shape; runs and seed are forwarded for reproducibility. Use recommend for a ranked recommendation over actions instead. Synchronous deterministic compute; nothing is persisted.

ParametersJSON Schema
NameRequiredDescriptionDefault
runsNoScenario count per simulation; forwarded to each run.
seedNoSimulation seed for reproducible results.
scenariosYesNamed scenarios, each {name, request} with request in the simulate payload shape; 2-10 items.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds meaningful behavioral context: 'Synchronous deterministic compute; nothing is persisted.' This goes beyond annotations by specifying the execution model (synchronous, deterministic) and persistence behavior. It also mentions that runs and seed are forwarded for reproducibility, which is useful. No contradiction with annotations.

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 three sentences, each earning its place: the first states the core function and output, the second details the winner criterion and per-entry fields, and the third gives the alternative and behavior. Information is front-loaded (main purpose first) with no filler. 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.

Completeness5/5

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

For a tool with 3 parameters, full schema coverage, and annotations that already cover safety, the description is complete. It explains the output structure (recommended_action, expected_value, probability_of_loss, delta_vs_best), the winner criterion (highest expected value), the request shape (simulate payload), and the usage alternative. There is no output schema, but the description sufficiently describes return fields. Nothing an agent needs to call it correctly is missing.

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 100% โ€“ all three parameters (runs, seed, scenarios) have descriptions in the schema. The description adds little new parameter meaning beyond reiterating that runs and seed are forwarded and that scenarios use the simulate payload shape, both already stated in the schema. Since the schema already documents parameters well, the baseline of 3 applies; the description doesn't compensate beyond that.

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 a specific verb and resource: 'Run 2-10 named scenarios side by side and return the winner plus each scenario's deltas versus the best one.' It clearly states the output (winner and per-scenario deltas) and distinguishes itself from the sibling recommend by explicitly naming it as the alternative for ranked recommendations. This is precise and unambiguous.

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

Usage Guidelines5/5

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

The description explicitly tells the agent when NOT to use this tool: 'Use recommend for a ranked recommendation over actions instead.' This is a clear exclusion with a named alternative. It also implies the primary use case (comparing 2-10 scenarios) without leaving the decision to inference. The guidance is direct and actionable.

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

connect_dataAInspect

High-level data onboarding flow. Use this instead of advanced connector/source tools for normal users. Connect data once, pick the table/file/endpoint, and get a reusable dataset_id. If the result status is needs_selection, call connect_data again with connection_id and the chosen selection. Creating a connection persists it and the dataset under the active API key's organization, and live sources are dialed during this call; no separate per-route rate limit applies. Returns status with dataset_id and connection_id on success, or status needs_selection with the choices array to pick from.

ParametersJSON Schema
NameRequiredDescriptionDefault
csvNoRaw CSV text for direct file_upload datasets.
urlNoURL for direct file_upload or API datasets.
recordsNoInline JSON records for direct file_upload datasets.
json_strNoRaw JSON text for direct file_upload datasets.
providerNoLegacy compatibility field for provider selection. Prefer connector.type plus connector.location/auth/options.
connectorNoCanonical connector envelope with type/location/auth/options. Preferred when the same request shape should work across Python Runtime, TypeScript Runtime, and MCP.
excel_b64NoBase64-encoded Excel payload.
selectionNoLegacy compatibility field for chosen table/query/path. Use the selection object returned in choices when resuming a legacy connection flow.
visibilityNoShared requires admin/owner permissions.
descriptionNo
parquet_b64NoBase64-encoded Parquet payload.
dataset_nameYesName to save and reuse later.
connection_idNoExisting saved connection_id when resuming after selection.
connection_nameNoOptional label for the saved connection.
connection_typeNoLegacy compatibility field. Prefer connector.type with the canonical connector envelope.
connection_configNoLegacy compatibility field for connector credentials/config. Prefer connector.location and connector.auth.credentials.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=false, destructiveHint=false, but the description adds significant behavioral context: 'Creating a connection persists it and the dataset under the active API key's organization, and live sources are dialed during this call; no separate per-route rate limit applies.' This covers persistence, organization scoping, live dialing, and rate limitsโ€”valuable beyond annotation flags.

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 front-loaded with purpose, then usage, conditions, side effects, and return format in a logical sequence. Every sentence adds value with zero redundancy. Despite covering multiple aspects, it remains tight and well-organized.

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

Completeness4/5

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

Given the tool's complexity (16 params, nested objects, no output schema), the description adequately covers the onboarding flow, return statuses, and resume condition. It doesn't enumerate all input combinations, but the schema fills that gap. Minor omissions like not explaining how to choose among data input formats are acceptable given schema coverage.

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

Parameters4/5

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

Schema coverage is 94%, so parameters are well-documented in the schema. The description adds semantic nuance by distinguishing canonical connector envelope from legacy compatibility fields ('Prefer connector.type plus connector.location/auth/options'), and explaining the selection resume flow. This enriches understanding beyond raw schema definitions.

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

Purpose5/5

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

Description explicitly states 'High-level data onboarding flow' and clearly differentiates from advanced tools: 'Use this instead of advanced connector/source tools for normal users.' It names the specific resource (data) and action (connect/onboard), making it unmistakable among 130+ siblings.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance ('for normal users' vs advanced tools) and conditional flow: 'If the result status is needs_selection, call connect_data again with connection_id and the chosen selection.' Names the alternative category and gives precise continuation instructions.

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

count_tokensA
Read-onlyIdempotent
Inspect

Count how many tokens a supported deterministic Algenta tokenizer model produces for UTF-8 text (default text.tokenizer; call list_models for every supported model id). Use this for prompt-size checks and token budgeting; call tokenize when you also need the token strings. Read-only and deterministic: the same input and model always return the same count, and nothing is stored. Returns the resolved model id, its tokenizer_kind, and token_count. An unsupported model id fails with model_not_supported.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesUTF-8 text whose tokens are counted.
modelNoTokenizer model id from list_models.text.tokenizer

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds valuable context beyond those: determinism, that nothing is stored, the returned fields, and the error behavior for unsupported model ids. This is robust behavioral disclosure especially with no output schema present.

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?

Every sentence earns its place: purpose, usage, behavioral guarantees, return shape, and error condition are all covered without fluff. The most important scoping information is front-loaded in the first sentence.

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

Completeness5/5

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

For a simple two-parameter read-only tool, the description is fully complete. It explains what is returned, how to discover valid model ids, when to use tokenize instead, and what happens on invalid input. No essential calling information is missing.

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 100%, so the schema already documents both parameters and their roles. The description adds minor value by naming the default model id and pointing to list_models, but most parameter meaning is already in the schema. Baseline 3 is appropriate.

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: 'Count how many tokens a supported deterministic Algenta tokenizer model produces for UTF-8 text.' It also distinguishes itself from the sibling tool tokenize by noting that tokenize is for when token strings are also needed. This makes the tool's purpose immediately clear and differentiated.

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

Usage Guidelines5/5

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

It explicitly says when to use the tool ('Use this for prompt-size checks and token budgeting') and when to use an alternative ('call tokenize when you also need the token strings'). It also instructs the agent to call list_models for supported model ids, which fully covers usage context.

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

create_agent_runAInspect

Create a persisted agent run lifecycle resource for a natural-language task. With approval_mode=auto (default) the run picks a tool from the task wording, executes synchronously, and returns completed; approval_mode=manual parks it at requires_approval until approve_agent_run, and start_paused=true parks it at paused until resume_agent_run. The run, its step log, append-only events, and a replayable checkpoint are persisted under the caller's organization and the creation is audit-logged. Use product_agent_run for the simpler synchronous helper, list_agent_runs to browse, and get_agent_run_events to follow the trail. Returns the full run resource with run_id and status.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesWhat the agent should do, in plain words (min 5 characters).
toolsNoRestrict the tools the agent may pick from; defaults to search, simulate, optimize, calculate, summarize.
contextNoOptional structured context or data for the task.
max_stepsNoMaximum execution steps, 1-50; defaults to 10.
start_pausedNoPersist the run in paused state until resume_agent_run.
approval_modeNoauto executes immediately (default); manual waits for approve_agent_run before executing.auto
output_formatNoResult format: text (default), json, or markdown.text

TDQS

A4.8/5.0
Behavior5/5

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

Annotations are minimal (readOnlyHint=false, etc.), so the description carries the burden. It discloses that the run is persisted, audit-logged, and has a step log, events, and a replayable checkpoint. It explains the lifecycle states (completed, requires_approval, paused) and how they are triggered. No contradiction with annotations; it actually reinforces that it's a write operation.

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 detailed but well-structured. It opens with the core purpose, then explains modes, then persistence and audit, then alternatives, and finally return value. No fluff; every sentence adds value. It's a bit long, but for a complex lifecycle tool, it's appropriate, so 4 rather than 5.

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

Completeness5/5

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

For a tool with 7 parameters, nested objects, and no output schema, the description covers the essential behavior: what it does, how modes affect execution, what gets persisted, and what is returned. It also references related tools. It's sufficient for an agent to call it correctly.

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

Parameters4/5

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

The schema already has 100% description coverage for all parameters, so the baseline is 3. The description adds context beyond the schema by explaining the behavioral impact of approval_mode and start_paused (e.g., parks at requires_approval or paused). It also mentions the return value includes run_id and status, which is not in schema. This enriches parameter understanding, so a 4 is warranted.

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: to create a persisted agent run lifecycle resource. It distinguishes itself from siblings by mentioning approval_mode and start_paused, and explicitly names alternative tools for different use cases. The verb 'create' and resource 'agent run' are specific and unambiguous.

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

Usage Guidelines5/5

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

It explicitly says when to use this tool vs alternatives: 'Use product_agent_run for the simpler synchronous helper, list_agent_runs to browse, and get_agent_run_events to follow the trail.' It also explains the behavioral differences between auto and manual approval modes and start_paused, giving clear guidance on when this tool is appropriate.

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

create_api_keyAInspect

Create a new API key for the current organization and return its raw_key value exactly once โ€” it is never shown again, so store it immediately. expires_at optionally sets an ISO-8601 expiry and device_limit caps how many devices the key may register (validated against the plan ceiling, invalid_device_limit on excess). Key creation is rate-limited per organization (api_key_create_rate_limited). Use list_api_keys to see existing keys and revoke_api_key to retire one.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYesHuman-readable label identifying the key's purpose.
expires_atNoOptional ISO-8601 expiry timestamp for the key.
device_limitNoOptional per-key device cap; must not exceed the plan ceiling.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations only indicate readOnlyHint=false, but the description discloses critical behavioral traits: raw_key is returned exactly once and never shown again, creation is rate-limited per organization with the api_key_create_rate_limited error, and device_limit is validated against the plan ceiling. This goes well beyond the annotations.

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?

Three tight sentences with no filler. The most important warning (store raw_key immediately) is front-loaded, followed by parameter behavior, failure mode, and sibling routing.

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

Completeness5/5

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

For a creation tool with no output schema, the description sufficiently covers the return value (raw_key, one-time), error conditions, rate limiting, parameter validation, and related lifecycle tools. Nothing essential is missing.

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

Parameters4/5

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

The schema already covers all three parameters, so the baseline is 3, but the description adds meaningful semantics: expires_at is ISO-8601, device_limit caps registered devices, and excess triggers invalid_device_limit. This clarifies behavior beyond the raw schema property 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 names a specific verb and resource ('Create a new API key for the current organization') and clarifies the tool is distinct from list_api_keys and revoke_api_key. It leaves no ambiguity about what action is performed.

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

Usage Guidelines5/5

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

It explicitly routes the agent to list_api_keys for viewing existing keys and revoke_api_key for retiring one, giving clear when-to-use guidance versus alternatives. It also flags rate limiting and a specific error code, helping the agent decide when this call is appropriate.

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

create_billing_checkoutAInspect

Create a Stripe Checkout session for the active organization and return its hosted checkout URL. The user completes the purchase in the browser; nothing is charged by this call itself. Requires an owner API key. plan defaults to developer; an unsupported plan fails with invalid_plan. Use get_billing_info to check the current plan and create_billing_portal to manage an existing subscription.

ParametersJSON Schema
NameRequiredDescriptionDefault
planNoPlan to purchase; defaults to developer.

TDQS

A5/5.0
Behavior5/5

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

Annotations already indicate readOnlyHint=false and non-idempotent, but the description adds significant context: it clarifies that no charge occurs at call time, requires an owner API key, and explains the default value and error behavior. This goes well beyond the structured annotations.

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 three sentences, each loaded with essential information: the main action, the side-effect caveat, the auth requirement, and the sibling routing. No filler words; key points are front-loaded.

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

Completeness5/5

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

Given the tool has only one parameter, no output schema, and the return value (checkout URL) is explicitly mentioned, all necessary context for correct invocation is present. It also covers auth, default behavior, and error handling, making it complete for an agent.

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

Parameters5/5

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

The schema provides a description for the 'plan' parameter (with enum and default), but the tool description adds the default explicitly ('plan defaults to developer') and the failure condition ('an unsupported plan fails with invalid_plan'). This enriches the parameter semantics beyond the schema alone.

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

Purpose5/5

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

The description states a specific action (create a Stripe Checkout session), the resource (active organization), and the return value (hosted checkout URL). It also explicitly names sibling tools (get_billing_info, create_billing_portal) that serve different purposes, making the tool's unique role clear.

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

Usage Guidelines5/5

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

Provides explicit guidance: 'Use get_billing_info to check the current plan and create_billing_portal to manage an existing subscription.' This tells the agent exactly when to use this tool versus alternatives. It also notes the default plan and the error case (invalid_plan) for unsupported plans, which informs decision-making.

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

create_billing_portalAInspect

Create a Stripe Billing Portal session for the active organization and return its URL, where the user manages payment methods, invoices, and the subscription. Requires an owner API key and an existing billing account โ€” an org that has never checked out fails with no_billing_account (call create_billing_checkout first). This call itself changes nothing.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior1/5

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

The description claims 'This call itself changes nothing,' which contradicts annotations readOnlyHint=false and openWorldHint=true. Creating a Stripe Billing Portal session is an external side effect, so the description is misleading about the tool's behavioral profile. This is a direct annotation contradiction.

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?

Three compact sentences front-load the primary outcome, then cover prerequisites, failure handling, and side-effect expectations. Every sentence earns its place with no filler or repetition.

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

Completeness4/5

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

For a zero-parameter operation with no output schema, the description covers the returned URL, the key failure condition, and the required prerequisite. It is nearly complete, but the contradictory 'changes nothing' claim weakens the overall context an agent can rely on.

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

Parameters4/5

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

The input schema has zero parameters and 100% schema coverage, so there is no parameter gap for the description to fill. The description still adds useful context by noting the implicit target is the 'active organization' and that no inputs are needed.

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: 'Create a Stripe Billing Portal session' and states the returned value (its URL) and the end-user purpose (managing payment methods, invoices, and subscription). It also distinguishes itself from the sibling create_billing_checkout by scoping to an existing billing account.

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

Usage Guidelines5/5

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

The description explicitly states prerequisites: an owner API key and an existing billing account. It names the exact failure mode (no_billing_account), explains when the tool cannot be used (org has never checked out), and directs the agent to call create_billing_checkout first. This is explicit when-to-use and when-not-to-use guidance.

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

create_capability_bindingAInspect

Save one capability binding for a provider/profile pair and return it with its binding_id. scope (default workspace) decides who can use it, execution_owner decides where executions run (algenta_managed on the engine, client_managed in the customer app or adapter path), and config carries the profile's credentials and options. Find valid provider_id/profile_id pairs with list_capability_providers, then call discover_capability_binding to publish the binding's capabilities and test_capability_binding to verify. Persists the binding.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoVisibility scope; defaults to workspace.
configNoProfile credentials and options.
scope_refNoOptional concrete user/workspace id the scope binds to.
profile_idYesProfile id within the provider.
provider_idYesProvider id from list_capability_providers.
binding_nameYesHuman-readable binding name.
execution_ownerNoWhere executions run; defaults to the profile's default_execution_owner.
customer_metadataNoOptional caller metadata stored with the binding.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already indicate the tool is not read-only (readOnlyHint: false), not idempotent (idempotentHint: false), and not destructive (destructiveHint: false). The description goes beyond this by stating 'Persists the binding' at the end, which reinforces the non-transient nature. It also explains the execution_owner semantics (algenta_managed vs client_managed) and their implications for where executions run, adding value beyond annotations. The description does not contradict annotations, but could add more about failure modes or side effects beyond persistence.

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 dense but somewhat long, fitting key points into three sentences. The first sentence front-loads the primary purpose and the key parameters. The workflow guidance in the second sentence is valuable but adds length. The final note 'Persists the binding' is a bit redundant given the opening 'Save'. It is not rambling, but it could be tightened without losing meaning.

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

Completeness4/5

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

The tool is a create operation with 8 parameters, nested config objects, and no output schema. The description covers the main parameters, explains the workflow, and notes the persistence. It does not specify the return format (beyond 'return it with its binding_id') or error conditions, but given the complexity and no output schema, it is fairly complete. The omission of validation details for config or scope_ref is a minor gap, but overall the description is sufficient for an agent to proceed.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents parameter descriptions. The description adds semantic clarity by explaining the roles of scope ('decides who can use it') and execution_owner ('decides where executions run'), as well as config ('the profile's credentials and options'). This goes beyond raw field names. However, with 8 parameters and 100% schema coverage, the description's contributions are helpful but not exhaustive for every parameter (e.g., binding_name and customer_metadata are not elaborated). Given the high coverage, a 4 is warranted over baseline 3.

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 'Save' with the resource 'capability binding' and its scope. It explicitly distinguishes itself from sibling tools by naming list_capability_providers, discover_capability_binding, and test_capability_binding as related but distinct operations. This makes the purpose unmistakable.

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

Usage Guidelines5/5

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

The description provides an explicit workflow: first find valid pairs with list_capability_providers, then use discover_capability_binding to publish vertices and test_capability_binding to verify. It also explains when to use this tool (creating a binding) versus related tools. The prerequisites and follow-up actions are clearly stated, leaving no ambiguity.

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

create_connectorAInspect

Save one connector configuration (host, credentials, options) for later data onboarding, health checks, and schema browsing. config is encrypted at rest and the new connector starts untested โ€” call test_connector to verify it reaches the source, then browse_connector to discover what it exposes. Returns the saved connector with its connector_id, persisted under the active API key's organization. To try a definition without saving anything, call preview_test_connector instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable connector name.
configNoType-specific connection settings and credentials; encrypted at rest and never returned.
visibilityNoWho can see the connector; defaults to private.
descriptionNoOptional note on what this connector is for.
connector_typeYesConnector type id, e.g. a database, API, file, or repository type.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations are all false (not read-only, not idempotent, not destructive), so the description must carry behavioral info. It discloses that config is encrypted at rest, the connector starts untested, it persists under the active API key's organization, and it returns the connector with its connector_id. This is comprehensive and does not contradict annotations.

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 three sentences, each serving a distinct purpose: main action, state and next steps, and alternative. It is front-loaded with the core function and contains no fluff, though it is slightly longer than the minimum necessary.

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

Completeness5/5

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

The description covers the tool's purpose, behavior, expected return, and clear follow-up actions. For a creation tool with no output schema, this is completeโ€”an agent knows exactly what to do before, during, and after the call.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for all parameters. The description adds value by clarifying the config parameter (encrypted at rest, never returned), which is not fully captured in the schema. It does not redundantly restate parameter names, but it enriches the config semantics beyond the schema.

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

Purpose5/5

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

The description clearly states the action (save a connector configuration) and its purpose (for later data onboarding, health checks, and schema browsing). It also distinguishes itself from preview_test_connector, which is for trying without saving, so the tool's scope 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 Guidelines5/5

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

The description provides explicit guidance: after creating, call test_connector to verify connectivity and browse_connector to discover schema. It also names preview_test_connector as an alternative when no persistence is desired, making the decision clear.

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

create_deploymentAInspect

Request a new isolated engine deployment for the active organization on the chosen provider and region. Returns immediately with status requested โ€” provisioning is asynchronous, so poll get_deployment until status is active; API calls then route to the isolated deployment automatically. Requires an owner API key. Only one active or in-progress deployment is allowed per org (deployment_exists otherwise โ€” call delete_deployment first), and unknown provider/region pairs fail validation; list_deployment_regions shows the valid combinations.

ParametersJSON Schema
NameRequiredDescriptionDefault
configNoOptional provider-specific configuration.
regionNoRegion id from list_deployment_regions; defaults to algenta-shared.
providerNoCloud provider: algenta_shared (default), aws, azure, or gcp.
billing_markup_pctNoBilling markup percentage applied to this deployment, 0-200.

TDQS

A4.7/5.0
Behavior5/5

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

Discloses key behavioral traits beyond annotations: asynchronous provisioning with immediate 'requested' status, automatic routing of API calls after activation, per-org uniqueness constraint, and validation failure modes. Annotations (readOnlyHint false, idempotentHint false) are consistent with a mutating, non-idempotent creation operation, and the description adds substantial operational 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 dense but every clause adds value: action, asynchronous behavior, polling instruction, routing effect, auth requirement, uniqueness constraint, and validation guidance. There is no filler or redundant restatement of the tool name or schema.

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

Completeness5/5

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

This is a complex, asynchronous, mutating deployment tool with no output schema and no required parameters. The description covers the full calling lifecycle: prerequisites (owner API key, valid region/provider), immediate result (requested status), follow-up (poll get_deployment), and failure handling (deployment_exists, invalid provider/region). Nothing essential is missing for an agent to invoke it correctly.

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 100%, so the schema already documents all four parameters. The description adds some context by connecting region/provider to list_deployment_regions and mentioning 'active organization,' but does not explain the nested config object structure or otherwise materially compensate beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource: 'Request a new isolated engine deployment for the active organization on the chosen provider and region.' It clearly differentiates from sibling tools by explicitly referencing get_deployment, delete_deployment, and list_deployment_regions, so an agent can distinguish it from related deployment operations.

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

Usage Guidelines5/5

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

Provides explicit when-to-use guidance: only one active/in-progress deployment per org, requires owner API key, unknown provider/region pairs fail validation, and deployment_exists means delete_deployment first. It also tells the agent to poll get_deployment until status is active, making the usage workflow unambiguous.

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

create_repository_decision_planAInspect

Create one stored, immutable repository DecisionPlan revision from a triage workspace evidence bundle and return its decision_plan_id plus the validated patch diff inline. snapshot_id is resolved from the bundle when omitted. This is the only LLM-touching stage of the repository chain; model optionally picks the planner model. The decision_plan_id feeds simulate_repository and apply_repository. Persists the plan revision. Use run_repository_pipeline to chain snapshot, triage, plan, and simulate in one call instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoOptional planner model override.
snapshot_idNoSnapshot id; resolved from the evidence bundle when omitted.
repository_idYesSaved repository connector id from list_connectors.
workspace_evidence_bundle_refYesBundle ref returned by triage_repository.

TDQS

A4.5/5.0
Behavior4/5

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

The annotations indicate readOnlyHint=false (so a write is expected), destructiveHint=false (not destructive), idempotentHint=false, and openWorldHint=true. The description adds significant behavioral context beyond those annotations: it states the operation is 'stored' and 'immutable', that it 'persists the plan revision', that snapshot_id is resolved from the bundle when omitted, and that the model optionally picks the planner model. This goes beyond the bare annotations and explains the persistence and lifecycle behavior. It does not contradict annotations, and while it doesn't detail error conditions, it provides meaningful context for a mutation tool.

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

Conciseness4/5

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

The description is efficiently written, with the core purpose stated first, then the bundle resolution detail, the pipeline context, and the alternative. It is two dense sentences but not overly long. Every sentence adds value: the first introduces the action and return, the second explains the LLM stage and the chaining alternative. No fluff, though the phrasing 'model optionally picks the planner model' is slightly awkward. Overall it's well-structured and front-loaded.

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

Completeness4/5

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

Given that the tool has an output schema? No, it has no output schema, so the description must explain the return value, which it does (decision_plan_id plus patch diff). The complexity is moderate (4 parameters, with an optional model and snapshot resolution). The description covers the relationship to the pipeline (simulate and apply), the input from triage, and the persistence behavior. It lacks details about error conditions or exact format of the patch diff, but it provides enough for an agent to know what to expect and how this fits into the workflow.

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

Parameters4/5

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

The schema has 100% coverage with descriptions for all parameters, so the baseline is 3. The description adds extra semantic meaning beyond that: it explains that snapshot_id is resolved from the bundle when omitted (which is already in the schema but reinforces it), and it clarifies the role of model as an optional override and the only LLM-touching stage. It also explains the purpose of workspace_evidence_bundle_ref as feeding from triage_repository. This adds context that helps an agent understand dependencies and optionality beyond the schema's dry 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 states a specific action ('Create one stored, immutable repository DecisionPlan revision'), a clear resource (DecisionPlan), and the input (triage workspace evidence bundle), while also mentioning the primary return value (decision_plan_id plus patch diff). It distinguishes itself from siblings by mentioning that it is the only LLM-touching stage and that simulate_repository and apply_repository consume its output, and it explicitly points to run_repository_pipeline as the chaining alternative. This is far beyond a tautology and gives the agent a concrete handle on what this tool achieves.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool versus alternatives: it is the only LLM-touching stage, and it says to use run_repository_pipeline to chain the entire pipeline in one call. It also implies that if you need to go further in the pipeline, you chain simulate_repository and apply_repository after, making the context of use clear. There are no explicit exclusions, but the alternative is named and the condition for choosing it is stated.

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

create_repository_snapshotA
Idempotent
Inspect

Create or reuse an immutable, content-hashed snapshot of a saved repository connector (a connector of a repository type โ€” find its id with list_connectors). Re-running with identical inputs returns the existing snapshot (status='existing') instead of duplicating it. The snapshot is the input to triage_repository and query_repository_graph; every later stage references it by snapshot_id. Reads the repository and persists snapshot, symbol, and dependency graph artifacts; it never writes to the repository. Returns snapshot_id, resolved_revision, content_hash, file_count, language_counts, and artifact refs.

ParametersJSON Schema
NameRequiredDescriptionDefault
refNoGit ref to snapshot; defaults to the connector's default ref.
max_filesNoFile-count cap, up to 200000; defaults to 20000.
repository_idYesSaved repository connector id from list_connectors.
exclude_patternsNoGlob patterns excluding files from the snapshot.
include_patternsNoGlob patterns limiting which files are snapshotted.
max_file_size_bytesNoPer-file size cap in bytes, 1024-10000000; defaults to 1000000.

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, openWorldHint=true, and readOnlyHint=false. The description adds valuable context: it reads the repository and persists snapshot, symbol, and dependency graph artifacts, while never writing to the repository. It also discloses the idempotent reuse with status='existing'. This exceeds what annotations alone convey, providing the agent with a clear understanding of side effects and safety. No contradiction with annotations.

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 paragraph with multiple sentences, each serving a purpose: stating the core function, idempotent behavior, downstream usage, side effects, and return fields. It is front-loaded with the primary action. It's slightly verbose but not wasteful, and the structure is logical. It earns a 4 for being informative without excessive fluff.

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

Completeness4/5

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

The tool is moderately complex with 6 parameters and no output schema. The description covers the key contextual elements: what the snapshot is, how it's used downstream, the idempotent reuse behavior, side effects (persisting artifacts, not writing to the repo), and the return fields (snapshot_id, resolved_revision, content_hash, file_count, language_counts, artifact refs). It lacks details like auth requirements or potential error conditions, but given the annotations and schema, it is adequately complete for an agent to call it correctly.

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 100%, so all six parameters are documented in the schema. The description adds minimal parameter-specific meaning beyond the schema, only clarifying that repository_id comes from list_connectors. It does mention the content-hashed nature of the snapshot, which relates to the output, but not to individual parameters. Given full schema coverage, a baseline of 3 is appropriate; the description doesn't significantly augment parameter understanding.

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

Purpose4/5

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

The description clearly states the tool creates or reuses an immutable content-hashed snapshot of a repository connector, and it distinguishes this from related tools like get_repository_snapshot by emphasizing the create/reuse behavior and its role as input to triage_repository and query_repository_graph. The reference to list_connectors for finding the id adds clarity. It could be more explicit about the distinction from get_repository_snapshot, but the purpose 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 Guidelines4/5

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

The description explains when to use the tool: as the entry point for snapshotting before triage/query, and that re-running with identical inputs returns the existing snapshot (idempotent reuse). It implicitly suggests that once you have a snapshot_id, you might use get_repository_snapshot, but it doesn't explicitly state that alternative. The guidance is clear on the idempotent behavior and the downstream dependency, which is sufficient for an agent.

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

delete_connectorA
DestructiveIdempotent
Inspect

Delete one saved connector by id. Use update_connector to change config without losing the saved definition. Returns connector_id with deleted: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
connector_idYes

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint and idempotentHint, and the description adds the consequence that deleting removes the saved definition (unlike update_connector) and specifies the success response shape: 'connector_id with deleted: true.' This goes beyond the structured fields without contradicting them.

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 front-load the action, then provide the relevant alternative and the return value. Every sentence earns its place; there is no redundant filler.

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

Completeness5/5

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

For a one-parameter destructive delete with no output schema, the description covers what is deleted, which sibling covers the alternative use case, and what the caller gets back. Nothing essential is missing for correct invocation.

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

Parameters4/5

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

The schema only names connector_id as a required string with minLength 1. The description adds the operational meaning: it is the id of the saved connector being deleted. For a single obvious parameter this is enough, though no format or prefix guidance is given.

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 a precise verb and object: 'Delete one saved connector by id.' It also names the sibling update_connector, so an agent can distinguish deletion from configuration updates without inspecting other schemas.

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

Usage Guidelines5/5

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

It explicitly routes the 'change config' use case to update_connector and frames deletion as the operation that removes the saved connector. This gives clear selection criteria relative to the closely related sibling.

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

delete_decisionA
DestructiveIdempotent
Inspect

Delete one decision-memory record by id. Deletion is permanent; review with list_decisions first. Returns the deletion confirmation for the decision_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
decision_idYesDecision ID to delete.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already set destructiveHint=true, but the description adds the crucial detail 'Deletion is permanent' and clarifies that a deletion confirmation is returned for the decision_id. This goes beyond the structured hints without contradicting them.

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 packed sentences with no waste. The action verb is front-loaded, followed by a warning and a return-value note. Every phrase earns its place.

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

Completeness5/5

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

For a single-parameter deletion tool, the description covers the action, the permanence, the prerequisite review step, and the return value. Combined with full schema coverage and accurate annotations, nothing essential is missing.

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

Parameters3/5

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

Schema coverage is 100% and the parameter is already described as 'Decision ID to delete.' The description adds minimal semantic value, just reiterating the id-based targeting with 'by id.' Baseline 3 is appropriate.

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

Purpose5/5

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

States the specific verb 'delete' and resource 'decision-memory record' with id-based targeting. This clearly distinguishes it from siblings like list_decisions and get_decision.

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?

Provides a concrete guideline to review with list_decisions before deleting, which implies when this tool is appropriate. It does not explicitly name alternatives or when-not-to-use scenarios, but the permanent-deletion warning effectively discourages careless use.

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

delete_deploymentA
DestructiveIdempotent
Inspect

Request deprovisioning for one deployment by id. Deprovision with this before create_deployment when a deployment already exists. Returns status 'deprovisioning' with the deployment_id; deprovisioning is asynchronous, and an already-deprovisioned deployment fails with already_deprovisioned.

ParametersJSON Schema
NameRequiredDescriptionDefault
deployment_idYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already provide destructiveHint=true and idempotentHint=true, and the description adds meaningful context: the operation is asynchronous, returns status 'deprovisioning', and errors with already_deprovisioned. This goes beyond the structured annotations without contradicting them.

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?

Three tightly packed sentences: purpose, usage sequencing, and behavioral result. No filler, and the most important information is front-loaded.

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

Completeness4/5

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

For a single-parameter destructive async operation, the description covers purpose, sequencing, return status, and a key failure mode. It could mention how to observe completion or handle a missing deployment, but the annotation set and simple schema make this adequate.

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 deployment_id parameter. It only says 'by id' and echoes deployment_id without explaining the ID format, where to obtain it, or prerequisites such as the deployment existing. The parameter name and schema carry most of the meaning.

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

Purpose5/5

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

States a specific verb and resource: 'Request deprovisioning for one deployment by id.' It also distinguishes itself from create_deployment by explaining the lifecycle relationship, so an agent can tell which operation to select.

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?

Gives explicit context: use before create_deployment when a deployment already exists, and warns that already-deprovisioned deployments fail. It does not name an alternative like get_deployment for checking status, so it stops just short of full when-to-use/when-not-to-use guidance.

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

delete_triggerA
DestructiveIdempotent
Inspect

Delete one trigger by trigger_id (find ids with list_triggers). The trigger is removed immediately and will no longer fire automatically; its registration cannot be recovered from this tool. To stop a trigger temporarily instead, use pause_trigger. An unknown trigger_id fails with not_found. Returns trigger_id with deleted: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
trigger_idYesTrigger ID to delete.

TDQS

A4.1/5.0
Behavior1/5

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

Description contradicts annotations: idempotentHint: true while description says 'An unknown trigger_id fails with not_found', implying repeated deletes of the same id fail (since the id becomes unknown). This is not idempotent behavior. Otherwise the description is transparent about immediacy, permanence, and return value, but the contradiction forces a score of 1.

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?

Three sentences, front-loaded with the action, then consequences, alternative, error handling, and return. No wasted words; every sentence adds value.

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

Completeness5/5

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

For a simple one-parameter tool with no output schema, the description covers action, parameter sourcing, consequences, alternative, error case, and return format. Nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema already describes trigger_id as 'Trigger ID to delete' (100% coverage). Description adds how to obtain it (list_triggers) and error semantics (not_found), exceeding the baseline for high 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?

Description clearly states 'Delete one trigger by trigger_id' โ€“ a specific verb and resource. It also names the alternative (pause_trigger) and the source for IDs (list_triggers), fully distinguishing it from siblings.

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

Usage Guidelines5/5

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

Explicitly provides when to use (delete permanently) vs. alternative (use pause_trigger for temporary stop). Also tells the agent how to obtain the parameter (find ids with list_triggers) and what error to expect (not_found).

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

disable_skillA
DestructiveIdempotent
Inspect

Disable one skill by deleting its capability binding (find binding ids with list_skills or list_capability_bindings). The skill immediately stops appearing in the capability catalog and can no longer be routed or executed; the deletion is permanent. Returns binding_id with disabled: true. Use this only for permanent removal โ€” re-enabling later requires a fresh enable_skill call.

ParametersJSON Schema
NameRequiredDescriptionDefault
binding_idYesSkill binding id from list_skills.

TDQS

A4.9/5.0
Behavior5/5

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

The description adds concrete behavioral details beyond annotations: the skill immediately disappears from the capability catalog, is no longer routable or executable, and deletion is permanent. It also states the return shape, all consistent with the destructiveHint and idempotentHint annotations.

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?

Three focused sentences deliver the mechanism, immediate effects, permanence, return value, and usage restriction with no filler. The most important caveat ('permanent removal') is front-loaded and repeated clearly.

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

Completeness5/5

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

For a one-parameter tool with no output schema, the description is complete: it gives the required identifier source, the behavioral outcome, the return value, and the usage boundary. An agent has everything needed to decide and execute correctly.

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

Parameters4/5

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

The schema already fully documents the single binding_id parameter, so the baseline is 3. The description adds useful sourcing guidance by telling the agent to find binding ids via list_skills or list_capability_bindings, which goes beyond the schema.

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 (disable one skill) and the exact mechanism (deleting its capability binding), and clarifies the permanent consequence. It clearly differentiates from adjacent tools like enable_skill and list_capability_bindings.

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

Usage Guidelines5/5

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

It explicitly scopes usage to permanent removal only and mentions that re-enabling later requires a fresh enable_skill call, which names the relevant alternative. This gives an agent clear guidance on when to invoke this tool versus others.

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

disconnect_dataA
DestructiveIdempotent
Inspect

Delete a saved dataset and disconnect it from future use. When no other dataset in the workspace still uses the backing saved connection, that connection is deleted too and connection_deleted is true in the response. Requires manage permission on the dataset (access_scope_denied otherwise); an unknown dataset_id fails with not_found. Use list_data to confirm the dataset first โ€” deletion is immediate. Returns dataset_id, status 'deleted', and connection_deleted.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idYesDataset ID from connect_data or list_data.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark destructive and idempotent, but the description adds crucial details: the conditional deletion of the backing connection, the connection_deleted flag, permission requirements, error cases, and immediate execution. No contradictions with annotations.

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?

Three sentences, no waste. The main purpose is front-loaded, followed by side effects, errors, and usage hint. Every sentence adds essential information.

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

Completeness5/5

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

Fully complete for a destructive action with side effects. It covers purpose, side effects, permission, errors, usage guidance, and return fields (dataset_id, status, connection_deleted) despite having no output schema.

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

Parameters3/5

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

Schema coverage is 100% and already describes dataset_id. The description adds minor value by specifying where to obtain the ID (from connect_data or list_data), but this is a small enhancement over the schema baseline.

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

Purpose5/5

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

States a specific action (delete) on a specific resource (saved dataset) and clarifies the additional side effect on the backing connection. This distinguishes it from sibling delete tools like delete_connector or revoke_api_key.

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?

Provides clear context on when to use (to delete a dataset) and offers a prerequisite hint to confirm with list_data first. It does not explicitly name alternatives, but the scope is unambiguous given the sibling set.

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

discover_capability_bindingAInspect

Discover the capabilities one binding exposes and return them as catalog entries. Pass binding_id to discover a saved binding (this publishes or refreshes its capabilities in the catalog), or a full inline definition to preview-discover one that was never saved. Call this after create_capability_binding, then browse the result with list_capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoScope for the inline preview form.
configNoCredentials/options for the inline preview form.
scope_refNoScope reference for the inline preview form.
binding_idNoSaved binding id to discover; omit to preview inline.
profile_idNoProfile id for the inline preview form.
provider_idNoProvider id for the inline preview form.
execution_ownerNoExecution owner for the inline preview form.
customer_metadataNoMetadata for the inline preview form.

TDQS

A4.3/5.0
Behavior4/5

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

The description transparently discloses the side-effect behavior for saved bindings ('this publishes or refreshes its capabilities in the catalog'), which aligns with readOnlyHint=false and idempotentHint=false. It also clarifies that inline definitions are only previewed ('never saved'), adding behavioral nuance beyond the annotations. No contradiction with annotations was found.

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?

Three sentences, each earning its place: the first states the core outcome, the second contrasts the two usage modes, and the third gives concrete lifecycle context. The most important scoping information is front-loaded, and no filler or redundant wording exists.

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 description covers purpose, modes, and workflow but leaves a key gap: it never specifies what constitutes a valid 'full inline definition' (e.g., which of the seven inline fields are required together). With zero required parameters in the schema, an agent could reasonably call the tool with neither binding_id nor an inline definition. The schema's per-field descriptions mitigate but do not close this ambiguity, and there is no output schema to describe the returned catalog entry structure.

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

Parameters4/5

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

Schema description coverage is 100%, providing baseline value. The description goes further by grouping parameters conceptually: binding_id for saved discovery versus the other parameters forming 'a full inline definition' for preview. This mode-level semantics helps an agent understand how to choose among the eight optional parameters without repeating the schema text.

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 and resource: 'Discover the capabilities one binding exposes and return them as catalog entries.' It clearly differentiates the two modes (saved binding via binding_id vs inline preview) and references sibling tools (create_capability_binding, list_capabilities), making its role in the capability lifecycle unmistakable.

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 explicit sequencing guidance: 'Call this after create_capability_binding, then browse the result with list_capabilities.' It also explains when to use binding_id versus an inline definitioniciously. However, it does not explicitly distinguish this from test_capability_binding or state when not to use it, so the guidance falls short of a full when/when-not specification.

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

embeddingsA
Read-only
Inspect

Generate one embedding vector per input string (a single string or a list of strings). The default text.hash_embedding_v1 model produces deterministic lexical hash embeddings โ€” identical input always yields the identical vector; provider-backed embedding models advertised by list_models are routed through the configured provider service. Use embedding_similarity to score two vectors or rerank to order documents against a query vector. Read-only; nothing is stored. Returns one {index, embedding, token_count} item per input plus total token usage. An unsupported model id fails with model_not_supported.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesText to embed: one string, or a list embedded item by item.
modelNoEmbedding model id from list_models.text.hash_embedding_v1
dimensionsNoLength of each returned embedding vector.

TDQS

A4.9/5.0
Behavior5/5

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

The annotations already provide readOnlyHint, openWorldHint, and destructiveHint, and the description adds substantial behavioral context beyond them: deterministic outputs for the default model, provider routing, the fact that nothing is stored, the exact per-item return shape, total token usage, and the specific model_not_supported error. This is rich, non-redundant 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 information-dense but every sentence earns its place: primary behavior, model behavior, sibling routing, read-only safety, return format, and error semantics. The core action and key distinction are front-loaded, and nothing is padded or redundant with the schema.

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

Completeness5/5

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

For a 3-parameter tool with no output schema, the description covers everything an agent needs to invoke it correctly: input shape, model selection behavior, return item structure, token usage reporting, error behavior, and read-only semantics. The sibling navigation is also explicitly handled. Nothing material is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful semantic value for the model parameter: it names the default model, explains that it is deterministic and lexical, and clarifies that provider-backed models are advertised by list_models. It also clarifies the input cardinality for the input parameter. These additions raise it above baseline.

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 precise action and resource: 'Generate one embedding vector per input string.' It also distinguishes between the default deterministic hash model and provider-backed models, and explicitly routes the agent to sibling tools (embedding_similarity, rerank) for different operations, making it unmistakable 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 Guidelines5/5

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

The description explicitly tells the agent when to use this tool versus related alternatives: 'Use embedding_similarity to score two vectors or rerank to order documents against a query vector.' It also clarifies the model source (list_models) and the failure mode for unsupported models, leaving no ambiguity about invocation context.

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

embedding_similarityA
Read-onlyIdempotent
Inspect

Score the similarity between two caller-supplied embedding vectors with a supported deterministic metric (default embeddings.cosine_similarity). This tool does not generate embeddings from text โ€” call embeddings first to produce the vectors. left and right must have equal length or the call fails with invalid_embedding_dimensions. Read-only and deterministic. Returns the resolved model id, similarity_metric, the score, and the shared vector dimension.

ParametersJSON Schema
NameRequiredDescriptionDefault
leftYesFirst embedding vector; length must equal right's.
modelNoSimilarity model id from list_models; selects the metric.embeddings.cosine_similarity
rightYesSecond embedding vector; length must equal left's.

TDQS

A4.7/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint, idempotentHint), the description discloses deterministic behavior, the exact failure condition (invalid_embedding_dimensions on unequal lengths), and the precise return fields. This is substantive behavioral context that an agent needs to handle errors and interpret results.

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?

Four sentences, each earning its place: purpose, key exclusion, constraint/failure, and read-only/return behavior. Information is front-loaded and there is no filler or repetition of schema content.

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

Completeness5/5

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

Despite lacking an output schema, the description names all returned fields (resolved model id, similarity_metric, score, shared vector dimension) and the failure mode. Given the simple parameter set and strong annotations, nothing an agent needs to call correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds real value by specifying that left and right must have equal length or the call fails, and by noting that model selects the metric (reinforcing the schema's own note). This failure-mode detail is not in the schema, so the score is above baseline.

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

Purpose5/5

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

States a specific verb ('Score') and resource ('similarity between two caller-supplied embedding vectors') and explicitly differentiates itself from embeddings generation by naming the embeddings tool as the prerequisite. This makes it unmistakable among the large sibling set.

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?

Provides clear usage context by stating that embeddings must be produced first and that this tool does not generate them. It stops short of naming alternative similarity/ranking tools or giving explicit 'when not to use' instructions beyond the embeddings prerequisite, but the guidance is unambiguous for the core workflow.

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

enable_skillAInspect

Enable one prompt skill as a first-class capability binding and return its discovered catalog entry. The skill's instruction text becomes an instruction_only capability under the caller's user scope, selectable by route_capabilities. Persists a new binding; remove it with disable_skill. Use list_skills to see what is already enabled.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoOptional routing tags.
skill_nameYesSkill name; also names the new binding.
descriptionNoOptional human-readable summary of the skill.
instructionYesInstruction text the skill injects when selected.
execution_ownerNoWhere executions run; defaults to client_managed.
artifact_affinitiesNoOptional artifact affinities for routing.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations (readOnlyHint=false, destructiveHint=false, idempotentHint=false) indicate this is a mutating, non-idempotent operation, but the description goes further by explicitly stating that it 'Persists a new binding', which implies state change and non-idempotency. It also reveals the routing behavior through route_capabilities and scope under the caller's user scopeโ€”valuable context not covered by annotations.

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 three sentences, front-loading the primary outcome, and each sentence serves a purpose: first states action and result, second describes the internal mechanics, third provides lifecycle guidance. No fluff or repetition.

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

Completeness4/5

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

For a mutation tool with no output schema and no annotations covering side effects, the description adequately covers the persistence and removal. It doesn't explicitly state what happens if the skill already exists (e.g., overwrite vs. duplicate), but given the non-idempotentHint and the presence of list_skills, this is a minor gap. The description is complete enough for an agent to call correctly.

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

Parameters3/5

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

Schema coverage is 100%, so all six parameters are documented in the schema itself. The description adds no new parameter-specific semantics beyond what the schema provides (e.g., it doesn't explain how tags or artifact_affinities are used in routing). Given full schema coverage, baseline 3 is appropriate; the description's mention of 'instruction text' aligns with the 'instruction' parameter but doesn't add extra.

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

Purpose5/5

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

The description clearly states the verb ('Enable') and direct resource ('one prompt skill') as a 'first-class capability binding', with a concrete outcome: the skill's instruction text becomes an instruction_only capability selectable by route_capabilities. It also names two siblings (disable_skill, list_skills) for lifecycle management, distinguishing this from them.

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 gives clear context: when you want to enable a skill as a binding, and explicitly says to use disable_skill to remove it and list_skills to see what's enabled. It lacks explicit 'when not to use' or mention of alternatives for creating other binding types (e.g., create_capability_binding), but the sibling pair is clearly named.

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

execute_capabilityAInspect

Execute one routed or known algenta_managed capability by capability id and return the execution receipt. client_managed routes must execute in the customer app or adapter path โ€” this tool will not run them. If the capability requires approval (approval_required), this returns a pending plan (status='approval_required', plus plan_id/plan_hash/nonce) instead of executing โ€” approval and the final plan_id execution are separate, credentialed HTTP operations and are NOT available as tools. Route first with route_capabilities when the right capability is not known.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputNoCapability-specific execution input.
binding_idNoOptional binding id to disambiguate the execution target.
request_idNoOptional caller request id for correlation.
capability_idYesCapability id from route_capabilities or list_capabilities.

TDQS

A4.6/5.0
Behavior5/5

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

The description discloses important behavioral traits beyond the annotations: it returns a pending plan instead of executing when approval is required, it refuses client_managed routes, and it notes that approval and final execution are separate credentialed HTTP operations not exposed as tools. These details materially shape agent expectations.

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 packs the core action, return type, routing constraint, approval behavior, and alternative tool recommendation into three focused sentences. No sentence is wasted, and the primary action is front-loaded.

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

Completeness4/5

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

The tool is complex, has no output schema, and accepts nested objects, but the description covers the critical operational paths: execution, client_managed exclusion, approval-required behavior, and routing prerequisites. It stops short of describing the execution receipt's structure or possible failure modes, which is a minor gap given the open-world output.

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 100%, so the input schema already documents capability_id, input, binding_id, and request_id. The description adds only modest value by noting capability_id originates from route_capabilities or list_capabilities, which is helpful but not a substantial enhancement over the schema.

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 (execute) on a specific resource (an algenta_managed capability by capability id) and explicitly defines the return value (execution receipt). It also distinguishes itself from routing tools by clarifying that it executes known or routed capabilities, not routing itself.

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

Usage Guidelines5/5

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

It gives explicit when-to-use guidance: only for routed or known algenta_managed capabilities. It further states exclusions (client_managed routes will not run here), the approval-required alternative behavior, and prioritizes route_capabilities when the right capability is unknown.

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

execute_decisionA
Idempotent
Inspect

Dispatch a logged decision to an external webhook and persist the execution receipt. Use record_outcome instead when reporting a result rather than dispatching an action. Returns the delivery receipt: decision_id, webhook_url, execution_status, response_code, executed_at, and the policy and schema snapshot ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoOverride the idempotency gate for one re-execution.
metadataNoOptional key-value pairs merged into the webhook payload.
decision_idYesDecision ID from log_decision or list_decisions.
webhook_urlYesHTTPS webhook that should receive the decision payload.
override_safetyNoBypass confidence and risk-floor policy gates for this execution.
timeout_secondsNoWebhook timeout in seconds.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare the tool non-readOnly, non-destructive, and idempotent. The description adds meaningful behavioral context by mentioning the external webhook delivery, persistence of the execution receipt, and the exact receipt fields returned. It does not contradict the annotations, and it provides enough side-effect context for an agent to understand the operation.

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 well-structured sentences: purpose first, alternative routing second, and return details in a compact list. There is no filler or redundant repetition of schema property names. It earns its place with high information density.

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

Completeness4/5

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

With no output schema, the description usefully enumerates the receipt fields, compensating for that gap. Parameters are fully documented in the schema, and annotations cover idempotency and safety expectations. It does not describe error conditions, retry behavior, or webhook authentication, but those are not essential for selecting and invoking the tool correctly.

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 100%, so every parameter is already documented in the input schema. The description adds little to the parameter-level explanation beyond labeling the action as dispatching to a webhook and describing the receipt fields. This meets the baseline for schema-complete parameters but does not elevate it.

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 a specific verb and object: 'Dispatch a logged decision to an external webhook and persist the execution receipt.' This clearly distinguishes the tool from record_outcome and other siblings by naming the alternate usage. The return value list further specifies what the tool accomplishes.

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

Usage Guidelines5/5

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

It explicitly states a when-not condition: 'Use record_outcome instead when reporting a result rather than dispatching an action.' This gives an agent a clear decision rule for choosing between closely related tools. The overall purpose also implies when to use this tool: when a logged decision needs to be dispatched and a receipt persisted.

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

execute_runtime_libraryA
Read-onlyIdempotent
Inspect

Execute one public function from an Algenta runtime library with positional args and return its result, latency_ms, engine_used, and request_id. Call list_runtime_libraries first to discover exact module and function names โ€” an unknown pair fails with module_not_registered or function_not_registered, and a mismatched args list fails with invalid_arguments. Synchronous compute; nothing is persisted.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoPositional argument list passed to the function.
moduleYesRuntime library module name from list_runtime_libraries.
functionYesPublic function exported by the module.
request_idNoOptional caller request id for correlation.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior; the description adds valuable behavioral context: errors (module_not_registered, function_not_registered, invalid_arguments), synchronous execution, and the fact that nothing is persisted. This exceeds what the annotations convey.

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?

Three sentences, with the core purpose front-loaded, followed by prerequisite guidance and behavioral caveats. Every sentence earns its place and there is no redundant restatement of the schema.

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

Completeness5/5

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

Given no output schema, the description names the return fields, explains the discovery prerequisite, covers likely error conditions, and clarifies side effects. An agent has what it needs to decide when and how to call this tool.

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 100%, so the parameters are already documented; the description adds the clarification that args are positional and that request_id is echoed in the response, but it does not need to compensate for gaps. Baseline 3 is appropriate.

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 ('execute') and resource ('one public function from an Algenta runtime library') and states the exact return values. This clearly distinguishes it from the sibling list_runtime_libraries, which only enumerates available libraries.

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

Usage Guidelines5/5

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

It explicitly instructs the agent to call list_runtime_libraries first to discover valid module and function names, and it describes the failure modes for unknown or mismatched inputs. This is concrete when-to-use guidance, including the prerequisite step and exclusions.

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

fire_triggerAInspect

Manually fire a trigger โ€” evaluates its condition and runs the simulation template regardless of whether the threshold is currently met. Useful for testing triggers or forcing an immediate evaluation. Use pause_trigger to stop automatic firing without deleting the trigger. Returns trigger_id, condition_met, fired, simulation_run_id, recommended_action, expected_value, confidence, and fired_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
forceNoWhen true, run simulation even if the condition is not currently met (default: false).
trigger_idYesTrigger ID from register_trigger or list_triggers.

TDQS

A4.5/5.0
Behavior4/5

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

Discloses the manual behavior, the bypassing of threshold checks, and the returned fields. It also adds context beyond annotations by clarifying that this is a forced/manual evaluation and does not delete the trigger. Slight ambiguity remains because the description says runs 'regardless of whether the threshold is currently met' while the force parameter defaults to false, but this is not a contradiction with the annotations.

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?

Three dense sentences with no filler. The primary behavior, use case, alternative, and return value are all front-loaded and each sentence earns its place.

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

Completeness5/5

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

Despite lacking an output schema, the description explicitly enumerates all return fields. It also covers when to use the tool and how it relates to pause_trigger, making it complete enough for an agent to invoke correctly.

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

Parameters3/5

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

Schema coverage is 100%, so the parameters are already fully documented. The description adds operational context but does not add meaning beyond the schema's own parameter descriptions, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

States a specific verb ('fire'), a concrete resource ('trigger'), and the core effect: evaluate the condition and run the simulation template. It clearly differentiates from sibling tools like pause_trigger and register_trigger by describing what this action does.

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

Usage Guidelines5/5

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

Explicitly explains when to use it: 'testing triggers or forcing an immediate evaluation.' It also names the relevant alternative, pause_trigger, and explains the difference: pausing stops automatic firing without deleting the trigger.

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

get_agent_runA
Read-onlyIdempotent
Inspect

Fetch one persisted agent run by run_id: status, task, selected_tool, steps, result, tools_used, and the policy/schema snapshot ids it ran under. Use list_agent_runs to find run ids, get_agent_run_events for its event trail, and get_agent_run_checkpoints for replay checkpoints. Read-only; an unknown run_id fails with agent_run_not_found.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesRun id returned by create_agent_run or list_agent_runs.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description reinforces read-only behavior. It adds value beyond annotations by specifying the exact error for an unknown run_id (agent_run_not_found) and enumerating the returned fields, giving the agent a fuller picture of the call'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.

Conciseness5/5

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

The description is two sentences, front-loaded with the core action and returned fields, then usage guidance and error behavior. No redundant wording or filler.

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

Completeness5/5

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

With no output schema, the description compensates by listing the returned fields and the error condition. For a single-parameter, read-only tool, this is complete guidance for correct invocation and interpretation.

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 100% and the schema already explains run_id as the id returned by create_agent_run or list_agent_runs. The description adds no new parameter semantics beyond that, so the baseline score of 3 is appropriate.

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 fetches one persisted agent run by run_id and lists the exact fields returned (status, task, selected_tool, steps, result, tools_used, snapshot ids). It also names sibling tools that serve different purposes, making it easy to distinguish from list_agent_runs, get_agent_run_events, and get_agent_run_checkpoints.

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

Usage Guidelines5/5

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

The description explicitly says to use list_agent_runs to find run ids, get_agent_run_events for the event trail, and get_agent_run_checkpoints for replay checkpoints. This provides clear when-to-use guidance and routes the agent away from this tool for those needs.

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

get_agent_run_checkpointsA
Read-onlyIdempotent
Inspect

List the persisted checkpoints of one agent run โ€” the deterministic snapshots written at creation and every lifecycle transition that make the run replayable. Use query_agent_run_checkpoints to search checkpoints across runs. Read-only; an unknown run_id fails with agent_run_not_found. Returns the run's checkpoint records.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesRun id returned by create_agent_run or list_agent_runs.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations mark read-only/idempotent, but the description adds meaningful context: checkpoints are persisted deterministic snapshots created at lifecycle transitions, and unknown run_ids fail with agent_run_not_found. This explains behavior beyond the annotation flags.

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?

Three focused sentences: purpose, sibling routing, then read-only/error/return behavior. Front-loaded and every clause adds value.

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

Completeness5/5

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

For a one-parameter read-only tool, the description covers scope, error behavior, and return object at a high level. No output schema exists, but the description tells the agent what to expect and when to use it; annotations cover safety.

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 already covers the sole run_id parameter at 100% with guidance on where to obtain it. Description adds only the error condition for invalid IDs, so it does not need to compensate; baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource ('List persisted checkpoints of one agent run') and explicitly contrasts with sibling query_agent_run_checkpoints. An agent can identify exactly what this returns and how it differs.

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

Usage Guidelines5/5

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

Directs agents to query_agent_run_checkpoints for cross-run searches, making the single-run vs across-run choice explicit. Also notes unknown run_id failure condition, adding operational guidance.

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

get_agent_run_eventsA
Read-onlyIdempotent
Inspect

Fetch the append-only event stream of one agent run โ€” run_created, tool_selected, tool_executed, run_completed, and the pause/approve/cancel transitions โ€” in order. Use get_agent_run_mission_events for the canonical mission-event projection of the same trail. Read-only; an unknown run_id fails with agent_run_not_found. Returns data plus total_events.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum events returned, up to 1000; defaults to 1000.
run_idYesRun id returned by create_agent_run or list_agent_runs.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and destructiveHint, and the description adds further behavioral detail: append-only semantics, event ordering, specific failure behavior, and the return summary. No contradiction with annotations.

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?

Three dense sentences with no filler. The core purpose is front-loaded, and each clause adds value: event types, ordering, alternative tool, read-only status, failure behavior, and return shape.

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

Completeness5/5

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

For a two-parameter read tool with strong annotations, the description provides everything needed: event domain, ordering, relation to the sibling tool, failure mode, and return summary. The lack of an output schema is mitigated by the explicit return description.

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 100%, and the schema already explains run_id provenance and limit defaults. The description adds error behavior tied to run_id, but no new parameter format or semantics, so the baseline of 3 is appropriate.

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 and resource: 'Fetch the append-only event stream of one agent run'. It enumerates the event types, states ordering, and explicitly distinguishes the tool from get_agent_run_mission_events, making selection unambiguous.

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

Usage Guidelines5/5

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

The description explicitly routes to the sibling tool for the canonical mission-event projection, which clarifies when not to use this tool. It also states the read-only nature and the failure mode for unknown run_id.

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

get_agent_run_mission_eventsA
Read-onlyIdempotent
Inspect

Fetch the canonical mission-event records of one agent run โ€” the typed, indexed projection of its lifecycle used for audit and replay. Use get_agent_run_events for the raw append-only stream and query_agent_run_mission_events to search mission events across runs. Read-only; an unknown run_id fails with agent_run_not_found. Returns the run's canonical mission-event records.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum events returned, up to 1000; defaults to 1000.
run_idYesRun id returned by create_agent_run or list_agent_runs.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the bar is lower. The description adds useful behavioral context: it is read-only, an unknown run_id fails with agent_run_not_found, and it returns the run's canonical mission-event records. This exceeds what the annotations alone provide, though it does not detail response ordering or field-level 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 three concise sentences with no filler. The core purpose is front-loaded, followed by differentiation from siblings and then behavioral/error details, making it easy to scan.

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

Completeness5/5

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

For a two-parameter read-only tool with complete schema coverage and safe annotations, the description covers selection, behavior, error condition, and return intent. No output schema exists, and the description adequately states that the tool returns canonical mission-event records without needing to enumerate response fields.

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 100%, so the schema already documents run_id and limit well. The description adds the contextual note that run_id selects 'one agent run' and mentions the error for an unknown run_id, but it does not add substantial meaning beyond the schema's own parameter 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 states a specific verb ('Fetch') and resource ('canonical mission-event records of one agent run'), and clarifies it as 'the typed, indexed projection of its lifecycle used for audit and replay.' It explicitly distinguishes itself from get_agent_run_events and query_agent_run_mission_events, so an agent can select it unambiguously.

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

Usage Guidelines5/5

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

The description gives explicit routing guidance: use get_agent_run_events for the raw append-only stream and query_agent_run_mission_events to search mission events across runs. This clearly states the condition for choosing this tool versus the relevant alternatives.

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

get_agent_run_telemetryA
Read-onlyIdempotent
Inspect

Fetch the runtime telemetry batches recorded for one agent run โ€” the module-level timing and execution detail captured while it ran. Use query_agent_run_telemetry to search telemetry across runs by kind or module. Read-only; an unknown run_id fails with agent_run_not_found. Returns the run's telemetry batches.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum batches returned, up to 1000; defaults to 1000.
run_idYesRun id returned by create_agent_run or list_agent_runs.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds the specific error condition 'agent_run_not_found' for unknown run_id, which is beyond what annotations provide. It also clarifies the return type (telemetry batches), though that's somewhat redundant with the purpose. The added error detail elevates it above baseline.

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?

Three sentences with no filler. The main action and scope are front-loaded, followed by a sibling reference, an error note, and a return statement. Every sentence adds value and the structure is efficient.

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

Completeness5/5

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

Given the simple read-only nature, two well-documented parameters, and the annotations covering safety, the description is complete. It includes the error behavior and states the return type. No critical information is missing for an agent to correctly invoke this tool.

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 100%, with both 'run_id' and 'limit' fully described in the schema. The description does not add additional parameter-level semantics, which is acceptable given the schema's completeness. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the specific verb 'Fetch' and resource 'runtime telemetry batches recorded for one agent run', and explicitly differentiates from sibling query_agent_run_telemetry which searches across runs. An agent can immediately distinguish this tool from its siblings without needing to inspect schemas.

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

Usage Guidelines5/5

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

It explicitly directs when to use the alternative query_agent_run_telemetry for cross-run searches, and also notes the error case for unknown run_id. This gives clear contextual guidance on when this tool is appropriate versus when to choose another.

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

get_analyticsA
Read-onlyIdempotent
Inspect

Get aggregate usage analytics over the organization's simulation runs inside a lookback window: total_simulations, avg_confidence, action_breakdown (how recommended actions distribute), and latency_p95_ms. days sets the window (default 30, range 1-365). Use list_runs for individual runs instead of aggregates. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNoLookback window in days

TDQS

A4.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered. The description adds useful context about the lookback window and returned metrics, but does not describe response format, pagination, or failure behavior. This is helpful but not rich beyond annotations.

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?

Three short sentences front-load the purpose, then list metrics, parameter details, and the alternative tool. Every sentence earns its place; the only redundancy is 'Read-only,' which mirrors the annotation but does not bloat the description.

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

Completeness5/5

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

For a one-optional-parameter read-only analytics call with no output schema, the description names all returned metrics, documents the window default and range, and gives an alternative. An agent can invoke it and interpret the response without needing further information.

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

Parameters4/5

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

Schema coverage is 100% with a default, so the baseline is 3. The description adds the explicit range 1-365 and confirms that days controls the window, going beyond the schema's terse 'Lookback window in days'.

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 a specific verb and resource ('Get aggregate usage analytics over the organization's simulation runs'), enumerates the returned metrics, and explicitly frames this as aggregates versus individual runs. This makes it clearly distinguishable from list_runs and other siblings.

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

Usage Guidelines5/5

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

It explicitly says 'Use list_runs for individual runs instead of aggregates,' giving a direct alternative and the condition that selects it. The aggregate-versus-individual contrast tells the agent when this tool is appropriate versus its closest sibling.

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

get_audit_log_artifactsA
Read-onlyIdempotent
Inspect

Query the organization's immutable Parquet audit-log artifacts with pagination (defaults page 1, limit 25) and exact-match filters, including content_hash for pinpointing one artifact. Artifacts are the tamper-evident copy of the audit trail; use get_audit_logs for the live audit-event table. Requires an admin API key; a workspace-scoped key sees only its own workspace's artifacts. Read-only. Returns entries plus total, page, limit, and pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number; defaults to 1.
limitNoEntries per page, up to 100; defaults to 25.
actionNoKeep only artifacts with this action.
resultNoKeep only artifacts with this result value.
actor_emailNoKeep only artifacts by this actor email.
content_hashNoKeep only the artifact with this content hash.
request_hashNoKeep only artifacts tied to this request hash.
resource_typeNoKeep only artifacts against this resource type.
manifest_versionNoKeep only artifacts tied to this runtime manifest version.
policy_snapshot_idNoKeep only artifacts tied to this execution-policy snapshot.
schema_snapshot_idNoKeep only artifacts tied to this schema snapshot.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, and non-destructive traits, and the description reinforces those while adding beyond them: artifacts are immutable and tamper-evident, admin API keys are required, workspace-scoped keys see only their own artifacts, and the response shape includes entries, total, page, limit, and pages. This is useful behavioral context that annotations alone do not provide.

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 immediately informative: the first sentence states the resource, pagination, and filter nature, and the remaining sentences cover the key behavioral distinctions and auth requirements. Every sentence carries purposeful information, with no repetition or filler beyond reinforcing the read-only trait already in annotations.

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

Completeness5/5

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

For an 11-parameter read-only query tool with no output schema, the description provides the essential operating context: pagination defaults, filter semantics, artifact immutability, auth requirements, scoping behavior, and return fields. The parameter-level details are already fully documented in the input schema, so nothing critical is missing for correct invocation.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value by stating the filters are exact-match and by highlighting content_hash as a way to pinpoint one artifact, which is not explicit in the schema. It also summarizes pagination defaults already in the schema, so the added semantic load is moderate but meaningful.

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 ('Query'), a concrete resource ('the organization's immutable Parquet audit-log artifacts'), and states its core function clearly. It also explicitly differentiates from the sibling 'get_audit_logs' by calling out the live audit-event table, so an agent can distinguish the two tools without inspecting schemas.

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

Usage Guidelines5/5

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

It explicitly says to use 'get_audit_logs' for the live audit-event table, framing the current tool as the tamper-evident artifact counterpart. It also states the admin-key requirement and workspace-scoped visibility, giving clear guidance on when this tool is appropriate and what privileges are needed.

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

get_audit_logsA
Read-onlyIdempotent
Inspect

Query the organization's audit-event log, newest first, with pagination (defaults page 1, limit 25) and exact-match filters. Every entry records who did what to which resource with which result; an org with no events returns an honest empty page. Requires an admin API key. Use get_audit_log_artifacts for the immutable Parquet artifact copy, and filter by policy_snapshot_id, schema_snapshot_id, manifest_version, or request_hash to trace one execution. Read-only. Returns entries plus total, page, limit, and pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number; defaults to 1.
limitNoEntries per page, up to 100; defaults to 25.
actionNoKeep only events with this action, e.g. execution_policy.update.
resultNoKeep only events with this result value.
actor_emailNoKeep only events by this actor email.
request_hashNoKeep only events tied to this request hash.
resource_typeNoKeep only events against this resource type.
manifest_versionNoKeep only events tied to this runtime manifest version.
policy_snapshot_idNoKeep only events tied to this execution-policy snapshot.
schema_snapshot_idNoKeep only events tied to this schema snapshot.

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the read-only/idempotent/non-destructive annotations, the description adds behavioral details: newest-first ordering, pagination defaults, honest empty page behavior, admin key requirement, and return shape (entries, total, page, limit, pages). This substantially enriches the agent's understanding.

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 information-dense yet efficient, covering purpose, pagination, filters, empty behavior, auth, alternative tool, and return fields in a few sentences. It is front-loaded with the main purpose and avoids redundancy.

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

Completeness5/5

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

For a tool with 10 parameters and no output schema, the description provides a complete picture: purpose, behavioral traits, auth prerequisite, pagination, filters, return format, and differentiation from a sibling. Nothing critical is missing for an agent to call it correctly.

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

Parameters4/5

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

Schema coverage is 100% so the baseline is 3. The description adds value by framing certain filters (policy_snapshot_id, schema_snapshot_id, manifest_version, request_hash) as a way to trace one execution, providing context beyond the individual parameter descriptions. It also states pagination defaults which reinforce the schema, but does not fully compensate for the lack of enums or value examples.

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 queries the organization's audit-event log with specific verb and resource, and distinguishes it from the sibling get_audit_log_artifacts. It also mentions pagination and exact-match filters, making the purpose unambiguous.

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

Usage Guidelines5/5

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

It explicitly directs users to get_audit_log_artifacts for the immutable Parquet artifact copy, and suggests filtering by specific fields to trace an execution. It also notes the admin API key requirement, giving clear when-to-use and alternative guidance.

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

get_billing_infoA
Read-onlyIdempotent
Inspect

Get current billing plan and subscription info for the active organization. Read-only and non-destructive; not separately rate-limited. Use create_billing_checkout or create_billing_portal to change anything. Returns plan, stripe_customer_id, subscription_status, and current_period_end.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds useful context beyond annotations: it is 'not separately rate-limited' and scoped to the active organization. It also states the returned fields, which is helpful since there is no 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?

Three short sentences, each carrying distinct value: what it returns, its safety and rate-limit profile, and which sibling tools to use for mutations. It is front-loaded and contains no filler.

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

Completeness5/5

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

For a no-parameter read-only tool, the description fully covers purpose, behavior, alternatives, and return fields. Nothing essential is missing for an agent to select and invoke it correctly.

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

Parameters4/5

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

The tool has zero parameters and the input schema is empty, so the description correctly avoids inventing parameters. The mention of 'active organization' clarifies the implicit execution scope, adding meaning beyond the bare schema.

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 operation ('Get'), the resource ('current billing plan and subscription info'), and the scope ('for the active organization'). It also distinguishes itself from the related billing mutation tools by name, so an agent can identify it without opening schemas.

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

Usage Guidelines5/5

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

Explicitly says it is read-only and non-destructive, and directs the agent to create_billing_checkout or create_billing_portal for any changes. This gives clear when-to-use versus when-not-to-use guidance and names the exact alternatives.

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

get_capabilityA
Read-onlyIdempotent
Inspect

Fetch one unified capability catalog entry by capability_id: kind, provider, binding, execution owner, approval requirement, and tags. include_instruction=true also returns the skill instruction text. Find capability ids with list_capabilities or route_capabilities. Read-only; an unknown id fails with not_found.

ParametersJSON Schema
NameRequiredDescriptionDefault
capability_idYesCapability id from list_capabilities or route_capabilities.
include_instructionNoAlso return the instruction text for skill capabilities.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds a useful error condition ('unknown id fails with not_found') and the conditional include_instruction behavior beyond what annotations provide.

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?

Three tight sentences, front-loaded with the primary purpose and returned fields. No filler; each sentence adds a distinct piece of information.

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

Completeness4/5

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

For a simple single-entry fetch tool with rich annotations, the description covers id source, return contents, optional instruction text, and error behavior. The lack of an output schema makes exact response-shape details unspecified, but the description is sufficient for correct invocation.

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 100%, so both parameters are already documented. The description mostly restates the include_instruction flag's effect and provides no additional syntax, constraints, or default information beyond the schema.

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 ('Fetch') and resource ('capability catalog entry by capability_id'), and enumerates the returned fields. It clearly distinguishes this as a single-entry read tool from list/route siblings.

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 explicitly says to find capability ids via list_capabilities or route_capabilities and notes the read-only nature and not_found behavior. It does not spell out when not to use it versus alternatives, but the context is clear.

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

get_connectorA
Read-onlyIdempotent
Inspect

Fetch one saved connector by connector_id: name, connector_type, status, visibility, timestamps, and the config fingerprint โ€” never the stored credentials. Use list_connectors to find ids. Read-only; an unknown or invisible id fails with not_found.

ParametersJSON Schema
NameRequiredDescriptionDefault
connector_idYesSaved connector id from list_connectors.

TDQS

A4.9/5.0
Behavior5/5

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

The annotations already declare readOnlyHint and idempotentHint, and the description adds valuable context beyond that: it explicitly promises credentials are never returned, enumerates the visible fields, and documents the not_found failure condition for unknown or invisible IDs. This fully covers behavioral expectations without contradicting the annotations.

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?

Three tight sentences with no filler: the resource and return fields come first, the ID-finding guidance follows, and the safety/failure behavior closes the description. Every sentence earns its place.

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

Completeness5/5

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

For a single-parameter read tool with no output schema and strong annotations, the description is complete: it names the parameter source, enumerates return fields, discloses credential exclusion, and states the error condition. Nothing essential is missing for an agent to call it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful value by naming connector_id as the lookup key and telling the agent to source it from list_connectors. It also clarifies that an invalid or invisible ID leads to not_found, which enriches the parameter's semantics beyond the schema description.

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

Purpose5/5

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

States a specific verb ('Fetch'), the exact resource ('one saved connector by connector_id'), and enumerates the returned fields, which clearly distinguishes it from list_connectors, create_connector, update_connector, and delete_connector. The explicit exclusion of credentials further sharpens the purpose.

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

Usage Guidelines5/5

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

Directly instructs the agent to use list_connectors to find IDs, which is the key prerequisite and routing guidance. The failure mode for unknown or invisible IDs also helps the agent decide when this call is appropriate.

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

get_contractA
Read-onlyIdempotent
Inspect

Get the machine-readable Algenta public contract. Use this when an agent needs the canonical discovery, summary, query, batch, SQL report, governed filter rules, CLI, or MCP entrypoints before planning tool use. Read-only and non-destructive; not separately rate-limited.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description reinforces these with 'Read-only and non-destructive.' The additional statement 'not separately rate-limited' adds behavioral context beyond the annotations, and 'public' signals access expectations.

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 front-load the operation and immediately provide usage context. There is no filler; even the rate-limiting note earns its place by adding useful behavioral information.

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

Completeness5/5

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

For a zero-parameter, read-only, public contract tool, the description covers what it returns, when to use it, and key behavior. The absence of an output schema is mitigated by the explicit 'machine-readable contract' framing, and the annotations cover safety semantics.

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

Parameters4/5

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

The input schema has zero parametersaine, so there is no parameter burden for the description to carry. The baseline of 4 for zero-parameter tools applies; no additional parameter documentation 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?

States a specific verb and resource ('Get the machine-readable Algenta public contract') and lists the contract's major contents, which clarifies what the tool does. It does not explicitly contrast itself with sibling tools, but its unique resource name and content list make it distinguishable.

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

Usage Guidelines4/5

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

Explicitly says to use it when 'an agent needs the canonical discovery, summary, query, batch, SQL report, governed filter rules, CLI, or MCP entrypoints before planning tool use,' providing a clear usage context. It does not mention when-not-to-use or alternatives, but the context is strong enough for this kind of fetch tool.

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

get_data_schemaA
Read-onlyIdempotent
Inspect

Get a saved dataset plus its schema and relationship metadata by dataset_id. Read-only and non-destructive; reads only the active API key's organization and is not separately rate-limited. Use get_data_summary first for a low-token look. Returns the dataset record and its schema: row_count, columns, roles_summary, formulas, and query_hints.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idYesDataset ID from connect_data or list_data.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description reinforces these while adding new context: it reads only the active API key's organization and is not separately rate-limited. This goes beyond the structured annotations without contradicting them.

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 three sentences, front-loaded with the core purpose, and compact overall. The phrase 'Read-only and non-destructive' somewhat duplicates the annotations, but the rest of that sentence contributes new behavioral detail, so the waste is minimal.

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

Completeness4/5

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

For a one-parameter, read-only tool with no output schema, the description names the return payload fields (row_count, columns, roles_summary, formulas, query_hints), scoping, and rate-limit behavior. It is sufficient for correct invocation, though 'relationship metadata' is not further elaborated.

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?

The single parameter dataset_id is fully documented in the schema, including its origin from connect_data or list_data. The description mentions that lookup is by dataset_id but adds no new parameter semantics beyond the schema, so the baseline 3 applies.

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 opening sentence states a specific verb and resource: 'Get a saved dataset plus its schema and relationship metadata by dataset_id.' It also distinguishes this tool from get_data_summary by positioning that tool as a 'low-token look' while this returns the full dataset record and schema fields.

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 explicitly names the alternative get_data_summary and advises using it first for a low-token look, which gives an agent a clear routing path. It does not, however, list broader exclusions or conditions for when not to use get_data_schema, so it stops short of full when/when-not guidance.

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

get_dataset_statusA
Read-onlyIdempotent
Inspect

Get the live training status and model tier of one dataset: whether semantic training is still running or the dataset is ready, and which model serves queries โ€” model_tier 'none' = deterministic fallback only, 'base' = generic model, 'schema' = fully trained schema-specific model (best quality). Poll this after onboard_dataset until training completes, and use retrain_dataset after schema or alias changes. Read-only; an unknown dataset_id fails with not_found. Also returns name, column_count, source_names, and updated_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idYesDataset ID from onboard_dataset or list_datasets.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already indicate read-only, idempotent, and non-destructive behavior. The description adds meaningful behavioral context beyond annotations: unknown dataset_id fails with not_found, the meaning of model_tier values, and the returned fields. This fully discloses expected 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?

Every sentence earns its place: purpose, model-tier meanings, usage sequencing, error behavior, and returned fields. It is compact but information-dense, with the primary purpose front-loaded.

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

Completeness5/5

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

For a one-parameter read-only status tool with no output schema, the description is complete: it covers return fields, model-tier interpretation, polling guidance, error behavior, and distinguishes from related actions. Nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

Schema coverage for dataset_id is 100%, so the schema already documents the parameter. The description adds value by explaining that an unknown dataset_id produces a not_found error and that the parameter references a dataset from onboard_dataset, reinforcing usage semantics beyond the schema.

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 and resource ('Get the live training status and model tier of one dataset') and distinguishes it from sibling status tools by focusing on semantic training and model tier. It clearly says what the tool does without tautology.

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

Usage Guidelines5/5

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

The description gives explicit usage context: poll after onboard_dataset until training completes, and use retrain_dataset after schema or alias changes. This tells an agent when to call this tool and when to use an alternative.

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

get_data_summaryA
Read-onlyIdempotent
Inspect

Get the low-token dataset selection summary for a saved dataset_id. Use this after list_data(search=..., compact=true) before paying for the full schema payload. Read-only and non-destructive; reads only the active API key's organization and is not separately rate-limited. Returns dataset_id, name, status, source_names, row_count, column_count, registered_at, and query_hints.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idYesDataset ID from connect_data or list_data.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds non-obvious behavioral context beyond annotations: it 'reads only the active API key's organization' and 'is not separately rate-limited.' These are meaningful operational details that help an agent decide to call the 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?

Three dense but focused sentences: purpose, usage positioning, and return values. Every sentence adds value and the most important routing guidance appears early. No filler or redundancy.

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

Completeness5/5

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

For a single-parameter, read-only tool with rich annotations and no output schema, the description is complete: it covers when to use it, what it does, its behavioral traits, and the exact fields returned. An agent has everything needed to select and invoke it correctly.

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 100%, so the schema already fully documents dataset_id. The description adds little beyond what the schema provides: it mentions 'saved dataset_id' and the list_data workflow, but this is context already implied by the schema's 'from connect_data or list_data.' Baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource: 'Get the low-token dataset selection summary for a saved dataset_id.' It distinguishes itself by emphasizing 'low-token' and 'selection summary', which sets it apart from heavier tools like get_data_schema or get_dataset_status. This is a clearly differentiated purpose.

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

Usage Guidelines5/5

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

Provides explicit usage context: 'Use this after list_data(search=..., compact=true) before paying for the full schema payload.' This tells the agent exactly when to invoke it and what to avoid, implicitly naming the alternative (full schema retrieval) without ambiguity.

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

get_decisionA
Read-onlyIdempotent
Inspect

Fetch one decision-memory record by id. Read-only and non-destructive; not separately rate-limited. Use list_decisions to find decision ids. Returns the full decision record including context, options_considered, risk fields, integrity hashes, and outcome fields when recorded.

ParametersJSON Schema
NameRequiredDescriptionDefault
decision_idYesDecision ID from log_decision or list_decisions.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior; the description reinforces this and adds that it is not separately rate-limited, which is not in the annotations. It also specifies what the return payload includes. This exceeds the baseline but does not discuss error cases or access-control implications, so not a 5.

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?

Three compact sentences: first states the core operation, second adds safety and rate-limit context, third guides input discovery and return content. Every sentence earns its place; no redundant words or padding.

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

Completeness4/5

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

For a single-parameter fetch tool with rich annotations and no output schema, the description covers what the tool does, how to get the ID, what it returns, and that it is safe. It could mention behavior when the ID does not exist, but that is a minor gap for this simple operation.

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

Parameters3/5

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

Schema coverage is 100% and the sole parameter decision_id is described as 'Decision ID from log_decision or list_decisions.' The description reinforces this by pointing to list_decisions, but adds no new semantic depth beyond the schema. Baseline 3 is appropriate.

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 a specific verb and resource ('Fetch one decision-memory record by id') and clarifies that it returns the full record including context, options, risk fields, and hashes. This clearly distinguishes it from siblings like list_decisions (list), log_decision (create), and delete_decision (delete).

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

Usage Guidelines5/5

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

It explicitly names list_decisions as the way to find decision ids, telling the agent how to prepare input. It also notes 'not separately rate-limited,' which gives useful operational context. No alternative is needed for a single-record fetch, and the guidance is direct.

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

get_deploymentA
Read-onlyIdempotent
Inspect

Fetch the current deployment for the active organization, if one exists. Read-only and non-destructive; not separately rate-limited. Poll this after create_deployment until status is active. Returns the deployment record (deployment_id, provider, region, status, config, created_at) or null when the organization is on the shared pool.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive. The description adds meaningful context beyond that: 'not separately rate-limited' (rate-limit behavior) and the full return contract including the null case for shared-pool organizations. No contradictions with annotations.

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?

Three sentences, each earning its place: purpose, safety/rate-limit note, polling guidance, and return format. Front-loaded with the core verb and resource. No fluff or repetition beyond acceptable reinforcement of the read-only nature.

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

Completeness5/5

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

Despite having no output schema, the description fully specifies the return shape (fields and null condition) and the intended polling pattern. For a parameterless read-only fetch, nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

The tool has zero parameters and the schema is empty, so there are no parameter semantics to clarify. Per the baseline for 0-param tools, the description does not need to compensate for missing parameter docs, and it doesn't introduce any confusion.

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

Purpose5/5

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

The description begins with a specific verb and resource: 'Fetch the current deployment for the active organization, if one exists.' It clearly identifies scope (active organization) and the nullable result. It also distinguishes itself from related siblings like create_deployment by positioning itself as the status-polling counterpart.

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?

Provides an explicit usage directive: 'Poll this after create_deployment until status is active.' This tells the agent exactly when to call it. It does not explicitly rule out alternatives like get_deployment_cost or delete_deployment, but for this tool's primary purpose the guidance is clear and actionable.

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

get_deployment_costA
Read-onlyIdempotent
Inspect

Get the current-month cost details of one deployment by id: provider, region, cost_usd_month, billable_cost_usd_month after markup, the applied billing_markup_pct, and last_updated. Requires an admin API key; an unknown deployment_id fails with not_found. Use get_deployment to find the active deployment first. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
deployment_idYesDeployment id from get_deployment.

TDQS

A4.1/5.0
Behavior4/5

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

The description adds behavior beyond the annotations: it discloses that an admin API key is required, that an unknown deployment_id fails with not_found, and explicitly notes 'Read-only.' Since annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, the description's added context about auth and error handling is valuable. There is no contradiction with annotations.

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 three sentences with zero filler. The first sentence front-loads the core purpose and returned fields, the second covers auth and error behavior, and the third gives the prerequisite and read-only note. Every sentence earns its place.

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

Completeness5/5

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

For a single-parameter tool with no output schema, the description is complete: it states what is returned (enumerated fields), the required auth, the failure mode, and the prerequisite sibling call. An agent has everything needed to invoke it correctly and interpret the result at a high level.

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?

The input schema already provides a full description for deployment_id: 'Deployment id from get_deployment.' With 100% schema coverage, the description adds little new semantic detailโ€”it reinforces that the id refers to a deployment from get_deployment and calls it 'active,' but this is marginal. The baseline of 3 applies because the schema carries the parameter documentation burden.

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 (get), the resource (current-month cost details of a deployment by id), and enumerates the returned fields (provider, region, cost_usd_month, billable_cost_usd_month, billing_markup_pct, last_updated). It names get_deployment as a prerequisite, which implicitly differentiates it from that sibling, though it doesn't explicitly contrast with other cost-related tools like get_billing_info. Overall the verb and resource are specific enough for an agent to understand 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 Guidelines4/5

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

The description gives clear preconditions: requires an admin API key, and the agent should 'Use get_deployment to find the active deployment first.' It also states the error outcome for an unknown deployment_id (not_found), which helps the agent anticipate failure. It doesn't explicitly say when not to use this tool or name alternative cost/billing tools, but the context provided is sufficient for a single-purpose lookup.

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

get_execution_policyA
Read-onlyIdempotent
Inspect

Get the current autonomous execution policy for the active organization. Read-only and non-destructive; not separately rate-limited. Read this before update_execution_policy. Returns min_confidence, risk_floor, require_calibration, allow_reexecution, and the current snapshot metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds beyond these by noting 'not separately rate-limited' and explicitly listing the returned fields (min_confidence, risk_floor, require_calibration, allow_reexecution, and snapshot metadata). No contradiction with annotations.

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

Conciseness5/5

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

Two sentences with no filler. The first sentence states the core purpose and scope, the second adds safety, usage ordering, and return field details. Information is front-loaded and each sentence earns its place.

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

Completeness4/5

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

With no output schema, the description compensates by listing the exact return fields, which is crucial. It also gives a usage hint. While it doesn't mention error conditions or permissions, for a parameterless read tool this is sufficient. The mention of 'current' policy implies historical snapshots are handled by another tool.

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

Parameters4/5

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

The tool has zero parameters, so schema coverage is 100% trivially. Per calibration, baseline for 0 parameters is 4. The description does not need to add parameter semantics, and it doesn't, which is appropriate.

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 clear verb ('Get'), a specific resource ('current autonomous execution policy'), and scope ('for the active organization'). It distinguishes from the sibling update_execution_policy by explicitly noting 'Read this before update_execution_policy,' and the resource name itself differentiates from list_execution_policy_snapshots.

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 a clear usage context: 'Read this before update_execution_policy' tells the agent exactly when to call this tool. It also notes it is read-only and non-destructive, implying safe to use in read scenarios. However, it does not explicitly mention alternatives like list_execution_policy_snapshots for historical policy retrieval, though that is a different tool.

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

get_job_resultA
Read-onlyIdempotent
Inspect

Fetch the completed result payload for an async simulation job by id. Read-only and non-destructive; not separately rate-limited. Use get_job_status to check progress before the job completes. Returns the completed job's result payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesUUID of the async job

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish readOnlyHint, idempotentHint, and destructiveHint. The description adds useful behavioral context beyond these: 'not separately rate-limited' and the requirement that the job must be completed to fetch its result. No contradiction with annotations.

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-loaded, but it contains redundancy: 'Returns the completed job's result payload' restates the opening sentence, and 'Read-only and non-destructive' echoes the annotations. Two of four sentences do not earn their place.

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

Completeness4/5

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

For a one-parameter tool with no output schema, the description gives enough context: what it fetches, that the job must be completed, how to check progress, and the return value. It does not detail the behavior if called before completion, but this is a minor gap for such a simple read-only tool.

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?

The input schema fully documents job_id as 'UUID of the async job' with 100% schema coverage. The description only refers to 'by id' and does not add further parameter-level detail, so the baseline score of 3 applies.

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 a specific verb and object: 'Fetch the completed result payload for an async simulation job by id.' It is clearly distinct from sibling job-related tools like get_job_status and poll_job, leaving no ambiguity about what this tool retrieves.

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

Usage Guidelines5/5

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

It explicitly says to 'Use get_job_status to check progress before the job completes,' naming the alternative and the condition that selects it. It also notes that the tool is 'not separately rate-limited,' giving practical guidance on when it can be invoked.

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

get_job_statusA
Read-onlyIdempotent
Inspect

Fetch the latest async simulation job status by id. Read-only and non-destructive; not separately rate-limited. Use poll_job to block until a terminal state. Returns the job record with status, progress, timestamps, and poll_url.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesUUID of the async job

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive, so the description adds value beyond them by disclosing 'not separately rate-limited' and by describing the return contents (status, progress, timestamps, poll_url). No contradiction with annotations.

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

Conciseness5/5

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

Two sentences carry the action, sibling pointer, rate-limit note, and return summary in efficient order. Every clause earns its place; no filler or repetition.

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

Completeness5/5

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

For a single-parameter, read-only status tool with strong annotations, the description covers the safety profile, rate limiting, return content, and the relevant sibling for blocking behavior. Nothing an agent needs to call it correctly is missing.

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

Parameters3/5

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

Schema coverage is 100% and the single job_id parameter is already documented as 'UUID of the async job'. The description adds only the context that this is a status fetch 'by id', which does not materially extend the schema's meaning. Baseline 3 is appropriate.

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 ('Fetch') and resource ('async simulation job status by id'), and scopes it as 'latest'. It also names sibling poll_job as a different behavior, so an agent can immediately distinguish this from related job tools.

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

Usage Guidelines4/5

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

Explicitly states the alternative: 'Use poll_job to block until a terminal state.' This tells the agent when to choose the sibling instead. It also implies suitable use for non-blocking status checks, though it stops short of a full when-not-to-use list.

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

get_limitsA
Read-onlyIdempotent
Inspect

Get current plan quotas and limits for the active API key. Read-only and non-destructive; not separately rate-limited. Use get_usage for current consumption against these limits. Returns the plan's quota ceilings, including rate, concurrency, storage, and LLM spend cap.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false; the description restates 'Read-only and non-destructive' (redundant) but adds valuable context beyond annotations: 'not separately rate-limited' and the specific return fields ('rate, concurrency, storage, and LLM spend cap'). This adds behavioral and output detail beyond the structured metadata.

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 compact, front-loaded with the purpose, and every sentence earns its place: purpose, safety/rate-limit note, sibling routing, and return contents. No fluff or repetition beyond the harmless restatement of read-only/non-destructive.

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

Completeness5/5

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

For a no-parameter, read-only tool with no output schema, the description covers all necessary information: what it does, how it relates to get_usage, rate-limit behavior, and the structure of the returned data. Nothing an agent needs to call it correctly is missing.

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

Parameters5/5

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

The tool has zero parameters, so the baseline is 4. The description goes beyond by detailing exactly what the tool returns ('quota ceilings, including rate, concurrency, storage, and LLM spend cap'), which fully compensates for the lack of an output schema and gives agents a complete picture of the result 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?

States a specific verb and resource ('Get current plan quotas and limits for the active API key') and explicitly differentiates from the sibling get_usage by naming it as the consumption counterpart. The purpose is unambiguous and distinguishes the tool from many other get_* siblings.

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

Usage Guidelines5/5

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

Explicitly names the alternative tool (get_usage) and the condition for using it ('current consumption against these limits'). Also notes that this tool is 'not separately rate-limited,' which is a practical usage consideration. This gives clear guidance on when to call this tool versus alternatives.

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

get_meA
Read-onlyIdempotent
Inspect

Get current user and organization identity for the active API key. Read-only and non-destructive; not separately rate-limited. Use update_me to change the returned names. Returns user_id, name, email, role, and the organization id, name, and plan.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds 'not separately rate-limited,' which is a meaningful behavioral detail beyond structured fields. It reinforces rather than contradicts annotations.

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?

Three sentences with zero filler: purpose, behavioral trait, then alternative and return payload. The most important information (what it does and that it's read-only) is front-loaded, and every sentence earns its place.

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

Completeness5/5

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

With no parameters and no output schema, the description fully covers what an agent needs to call and understand the response. It lists all returned fields and notes rate limiting, making the tool self-contained.

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

Parameters4/5

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

The input schema has zero parameters, so the baseline is 4. The description adds value by enumerating the result fields, which helps set expectations even though there are no inputs to document.

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 and resource ('Get current user and organization identity') and lists the exact return fields, making it unambiguous. It also distinguishes itself from siblings by explicitly naming update_me for modifications, so an agent can tell it apart without opening schemas.

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 explicitly tells the agent to 'Use update_me to change the returned names,' providing a clear alternative for a related mutation. It does not exhaustively contrast with all siblings, but the identity scope is clear and the read-only guidance implies when not to use it for changes.

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

get_repository_intelligence_capabilitiesA
Read-onlyIdempotent
Inspect

List globally supported Repository Intelligence languages and ranked support progress. Read-only and non-destructive. Check language support here before create_repository_snapshot. Returns supported_languages and support_progress (ranked target counts, progress fraction, and label).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint true-family, so the description's 'Read-only and non-destructive' only reinforces them. The added value is the disclosed return shape: supported_languages and support_progress with ranked target counts, progress fraction, and label. No contradictions with annotations.

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?

Three sentences, each serving a distinct purpose: scope, safety/usage, and output. It is front-loaded with the verb and resource, avoids filler, and every sentence earns its place.

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

Completeness5/5

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

With no input parameters and no output schema, the description provides everything the agent needs: what the tool lists, the ranking semantics, and the exact output fields. The workflow hint about create_repository_snapshot completes the context.

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

Parameters4/5

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

The tool has zero parameters and schema coverage is 100%, so there are no parameter descriptions missing. The description adds no parameter semantics but instead specifies the output contract, which is the relevant contextual information. Baseline 4 for a no-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 opens with the explicit verb 'List,' identifies the resource ('globally supported Repository Intelligence languages'), and clarifies that it returns 'ranked support progress.' This is specific enough to distinguish it from generic capability-listing siblings like list_capabilities or list_runtime_libraries.

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 directs the agent to call this tool before create_repository_snapshot, a concrete when-to-use workflow with a named sibling. It doesn't enumerate when not to use alternatives, but the clear precondition provides sufficient context.

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

get_repository_snapshotA
Read-onlyIdempotent
Inspect

Fetch one persisted immutable repository snapshot by repository_id and snapshot_id, including its resolved_revision, content_hash, file_count, language_counts, and graph artifact refs. Use this to re-read a snapshot created earlier with create_repository_snapshot (or through run_repository_pipeline). Read-only; an unknown snapshot or repository id fails with not_found.

ParametersJSON Schema
NameRequiredDescriptionDefault
snapshot_idYesSnapshot id returned by create_repository_snapshot.
repository_idYesSaved repository connector id from list_connectors.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds behavioral specifics beyond annotations: it states the snapshot is 'immutable' and 'persisted', lists the exact fields returned, and describes the error condition (not_found). This enriches the behavioral understanding without contradicting annotations.

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 with zero fluff. The core action and returned fields are front-loaded in the first sentence, and the second sentence provides usage context and error behavior. Every part earns its place.

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

Completeness5/5

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

For a simple retrieval tool with two fully documented parameters and annotations covering safety, the description is complete. It covers what the tool returns, when to use it, how it relates to creation tools, and the error condition. No missing information is needed for correct invocation.

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 100%, so the schema already documents both parameters with references to other tools (snapshot_id from create_repository_snapshot, repository_id from list_connectors). The description simply names the parameters in the first sentence but adds no new format, constraints, or semantics beyond what the schema provides, so the baseline of 3 is appropriate.

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 (Fetch) and resource (persisted immutable repository snapshot), identifies the two required identifiers, and lists the returned fields. It also distinguishes itself from creation tools by mentioning create_repository_snapshot and run_repository_pipeline, making its purpose unambiguous.

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

Usage Guidelines5/5

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

It explicitly instructs when to use the tool: 'Use this to re-read a snapshot created earlier with create_repository_snapshot (or through run_repository_pipeline).' This gives clear context and implies it is for retrieval, not creation. It also notes the failure mode for unknown ids, adding practical usage guidance.

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

get_runA
Read-onlyIdempotent
Inspect

Fetch one simulation run by run_id with its full detail โ€” the decision metrics and the request context it ran under. Use list_runs to find run ids. Read-only; an unknown run_id fails with not_found. Returns the run record: run_id, recommended_action, confidence, expected_value, mode, and created_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesUUID of the simulation run

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already mark this as read-only, idempotent, and non-destructive. The description adds genuinely new behavioral detail: an unknown run_id fails with not_found, and the response shape is spelled out (run_id, recommended_action, confidence, expected_value, mode, created_at). This gives the agent a clear model of both success and failure 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?

Three sentences with no filler: the core purpose is front-loaded, then usage guidance, then failure behavior and return fields. Every sentence earns its place.

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

Completeness5/5

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

For a one-parameter fetch tool, the description is complete: it explains how to find the ID, what the call returns, and what happens when the ID is invalid. No output schema exists, so describing the return fields is essential and properly handled.

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

Parameters4/5

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

The input schema already describes run_id as a 'UUID of the simulation run,' giving 100% schema coverage. The description adds value by connecting run_id to the discovery workflow ('Use list_runs to find run ids') and by listing run_id in the return record, reinforcing its role as the lookup 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 states a specific verb and resource: 'Fetch one simulation run by run_id with its full detail.' It also clarifies scope by naming the included content (decision metrics and request context) and distinguishes it from list and other get_* siblings by naming the exact resource type.

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 gives clear context for when to use the toolโ€”when a single simulation run's full detail is neededโ€”and explicitly tells agents to use list_runs to find run ids. It does not explicitly enumerate exclusions versus other get_* tools, but for a simple one-parameter fetch it provides adequate guidance.

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

get_runtime_benchmarksA
Read-onlyIdempotent
Inspect

Get the authenticated Algenta runtime benchmark catalog. Use this when an agent needs benchmark classes, benchmark evidence paths, evaluation quality gates, SLO budgets, compiled artifacts, or module benchmark linkage before reasoning about runtime performance claims. Read-only and non-destructive; not separately rate-limited.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description's unique contribution is 'not separately rate-limited,' which adds useful operational context, and it reaffirms non-destructiveness without contradicting the annotations.

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?

Three sentences, each earning its place: purpose, usage trigger, and behavioral caveat. The content enumeration is slightly long but serves sibling differentiation; it is close to the zero-waste ideal but not as tight as a two-sentence definition.

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

Completeness4/5

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

For a zero-input read-only catalog tool, the description covers when to call, what it returns (contents enumerated), and safety/rate-limit behavior. The only gap is the absence of an output schema combined with no stated response structure, so the return format is inferred rather than specified.

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

Parameters4/5

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

With zero parameters, there is nothing for the input schema to document, so the baseline 4 applies. The description compensates further by enumerating what the catalog contains, effectively previewing the enumerated semantics an agent can expect.

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

Purpose5/5

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

States a specific verb and resource ('Get the authenticated Algenta runtime benchmark catalog') and enumerates the catalog's contents (benchmark classes, evidence paths, quality gates, SLO budgets, compiled artifacts, module linkage). This distinguishes it from sibling runtime tools like get_runtime_manifest, get_runtime_modules, and get_runtime_release_validation without needing to open their schemas.

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?

Provides an explicit 'Use this when' trigger tied to concrete needs (benchmark classes, SLO budgets, module benchmark linkage) before reasoning about runtime performance claims. However, it names no sibling alternatives or when-not-to-use exclusions, leaving the routing decision partially to the agent.

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

get_runtime_manifestA
Read-onlyIdempotent
Inspect

Get the signed Algenta runtime manifest. Use this when an agent needs the canonical runtime-core inventory, maturity states, proof matrix, typed failure contract, or release theorem before using runtime-backed execution paths. Read-only and non-destructive; not separately rate-limited.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description reinforces safety with 'Read-only and non-destructive' and adds the meaningful extra detail 'not separately rate-limited,' which isn't in the annotations. No contradiction.

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

Conciseness5/5

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

Two sentences with no fluff. The first sentence delivers the verb and resource immediately, the second provides usage context and safety/rate-limit notes. Every sentence earns its place.

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

Completeness5/5

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

For a zero-parameter, read-only manifest retrieval with annotations covering safety, the description fully explains what the tool returns, when to use it, and its rate-limit behavior. No output schema exists, but the description already lists the manifest contents. Nothing needed for correct invocation is missing.

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

Parameters4/5

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

Tool has zero parameters and schema coverage is 100%, so the baseline is 4. The description adds no parameter-level detail, but none is needed since the schema is empty and additionalProperties is false.

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

Purpose5/5

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

Description states 'Get the signed Algenta runtime manifest' โ€“ a specific verb and resource. It enumerates the manifest contents (runtime-core inventory, maturity states, proof matrix, typed failure contract, release theorem) which clearly distinguishes it from sibling tools like get_runtime_modules or get_runtime_release_validation.

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?

Gives explicit when-to-use context: 'needs the canonical runtime-core inventory... before using runtime-backed execution paths.' This is clear and actionable. It doesn't name alternative tools or exclusions, so it stops short of a 5.

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

get_runtime_modulesA
Read-onlyIdempotent
Inspect

Get the authenticated Algenta runtime module proof catalog. Use this when an agent needs the shipping module inventory, proof-matrix entries, maturity counts, or compiled module evidence before using runtime-backed paths. Read-only and non-destructive; not separately rate-limited.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds meaningful context beyond that: the operation is authenticated, is not separately rate-limited, and returns catalog-style evidence. This gives the agent a solid behavioral picture even without 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?

Two sentences with no filler. The first sentence states the verb and resource; the second packages usage signals and behavioral traits. Every phrase contributes value.

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

Completeness4/5

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

For a zero-parameter, read-only catalog getter, the description is nearly complete: it names the content categories and gives a usage trigger. A small gap is the lack of detail on the shape of the catalog entries, but no output schema exists and the coverage is otherwise adequate.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4 and no parameter-level elaboration is required. The schema fully covers the parameter space with an empty object, and the description appropriately focuses on outputs and usage instead.

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 specifies a concrete verb ('Get') and a distinct resource ('authenticated Algenta runtime module proof catalog'), then enumerates what it contains: module inventory, proof-matrix entries, maturity counts, and compiled module evidence. This clearly separates it from sibling runtime tools like benchmarks or manifests.

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 gives explicit when-to-use guidance: when an agent needs module inventory, proof-matrix entries, maturity counts, or compiled module evidence before runtime-backed paths. It lacks named alternatives, but the use cases are specific enough to route an agent correctly.

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

get_runtime_release_validationA
Read-onlyIdempotent
Inspect

Get the authenticated Algenta runtime release validation result. Use this when an agent needs the current manifest-listed release verdict, formal theorem conditions, or fail-closed proof status before using runtime-backed paths. Read-only and non-destructive; not separately rate-limited.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds 'Read-only and non-destructive; not separately rate-limited' and mentions 'authenticated' and 'fail-closed proof status', which are extra behavioral details not fully captured by annotations. It doesn't contradict annotations, so it earns credit for enriching the safety and operational profile.

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

Conciseness5/5

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

Two sentences with no filler. The first sentence states the purpose, the second gives usage and behavioral notes. It's front-loaded and every clause adds value. Perfectly concise.

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

Completeness5/5

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

For a zero-parameter tool with no output schema, the description is remarkably complete. It explains what it returns, when to use it, and additional behavioral details (rate limits, auth, fail-closed). There is no missing information an agent would need to decide to call it.

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

Parameters4/5

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

The tool has zero parameters, so schema coverage is trivially 100% and the baseline for 0 params is 4. There is nothing for the description to add about parameters, and it doesn't need to. It correctly omits any parameter discussion.

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 fetches the 'authenticated Algenta runtime release validation result' and specifies the exact content: 'current manifest-listed release verdict, formal theorem conditions, or fail-closed proof status'. This is a specific verb+resource and distinguishes it from siblings like get_runtime_manifest or get_runtime_modules.

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 explicit guidance on when to use: 'when an agent needs the current manifest-listed release verdict, formal theorem conditions, or fail-closed proof status before using runtime-backed paths.' This is clear context, but it doesn't explicitly state when not to use or name alternatives. However, the guidance is sufficient for a typical agent.

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

get_source_schemaA
Read-onlyIdempotent
Inspect

Advanced tool. Get the full schema for a specific registered source: column types, cardinality, fill rates, formula relationships, and detected join keys to other sources. Read-only and non-destructive; not separately rate-limited. Use list_sources to find source ids. Returns source_id and the full schema: column types, cardinality, fill rates, formula relationships, and detected join keys.

ParametersJSON Schema
NameRequiredDescriptionDefault
source_idYesSource ID from list_sources.

TDQS

A3.7/5.0
Behavior4/5

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

The description states 'Read-only and non-destructive; not separately rate-limited,' which matches annotations (readOnlyHint, destructiveHint=false) and adds the rate-limit detail beyond them. It also clarifies the return includes source_id and schema components. No contradiction with annotations.

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 relatively concise but repeats the list of schema components twice (once at the start, once at the end), adding redundancy. The 'Advanced tool' preface adds little value. Front-loading is decent, but trimming repetition would improve clarity.

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

Completeness4/5

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

For a simple one-parameter read-only tool, the description covers the prerequisite (list_sources), the output components, and safety characteristics. No output schema exists, but the listed return fields give a good picture. It omits potential error handling or size limits, but that's minor for this scope.

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

Parameters4/5

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

The schema description for source_id is already clear ('Source ID from list_sources'), and the description reinforces this by telling the agent to use list_sources. With 100% schema coverage, the added guidance on how to obtain the ID is helpful but not strictly necessary.

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

Purpose4/5

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

The description clearly states the tool gets the full schema for a registered source, listing specific components (column types, cardinality, fill rates, formula relationships, join keys). It distinguishes the resource type (registered source) but does not explicitly contrast with sibling get_data_schema, which could cause confusion. Still, the purpose is concrete and actionable.

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 instructs to use list_sources to find source ids, which is a useful prerequisite. However, it does not mention when to avoid this tool or point to alternatives like get_data_schema, leaving some ambiguity for an agent deciding between schema tools.

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

get_usageA
Read-onlyIdempotent
Inspect

Get current billing period usage vs quota for this API key. Read-only and non-destructive; not separately rate-limited. Use get_limits for the plan's ceiling values. Returns simulations_used, simulations_limit, billing_period, and plan.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description consistently reinforces this. It adds useful context beyond the annotations by stating it is not separately rate-limited and that it is scoped to the current API key.

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?

Every sentence earns its place: the first states purpose, the second covers safety and rate limiting, the third routes to the sibling tool and lists return fields. It is compact and front-loaded.

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

Completeness5/5

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

For a parameterless read-only tool with no output schema, the description fully covers what the agent needs: what it returns, that it is safe, that it is not separately rate-limited, and how it relates to get_limits. Nothing essential is missing.

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

Parameters4/5

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

The input schema has zero parameters, so parameter semantics are not a concern. A baseline of 4 is appropriate since the description correctly omits parameter details that do not exist.

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 and resource: get current billing period usage vs quota for the API key. It also lists the exact returned fields, which removes ambiguity, and it distinguishes itself from get_limits, its closest sibling.

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 explicitly directs the agent to get_limits for plan ceiling values, which is the main alternative. It could also have clarified when to prefer get_billing_info or other billing siblings, but it gives enough guidance for the core decision.

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

ingest_dataA
Read-onlyIdempotent
Inspect

Auto-map tabular data to a simulation payload. Detects variable distributions, polarity (revenue=positive, cost=negative), units, and builds the objective function automatically. Set run_simulation=true to execute the simulation immediately and get results. Multiple tables: auto-detects join keys and merges before analysis. Returns fields_detected, records_analyzed, join_applied, engine, objective_function, variables, and simulation_payload, plus simulation_result when run_simulation is true.

ParametersJSON Schema
NameRequiredDescriptionDefault
runsNoScenarios to evaluate (1,000โ€“1,000,000).
domainNoOptional domain hint (finance, supply_chain, hr) for better field mapping.
tablesYesOne or more data tables. First table is primary.
run_simulationNoExecute the simulation immediately and return results.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the read-only nature is covered. The description adds meaningful behavioral context beyond annotations: it explains join-key auto-detection, merging behavior, polarity mapping, and the conditional simulation_result return. This gives the agent a clear picture of how the tool processes data.

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 moderately long but every sentence contributes: purpose, detection behavior, run_simulation flag, multi-table behavior, and return fields. It is well-structured with the core purpose front-loaded. Minor redundancy exists with the run_simulation explanation, which mirrors the schema, but overall it is efficient.

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

Completeness4/5

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

With no output schema, the description compensates by listing return fields (fields_detected, records_analyzed, join_applied, engine, objective_function, variables, simulation_payload, simulation_result). It explains the primary branching behavior (run_simulation=true) and multi-table handling. Missing details like error cases or unsupported formats are minor for this tool's complexity.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all four parameters. The description does not add new parameter-specific meaning beyond restating run_simulation's behavior and the multi-table merge behavior. A baseline 3 is appropriate because the description provides no additional semantic value for 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 opens with a specific verb and resource: 'Auto-map tabular data to a simulation payload.' It goes beyond the tool name by detailing what auto-mapping entailsโ€”detecting distributions, polarity, units, and building the objective function. This distinguishes it clearly from sibling data tools like onboard_dataset, connect_data, and simulate.

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 usage context: run_simulation=true executes immediately and returns results, and multiple tables are joined automatically before analysis. It does not explicitly name alternative tools or exclusion criteria, but the intended workflow is evident from the description.

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

ingest_metering_eventsAInspect

Ingest one batch of execution-analytics events from a managed runtime that explicitly enabled control-plane sync. This endpoint is analytics-only: received events are counted for dashboards and structured-logged, never used for billing or quota enforcement, and self-hosted Algenta profiles never call it automatically. Every event field is optional; events without a timestamp count toward the current billing month. An empty events list fails with empty_events. Returns accepted (event count) and the primary billing_period.

ParametersJSON Schema
NameRequiredDescriptionDefault
eventsYesAnalytics events; every field below is optional.
device_idYesManaged-runtime device id that produced the events.

TDQS

A4.7/5.0
Behavior5/5

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

With all annotations false, the description carries the full burden of behavioral disclosure and does so thoroughly. It reveals that events are analytics-only, never affect billing/quota, that every field is optional, that missing timestamps default to the current billing month, that an empty list fails with empty_events, and that the return includes accepted count and billing_period. This goes well beyond the annotations.

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 dense but every sentence contributes: purpose, analytics-only clarification, field optionality/timestamp default, failure condition, and return values. It is front-loaded with the core purpose and contains no filler or redundant restatement of the name.

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

Completeness5/5

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

Given the tool has no output schema and minimal annotations, the description covers everything needed to call it correctly: the exact source condition, how events are handled, timestamp defaulting, the empty-events failure mode, and the return payload. It is complete for an agent executing this tool.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining that events without a timestamp count toward the current billing month and that an empty events list fails with empty_events, giving the agent important behavioral meaning for the events parameter.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Ingest one batch of execution-analytics events'. It clearly scopes the source to managed runtimes with control-plane sync enabled and explicitly distinguishes the endpoint as analytics-only, never used for billing or quota enforcement, which separates it from the many sibling tools like get_usage, get_analytics, and get_billing_info.

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 gives explicit when-to-use context (managed runtime with control-plane sync) and strong when-not signals (self-hosted profiles never call it automatically, and it is never used for billing/quota enforcement). However, it does not name any alternative tool by name, 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.

invite_team_memberAInspect

Invite someone to the caller's organization by email and return the pending invite. This creates a pending invitation, emails an accept link, and reserves a seat until the invite is accepted. The caller's API key must have an admin role and the plan must have seats available โ€” single-seat plans fail with seats_not_available. Use list_team_members to see who is already in the org. Role defaults to member.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoOrg role granted on accept; defaults to member.
emailYesEmail address the invite link is sent to.

TDQS

A4.5/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint=false, idempotentHint=false), the description transparently discloses important side effects: it creates a pending invitation, emails an accept link, and reserves a seat until acceptance. It also exposes the failure condition for single-seat plans and the role default, giving the agent a much fuller behavioral model than annotations alone.

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?

Every sentence earns its place: the first sentence states the core action and return value, the second details side effects, the third covers prerequisites and error behavior, and the last two give practical guidance and the role default. It is information-dense but not padded.

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

Completeness5/5

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

For a two-parameter tool with no output schema, the description covers everything the agent needs to invoke it correctly: what it returns, side effects, prerequisites, failure modes, and how to check current membership via list_team_members. There are no critical gaps.

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 100%, and both parameters (email, role) already have meaningful descriptions in the schema. The tool description adds the default role and contextual meaning ('by email'), but does not significantly deepen the agent's understanding of the parameters beyond the schema itself. Baseline 3 is appropriate.

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: 'Invite someone to the caller's organization by email and return the pending invite.' It clearly states the resource (team/organization membership) and the action (inviting), distinguishing it from team-management siblings like list_team_members and remove_team_member by describing the resulting pending invite and email flow.

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: prerequisites (admin role, available seats), a named failure case (single-seat plans fail with seats_not_available), and points to list_team_members to see existing members. It does not explicitly enumerate when not to use this tool or compare it to update_team_member_role/remove_team_member, but the guidance is strong enough for an agent to apply it appropriately.

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

list_agent_runsA
Read-onlyIdempotent
Inspect

List the organization's persisted agent runs, paginated (defaults page 1, limit 25), with lineage-aware filters: status, request_hash (find reruns of the same request), policy_snapshot_id, and schema_snapshot_id (find runs under one policy or schema revision). Use get_agent_run for one run's full detail and query_agent_run_checkpoints to search checkpoints across runs. Read-only. Returns data, total, page, limit, and pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number; defaults to 1.
limitNoRuns per page, up to 200; defaults to 25.
statusNoKeep only runs in this lifecycle status.
request_hashNoKeep only runs created from this request hash.
policy_snapshot_idNoKeep only runs under this execution-policy snapshot.
schema_snapshot_idNoKeep only runs under this schema snapshot.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavior details: pagination defaults, lineage-aware filtering, and the exact return fields (data, total, page, limit, pages). This exceeds the minimum expected given the annotations.

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 dense but well-organized: purpose and pagination first, then filters, then sibling routing, then return shape. Every sentence adds unique information with no filler or redundancy.

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

Completeness5/5

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

Given six flexible parameters and no output schema, the description covers all essential call decisions: default pagination, filter semantics, sibling alternatives, read-only nature, and exact response fields. An agent can invoke this tool correctly without additional information.

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

Parameters4/5

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

Schema coverage is 100%, so parameters are already documented. The description adds value by explaining the intent behind request_hash ('find reruns of the same request') and snapshot IDs ('find runs under one policy or schema revision'), which helps an agent choose the right filter.

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

Purpose5/5

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

Description clearly states the tool lists the organization's persisted agent runs with pagination and lineage-aware filters. It explicitly differentiates from get_agent_run and query_agent_run_checkpoints by naming them and their distinct purposes.

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

Usage Guidelines5/5

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

Provides explicit routing guidance: 'Use get_agent_run for one run's full detail and query_agent_run_checkpoints to search checkpoints across runs.' This makes the choice between siblings unambiguous and gives context for filter usage.

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

list_api_keysA
Read-onlyIdempotent
Inspect

List active API keys for the current organization. Never returns raw secret material. Read-only and non-destructive; not separately rate-limited. Use create_api_key to mint one and revoke_api_key to retire one. Returns the key records with id, label, key_prefix, device_limit, status, created_at, last_used_at, and expires_at.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

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

Beyond annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds key behavioral disclosures: 'Never returns raw secret material,' 'not separately rate-limited,' and a precise list of returned fields. This significantly informs the agent about security and response contents beyond what annotations convey.

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?

Four sentences, each carrying unique value: purpose/scope, secret handling, read-only/rate-limit, sibling routing, and return fields. No redundancy or filler; front-loaded with the action.

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

Completeness5/5

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

For a zero-parameter read-only list operation, the description covers everything an agent needs: what it lists, its safety profile, rate limiting, how to mutate keys, and the exact output shape. No output schema exists, so the return-field list is essential and complete.

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

Parameters4/5

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

With zero parameters, the input schema already fully documents the interface (empty object). The baseline for 0 params is 4; the description doesn't need to add parameter semantics and doesn't attempt to.

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

Purpose5/5

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

Description states a specific verb ('List'), resource ('active API keys'), and scope ('current organization'). It also differentiates from siblings by explicitly naming create_api_key and revoke_api_key as alternatives.

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

Usage Guidelines5/5

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

Provides explicit guidance: 'Use create_api_key to mint one and revoke_api_key to retire one,' and frames this tool as read-only, non-destructive, and not separately rate-limited. This leaves no ambiguity about when to choose this tool over its mutating counterparts.

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

list_capabilitiesA
Read-onlyIdempotent
Inspect

List the unified capability catalog visible to the caller โ€” datasets, MCP tools, resources and prompts, skills, native tools, and runtime libraries โ€” with each entry's kind, provider, binding, and execution owner. Filter by kinds, provider_ids, or binding_ids to narrow the catalog. Use get_capability for one entry's detail, route_capabilities to pick the best entry for an objective, and list_skills for the skill subset. Read-only. Returns the catalog entries with capability_id, kind, provider_id, binding_id, execution_owner, and tags.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindsNoKeep only these capability kinds.
binding_idsNoKeep only capabilities from these bindings.
provider_idsNoKeep only capabilities from these providers.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description doesn't need to repeat those. It adds value by specifying the return fields (capability_id, kind, provider_id, binding_id, execution_owner, tags) and explicitly notes 'Read-only.' There is no contradiction with annotations. The description provides additional context about what the caller receives beyond the annotation's safety profile.

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 concise and well-structured. It front-loads the purpose, then explains filtering, then points to alternatives, and ends with the return fields. Every sentence earns its place, and there is no fluff. 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.

Completeness4/5

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

The description is fairly complete for a listing tool. It covers the purpose, filtering options, alternatives, and return fields. There is no output schema, so the description compensates by listing expected fields. It does not mention pagination or result limits, but for a capability catalog this may not be critical. The mention of relevant siblings covers routing. Overall, it provides enough for an agent to call correctly.

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 100%, so each parameter is already documented (e.g., 'Keep only these capability kinds.'). The description mentions filtering by kinds, provider_ids, or binding_ids, but this merely restates the schema's meaning without adding new semantics. It does not clarify value formats, relationships, or any nuances not already in the schema. Thus the baseline of 3 applies.

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 lists the unified capability catalog, enumerates the kinds of entries (datasets, MCP tools, resources, prompts, skills, native tools, runtime libraries), and mentions filtering. It explicitly differentiates from siblings by naming get_capability, route_capabilities, and list_skills for specific use cases. The verb 'list' and resource are specific.

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

Usage Guidelines5/5

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

Provides explicit guidance on when to use this tool versus alternatives: 'Use get_capability for one entry's detail, route_capabilities to pick the best entry for an objective, and list_skills for the skill subset.' Also states it is read-only, which signals safe invocation. The conditions for filtering are clear.

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

list_capability_bindingsA
Read-onlyIdempotent
Inspect

List the capability bindings saved under the caller's organization, optionally narrowed by provider_id or scope (user, workspace, organization). A binding pairs a provider profile with credentials/config and is what makes capabilities executable. Use create_capability_binding to add one, test_capability_binding to verify one, and list_capabilities to browse what they expose. Read-only. Returns the binding records with binding_id, provider_id, profile_id, scope, execution_owner, and status.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoKeep only bindings at this scope.
provider_idNoKeep only bindings of this provider.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description's 'Read-only' is redundant but not contradictory. However, it adds valuable context beyond annotations by explaining what a binding is ('pairs a provider profile with credentials/config and is what makes capabilities executable') and listing the return fields (binding_id, provider_id, profile_id, scope, execution_owner, status). This enhances transparency about what the operation returns and its conceptual role.

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 three sentences with no filler. It front-loads the core purpose, then provides context and alternatives efficiently. Every sentence earns its place, covering purpose, usage, and return fields without redundancy.

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

Completeness5/5

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

For a simple read-only list operation with no required parameters and no output schema, the description is complete. It explains what the tool returns (field list), how to filter (optional parameters), and when to use it relative to siblings. An agent has everything needed to invoke it correctly.

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 100% for both parameters, so the schema already documents their meaning. The description only reiterates that results can be 'optionally narrowed by provider_id or scope', which does not add new semantic detail beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

Description states a specific verb (List), resource (capability bindings), and scope (caller's organization), and explicitly distinguishes from siblings by naming create_capability_binding, test_capability_binding, and list_capabilities. The agent can immediately tell what this tool does and how it differs from related tools.

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

Usage Guidelines5/5

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

Explicitly provides when-to-use guidance by naming alternatives and their purposes: use create_capability_binding to add one, test_capability_binding to verify one, and list_capabilities to browse what they expose. It also describes optional narrowing by provider_id or scope, giving clear context for usage.

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

list_capability_providersA
Read-onlyIdempotent
Inspect

List the unified capability providers available to the organization โ€” data sources, MCP servers, skill packs, native tools, and runtime libraries โ€” with their profiles, auth kinds, supported execution owners, and binding scopes. Start here to find provider_id and profile_id for create_capability_binding, then discover_capability_binding to see what a binding exposes. Read-only. Returns the provider records with provider_id, provider_type, auth metadata, supported execution owners, and profiles.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior split; the description reinforces this with 'Read-only' and adds context beyond the annotations by detailing what the returned records contain (provider_id, provider_type, auth metadata, supported execution owners, profiles). Since there is no output schema, this return-value disclosure is valuable.

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?

Three tight sentences with no filler: purpose and scope first, usage workflow second, return-value summary third. Every sentence earns its place and the most decision-relevant information is front-loaded.

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

Completeness5/5

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

For a parameterless read-only list tool, the description covers the purpose, scope, result contents, and how it fits into the capability-binding workflow. Annotations already establish safety and idempotency, so nothing needed for correct invocation is missing.

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

Parameters4/5

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

The tool has zero parameters)Skip and the schema has nothing to document; the baseline for zero-parameter tools is 4. The description compensates well by explaining what the returned data will contain, which is the relevant semantic information an agent needs.

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 ('List'), a precise resource ('unified capability providers'), and its organizational scope. It also enumerates the provider types and distinguishes the tool from related list/discover capability tools by explicitly positioning it as the entry point for finding provider_id and profile_id.

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

Usage Guidelines5/5

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

The description gives explicit when-to-use guidance: 'Start here to find provider_id and profile_id for create_capability_binding, then discover_capability_binding to see what a binding exposes.' This clearly describes the intended workflow and how this tool fits versus sibling tools, even though it doesn't name every alternative.

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

list_connectorsA
Read-onlyIdempotent
Inspect

List the data connectors saved under the caller's organization โ€” databases, APIs, file-backed, and repository sources โ€” with id, name, connector_type, status (untested, live, error), and visibility; stored credentials are never returned. Paginated with page and limit; status filters the returned page client-side. Use this first to find a connector_id for get_connector, test_connector, browse_connector, or the repository tools, and create_connector to add one. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number; defaults to 1.
limitNoConnectors per page; defaults to 25.
statusNoKeep only connectors in this health status; defaults to all.all

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds meaningful context: credentials are never returned, status filtering happens client-side on the returned page, and results are paginated. These are real behavioral disclosures beyond the structured hints.

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 efficiently packed: scope, returned fields, credential caveat, pagination, and usage guidance all appear in three sentences with no filler. The most important usage-routing sentence is placed near the end but remains highly discoverable.

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

Completeness5/5

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

For a simple paginated list tool with fully documented parameters, read-only annotations, and no complex side effects, the description covers organization scope, output fields, credential privacy, pagination, and client-side filtering. Nothing critical is missing for an agent to call it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the schema already documents page, limit, and status. The description adds value by explaining that status filters the returned page client-side rather than affecting the query, and by noting pagination semantics. This goes slightly beyond the baseline for covered schemas.

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

Purpose5/5

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

States a specific verb ('List') and resource ('data connectors'), scoped to the caller's organization, and enumerates the returned fields (id, name, connector_type, status, visibility). This clearly distinguishes it from connector-specific tools like get_connector and test_connector.

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

Usage Guidelines5/5

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

Explicitly instructs the agent to use this tool first to obtain a connector_id for get_connector, test_connector, browse_connector, and repository tools, and names create_connector as the alternative for adding a connector. This is strong routing guidance with no ambiguity.

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

list_dataA
Read-onlyIdempotent
Inspect

List visible datasets for the current user. Use search plus compact mode first for low-token dataset discovery, then get_data_schema on the chosen dataset_id. Read-only and non-destructive; lists only the active API key's organization and is not separately rate-limited. Returns the datasets array (dataset_id, name, status, source_names, connection_type, row_count, column_count, refreshable) plus count, total, matched_total, page, limit, and pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1).
limitNoResults per page (default: all visible datasets, max 200 when set).
searchNoDeterministic lexical filter over dataset_id, name, and source_names.
statusNoOptional dataset readiness filter such as ready or training.
compactNoWhen true, request the low-token compact dataset discovery shape.
source_nameNoOptional source-name filter for narrowed dataset discovery.

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, and the description reinforces that without contradiction. It adds valuable new behavioral facts: results are scoped to the active API key's organization, the tool is not separately rate-limited, and the exact return fields are enumerated. This goes beyond the annotation baseline.

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 appropriately sized and front-loaded with the purpose, followed by workflow, safety/scoping notes, and return shape. The field enumeration is justified because there is no output schema. Every sentence earns its place without filler.

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

Completeness5/5

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

For a read-only paginated list tool with no output schema, the description covers purpose, recommended workflow, safety, organization scoping, rate-limit behavior, and return fields. Parameters are fully documented in the schema. Nothing critical is missing for an agent to call it correctly.

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 100%, so the schema already documents all six parameters. The description does not meaningfully add parameter-level semantics beyond repeating the compact mode low-token idea already present in the schema. This is the appropriate baseline for full 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 states a clear action and resource: 'List visible datasets for the current user.' The scope is concrete and useful. However, with a sibling tool named list_datasets that likely covers the same domain, the description does not explicitly differentiate the two, 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 Guidelines4/5

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

The description gives an explicit workflow: use search plus compact mode first for low-token discovery, then get_data_schema on the chosen dataset_id. This names a relevant alternative and a recommended sequence. It does not explicitly state when to avoid list_data or how it relates to the sibling list_datasets, so it is not a perfect 5.

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

list_datasetsA
Read-onlyIdempotent
Inspect

List registered datasets and their current model tier. Use search plus compact mode for low-token discovery, then poll status or use the primary data tools once you choose a dataset. Read-only and non-destructive; lists only the active API key's organization and is not separately rate-limited. Returns the datasets array with dataset_id, name, status, model_tier, source_names, column_count, and registered_at, plus count, total, page, limit, and pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1).
limitNoResults per page (default: all visible datasets, max 200 when set).
searchNoDeterministic lexical filter over dataset_id, name, and source_names.
statusNoOptional dataset readiness filter such as ready or training.
compactNoWhen true, request the low-token compact dataset discovery shape.
source_nameNoOptional source-name filter for narrowed dataset discovery.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds meaningful context beyond annotations: the operation is scoped to the active API key's organization, is not separately rate-limited, and returns a specific dataset array shape. No contradiction with annotations.

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 three sentences long, front-loaded with the core purpose, followed by usage guidance and behavioral details. Every sentence adds necessary information: what it lists, how to use it efficiently, and what scope/return fields to expect.

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

Completeness5/5

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

With no output schema present, the description compensates by enumerating the return fields and pagination metadata. It also covers scope, rate limiting, safety profile, and usage flow. For a low-complexity discovery tool with six optional parameters and rich annotations, nothing essential is missing.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all six parameters, so the baseline is 3. The description adds contextual value by linking search and compact mode to low-token discoveryched, but it does not add detail beyond the schema for individual 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 states a specific verb and resource: 'List registered datasets and their current model tier.' This clearly separates the tool from data-row operations like list_data and from summary tools. However, it does not explicitly name a sibling alternative, 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 Guidelines4/5

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

The description gives clear context: use search plus compact mode for low-token discovery, then switch to polling status or primary data tools after choosing a dataset. It indicates when to use the tool and provides a discovery-to-data flow, though it refers to 'primary data tools' without naming specific alternatives.

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

list_decisionsA
Read-onlyIdempotent
Inspect

Retrieve the Decision Memory audit trail โ€” all logged decisions, most recent first. Use with_outcome_only=true to see only decisions where actual results have been recorded. outcome_delta = actual_outcome - expected_value: negative means worse than predicted. Read-only and non-destructive; not separately rate-limited. Returns decisions with id, chosen_action, expected_value, actual_outcome, outcome_delta, confidence, context, created_at, and outcome_recorded_at, plus total, page, limit, pages, and an accuracy_summary when outcomes exist.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1).
limitNoCanonical results per page (default 20, max 200).
page_sizeNoResults per page (default 20, max 100).
with_outcome_onlyNoWhen true, return only decisions with recorded actual outcomes.

TDQS

A3.9/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds materially useful behavioral context: it is not separately rate-limited, results are ordered most recent first, the outcome_delta formula is explained, and the return fields plus accuracy_summary condition are disclosed. This is substantial added transparency.

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

Conciseness4/5

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

The purpose is front-loaded and every clause adds value: ordering, filtering, formula, safety/rate-limit, and return shape. The final field list is somewhat long but justified because there is no output schema. Minor density is acceptable here.

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

Completeness4/5

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

For a read-only list tool with full parameter schema coverage and strong annotations, the description covers ordering, filtering, safety, rate limiting, and the return shape. The only small gap is the relationship between the page_size input parameter and the 'limit' field mentioned in the return list, but this does not materially hinder correct invocation.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all four parameters. The description restates the with_outcome_only behavior and explains outcome_delta, but it does not materially extend the meaning of page, limit, or page_size beyond what the schema provides. Baseline 3 is appropriate.

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 and resource ('Retrieve the Decision Memory audit trail'), states that it returns all logged decisions, and gives the sort order. It distinguishes itself from single-decision operations like get_decision through 'all logged decisions' and 'audit trail', though it does not name the sibling explicitly.

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 gives a clear usage condition for the with_outcome_only filter and explains the outcome_delta semantics, and it notes the tool is read-only and non-destructive. However, it does not explicitly state when to prefer this over alternatives such as get_decision or when not to use it, leaving some selection inference to the agent.

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

list_deployment_regionsA
Read-onlyIdempotent
Inspect

List available deployment providers and regions for the current organization. Read-only and non-destructive; not separately rate-limited. Call this before create_deployment to pick a valid provider/region pair. Returns the providers array with each provider's id, name, description, and regions (use a region id when creating).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, and the description reinforces this with 'Read-only and non-destructive.' It adds valuable context beyond the annotations: 'not separately rate-limited' and a concrete description of the return shape ('providers array with each provider's id, name, description, and regions').

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?

Three sentences with no filler. The core action and scope are front-loaded, followed by safety/rate-limit behavior, usage guidance, and return structure. Every sentence adds information the agent needs.

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

Completeness5/5

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

The tool is simple (no parameters, no output schema), yet the description still covers what is returned, the structure of the return value, when to call it, and its safety profile. It is complete enough for an agent to invoke correctly without any further inference.

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

Parameters4/5

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

The input schema has zero parameters and 100% coverage, so there is nothing for the description to explain about parameters. The description still adds useful output semantics by explaining what a region id should be used for, which is more than required for a no-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?

States a specific action ('List available deployment providers and regions'), a clear scope ('for the current organization'), and directly ties the purpose to a sibling tool ('Call this before create_deployment'). This distinguishes it from other list-type tools in the sibling set, such as list_capability_providers.

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

Usage Guidelines5/5

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

Explicitly states when to use the tool: 'Call this before create_deployment to pick a valid provider/region pair.' This names the dependent sibling and gives the agent a concrete precondition, leaving no ambiguity about when the tool is relevant.

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

list_devicesA
Read-onlyIdempotent
Inspect

List the devices registered to the caller's organization, paginated, together with the plan's device_limit and plan name. Requires an API-key identity (user-session keys fail with api_key_identity_required). Use a device's registration_id with revoke_device to free a slot. Read-only. Returns devices, device_count, total, page, pages, device_limit, and plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number; defaults to 1.
limitNoDevices per page, up to 200; defaults to 25.

TDQS

A4.5/5.0
Behavior5/5

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

The description goes well beyond the annotations by disclosing the auth requirement, the specific failure error (api_key_identity_required), the pagination behavior, and the complete return field set. The readOnly hint in annotations is consistent with the 'Read-only' statement and there is no contradiction.

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 compact and front-loaded with the core purpose, then adds essential auth and follow-up guidance. The return-field list is justified because there is no output schema. 'Read-only' is somewhat redundant with annotations, but it is a minor single-word repetition that does not detract from overall efficiency.

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

Completeness5/5

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

For a simple paginated list with no output schema, the description supplies everything an agent needs: scope, auth prerequisites, failure behavior, return fields, and a pointer to the related revocation action. Nothing essential is missing.

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 documentation coverage is 100% for both parameters, so the schema already explains page and limit semantics. The description mentions pagination and page-related return fields but does not add new parameter-level meaning beyond the schema, matching the baseline of 3.

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 and resource ('List the devices registered to the caller's organization'), which clearly identifies the tool's function. It also distinguishes this from related device operations like revoke_device by noting the relationship explicitly.

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 gives clear context for use: listing organization devices with pagination and plan info, and it specifies the auth prerequisite (API-key identity) as well as the failure mode for user-session keys. It does not explicitly state when NOT to use this tool or name alternative listing tools, but the context is strong and it directs the agent to revoke_device for slot cleanup.

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

list_distributionsA
Read-onlyIdempotent
Inspect

List the probability distribution types supported in simulation variables โ€” normal, uniform, triangular, lognormal, and fixed โ€” each with its required parameters and a ready-to-use example. Read this before writing variable definitions for simulate, score, compare, or submit_job. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description only adds 'Read-only' redundantly. It does add value by revealing the content of the result (required parameters and examples), but does not disclose any deeper behavioral aspects like pagination, rate limits, or auth. With annotations covering the safety profile, a 3 is appropriate.

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

Conciseness5/5

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

Two sentences, no wasted words, and the most important information (what it lists) is front-loaded. The usage guidance is directly attached at the end, making it compact and readable.

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

Completeness5/5

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

For a simple list tool with no output schema and no parameters, the description fully covers what the tool returns (distribution types, required parameters, examples) and when to use it. Nothing an agent needs to call or interpret this tool is missing.

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

Parameters4/5

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

The tool has zero parameters and schema coverage is 100%, so there is nothing for the description to add about input semantics. The description's mention of 'required parameters' refers to the distribution definitions in the output, not tool inputs. Baseline for 0 params is 4.

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

Purpose5/5

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

Description uses a specific verb ('list') and resource ('probability distribution types supported in simulation variables'), enumerates the exact types, and implicitly distinguishes itself from sibling list tools by scoping to simulation variable distributions. An agent can immediately 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 Guidelines4/5

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

Explicitly tells the agent to read this before writing variable definitions for simulate, score, compare, or submit_job, which is clear when-to-use guidance. It does not mention when not to use or name alternative tools, but for a reference/listing tool this is sufficient and better than vague.

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

list_execution_policy_snapshotsA
Read-onlyIdempotent
Inspect

List the organization's persisted execution-policy snapshots in revision order with total_snapshots. Every policy update writes a new snapshot, so these ids are the lineage trail for replay and audit inspection; get_execution_policy returns only the current one. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds valuable context: snapshots are written on every policy update, and the list is in revision order with total_snapshots, which goes beyond the annotations. However, it doesn't mention pagination or response format details, but with zero parameters and a simple list operation, this is minor.

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 concise sentences with no wasted words. The main action and key differentiator (revision order vs current) are front-loaded, making it easy to scan.

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

Completeness5/5

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

For a zero-parameter list tool with annotations covering safety, the description is complete: it states the purpose, the result (total_snapshots), and the relationship to get_execution_policy. Nothing an agent needs to invoke it correctly is missing.

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

Parameters4/5

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

The tool has zero parameters, and the schema coverage is 100% (empty object). The baseline for 0 parameters is 4, and the description appropriately avoids adding unnecessary parameter guidance since there is nothing to clarify.

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 (list), resource (persisted execution-policy snapshots), and provides key attributes (revision order, total_snapshots). It clearly differentiates from get_execution_policy by noting that function returns only the current one, so an agent can immediately distinguish this tool's role.

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

Usage Guidelines5/5

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

It explicitly explains when to use this tool: for replay and audit inspection of the lineage trail, and contrasts it with get_execution_policy which returns only the current snapshot. This gives clear selection criteria and identifies the alternative.

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

list_jobsA
Read-onlyIdempotent
Inspect

List the organization's async simulation jobs, newest first, with pagination (defaults page 1, limit 25, max 200) and an optional status filter such as queued, running, completed, failed, or cancelled. Each entry carries the job id, status, progress, and poll URL. Use get_job_status or poll_job to follow one job and get_job_result for its output. Read-only. Returns jobs plus total, page, limit, and pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number; defaults to 1.
limitNoJobs per page, up to 200; defaults to 25.
statusNoOptional job status filter such as queued, running, completed, failed, or cancelled.

TDQS

A4.7/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond the annotations: newest-first ordering, pagination defaults (page 1, limit 25, max 200), valid status filter examples, per-entry fields (job id, status, progress, poll URL), and the return envelope (jobs plus total, page, limit, pages). This fully discloses what the tool does and returns, complementing the readOnly/idempotent/destructive hints.

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?

Three sentences cover the tool's purpose, key parameters, return fields, and alternative routing without redundancy. The primary action is front-loaded, and every sentence adds necessary information. No filler or vague language.

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

Completeness5/5

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

For a list operation with three optional parameters and no output schema, the description fully covers invocation details, filtering, pagination, ordering, and the response structure. It also names the workflow for following up on individual jobs, so an agent has all relevant context to call this tool correctly and proceed if needed.

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 100%, so the input schema already documents all three parameters with defaults and examples. The description repeats the defaults and maximum limit but does not add new semantic meaning beyond what the schema provides. Thus a baseline score of 3 is appropriate.

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

Purpose5/5

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

Description states a specific verb ('List'), a precise resource ('the organization's async simulation jobs'), and the ordering ('newest first'). It distinguishes itself from related siblings by explicitly naming get_job_status, poll_job, and get_job_result as alternatives for following a single job, so an agent can clearly identify when this tool is the right one.

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

Usage Guidelines5/5

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

The description provides direct routing guidance: 'Use get_job_status or poll_job to follow one job and get_job_result for its output.' This explicitly tells the agent when to choose alternatives, and the pagination and status filter details clarify how to invoke list_jobs for bulk listing. No exclusions are needed because the sibling routing covers the main alternative.

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

list_modelsA
Read-onlyIdempotent
Inspect

List the current Algenta model catalog, including deterministic utility models and any provider-backed routed entries with their routing, failover, timeout, and auth metadata, including capability-specific chat and embedding auth/header readiness. Use this before calling tokenize, count_tokens, chat_completions, responses, embeddings, embedding_similarity, or rerank. Read-only and non-destructive; calls share the plan's per-minute rate limit with the other LLM utility routes. Returns the catalog entries with model id, capabilities, and, for provider-backed entries, routing, failover, timeout, and auth-header readiness metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false), the description adds a meaningful behavioral detail: calls share the plan's per-minute rate limit with other LLM utility routes. It also discloses the return content, which is helpful since there is no output schema. The note about 'current' catalog hints at dynamic state without contradicting the openWorldHint=false annotation.

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 front-loaded with the core purpose and is generally well-organized, moving from purpose to usage context to safety/behavior to return shape. However, it repeats the phrase 'routing, failover, timeout, and auth metadata' twice, which adds minor redundancy without new information. Still, every sentence earns its place overall.

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

Completeness5/5

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

Given the tool has no parameters and no output schema, the description is remarkably complete: it states the resource, the related downstream tools, the safety and rate-limit behavior, and the return structure in sufficient detail for an agent to call and interpret the result correctly. Nothing essential is missing.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description appropriately focuses on what the tool returns rather than parameter details. No parameter semantics are needed, and the description adds value by spelling out the return fields.

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 a specific verb-resource pair, 'List the current Algenta model catalog', which clearly identifies the tool's purpose. It also distinguishes itself from the many sibling list_* tools by specifying that this catalog includes both deterministic utility models and provider-backed routed entries with their routing metadata. Nothing about the purpose is ambiguous.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool: 'Use this before calling tokenize, count_tokens, chat_completions, responses, embeddings, embedding_similarity, or rerank.' This gives an agent concrete conditions for selection and names the downstream tools that depend on this catalog. No competing tool is mentioned, but the instruction is unambiguous and actionable.

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

list_runsA
Read-onlyIdempotent
Inspect

List the organization's recent simulation runs, newest first, with their recommended_action, confidence, expected_value, mode, and created_at. Optional filters narrow by mode (auto or expert) and status (completed, failed, running); limit caps the results (default 20, up to 100). Use get_run for one run's full detail and get_analytics for aggregate trends. Read-only. Returns runs plus total.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoFilter by mode
limitNoMax results (1-100)
statusNoKeep only runs in this status.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, and destructive hints, so the bar is lower. The description adds the ordering ('newest first') and the return payload ('returns runs plus total'), which are not in annotations. It does not contradict annotations.

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, front-loads the primary purpose, and packs all essential details (filters, limit, return fields, siblings) with zero redundancy. Every clause earns its place.

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

Completeness5/5

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

For a read-only list tool with no output schema, the description fully specifies the returned fields and total count, describes ordering, and lists filters. Combined with annotations covering safety, an agent has everything needed to call it correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the schema documents all parameters. The description adds contextual meaning by noting the 'recent' nature and the default/limit range, and clarifies the enum values. This goes slightly beyond the schema descriptions, justifying a score above baseline.

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 lists simulation runs, names the specific fields returned, and explicitly distinguishes it from get_run and get_analytics. It is unambiguous and allows an agent to select this tool over siblings without opening the schema.

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

Usage Guidelines5/5

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

It provides explicit guidance on when to use alternatives ('Use get_run for one run's full detail and get_analytics for aggregate trends') and describes the filtering capabilities. This leaves no ambiguity about when this tool is appropriate.

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

list_runtime_librariesA
Read-onlyIdempotent
Inspect

List the executable Algenta runtime libraries with their engine and public functions โ€” the discovery step before execute_runtime_library. q filters by substring against module names and exported functions. The tool paginates the API for you and returns up to limit modules in one response (default 1000). Read-only. Returns modules, total, count, page, and limit.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSubstring match against module names and exported functions.
limitNoMaximum modules to return, up to 1000; defaults to 1000.

TDQS

A4.7/5.0
Behavior5/5

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

The description adds value beyond annotations by disclosing pagination ('paginates the API for you'), default limit, and the exact return fields (modules, total, count, page, limit). It also states 'Read-only' reinforcing the annotation. This is rich behavioral context that aids agent decision-making without contradicting the annotations.

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 concise, front-loaded with purpose and usage, and each sentence serves a distinct function: purpose, usage, filtering, pagination, and return fields. There is no redundancy or fluff. It is well-structured for quick parsing.

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

Completeness5/5

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

For a simple read-only tool with two optional parameters and no output schema, the description covers everything needed: what it lists, how filtering works, pagination behavior, default limit, and return structure. It also orients the agent to its role in the workflow. Nothing essential is missing.

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

Parameters3/5

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

Schema coverage is 100%, so both q and limit are documented in the schema. The description repeats the q semantics almost verbatim and adds slight context about pagination and limit affecting response size. This is baseline 3 given high schema coverage; it adds minimal additional meaning beyond the schema.

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 lists executable Algenta runtime libraries with engine and public functions, using a specific verb and resource. It explicitly positions itself as the discovery step before execute_runtime_library, which distinguishes it from that sibling. The purpose is unambiguous and well-scoped.

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

Usage Guidelines5/5

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

It explicitly names the companion tool execute_runtime_library and describes this as the discovery step before it, giving clear guidance on when to use it. It also mentions pagination behavior, which helps agents decide if they need to adjust limit. This is explicit usage guidance with a named alternative.

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

list_skillsA
Read-onlyIdempotent
Inspect

List the skill capabilities in the unified capability plane โ€” prompt skills enabled for the caller's organization with their names, bindings, and execution owners. This is list_capabilities narrowed to kind=skill. Use enable_skill to add one and disable_skill to remove one. Read-only. Returns the skill catalog entries with capability_id, name, binding, and execution owner.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior. The description adds useful context beyond annotations: the result is scoped to the caller's organization, only enabled skills are returned, and it lists the exact returned fields. This is solid disclosure for a zero-parameter read-only 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 compact and front-loaded: the first sentence states the core action and scope, the second clarifies sibling relationship, and the final sentence discloses return fields and read-only behavior. Every sentence adds necessary information without filler.

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

Completeness4/5

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

Given zero parameters, no output schema, and robust annotations, the description is nearly complete: it defines scope, return fields, and sibling differentiation. It could add minor details such as pagination or ordering, but nothing essential is missing for an agent to select and invoke the tool correctly.

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

Parameters4/5

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

The input schema has zero parameters and 100% schema description coverage, so there are no parameter details to document. Per the zero-parameter baseline, a 4 is appropriate; the description also clarifies the implicit filtering dimension (kind=skill), which is the closest thing to parameter semantics here.

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 and resource: 'List the skill capabilities in the unified capability plane.' It further distinguishes itself from list_capabilities by explicitly saying it is 'list_capabilities narrowed to kind=skill,' and enumerates the returned fields, so an agent can identify the tool without opening sibling schemas.

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

Usage Guidelines5/5

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

The description gives explicit routing guidance: it states this tool is list_capabilities restricted to skill, and it names the siblings for mutating operations ('Use enable_skill to add one and disable_skill to remove one'). This clearly tells an agent when to choose this tool versus the alternatives.

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

list_sourcesA
Read-onlyIdempotent
Inspect

Advanced tool. List all registered data sources for this org with their schema summaries. Use this to discover available tables before calling query_data or register_source. Read-only and non-destructive; not separately rate-limited. Returns the sources array with each source's id, name, and schema summary (columns, roles, detected join keys), plus count, total, page, limit, and pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1).
limitNoResults per page (default: all visible sources, max 200 when set).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover readOnly, idempotent, and destructive hints, so the bar is lower. The description adds useful operational context beyond annotations, including 'not separately rate-limited' and the exact shape of the returned summary (columns, roles, detected join keys). This adds genuine value.

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 compact and front-loaded: purpose, usage context, safety/behavior, and return shape are each covered in a few sentences. 'Advanced tool' is minor garnish, but every substantive sentence earns its place.

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

Completeness5/5

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

For a simple read-only listing tool with two optional parameters and no output schema, the description is complete. It explains what the response contains, including the sources array, per-source fields, and pagination metadata, so an agent can invoke and interpret the result confidently.

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 100%, with clear descriptions for page and limit. The description does not repeat or extend parameter semantics, which is acceptable because the schema already carries that burden; baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource ('List all registered data sources for this org') and clarifies it returns schema summaries. It also positions itself as the discovery step before query_data or register_source, which differentiates it from related sibling tools.

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

Usage Guidelines4/5

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

Explicitly tells the agent when to use the tool: 'Use this to discover available tables before calling query_data or register_source.' It provides clear usage context but does not explicitly state when not to use it or name alternatives such as get_source_schema.

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

list_team_membersA
Read-onlyIdempotent
Inspect

List the active users of the caller's organization with user_id, name, email, role, and status. Called with no arguments it returns the full member array; passing page or limit switches to a paginated envelope {members, total, page, limit, pages} (defaults page 1, limit 25). Use the returned user_id with update_team_member_role or remove_team_member. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number; enables the paginated envelope.
limitNoMembers per page (default 25 when paginating).

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, lowering the burden. The description adds genuine context beyond annotations: it filters to 'active' users, distinguishes the full-array vs paginated-envelope response, and states default page=1, limit=25. It ends with 'Read-only', which is redundant but harmless.

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?

Three tightly written sentences: purpose and fields first, pagination behavior second, downstream usage third. Every sentence carries information; no filler or repetition of schema details beyond what is useful.

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

Completeness5/5

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

Despite no output schema, the description fully defines both return modes and the fields within each member, along with defaults and downstream use. For a simple tool with zero required parameters, nothing an agent needs to invoke it correctly is missing.

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

Parameters4/5

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

Schema description coverage is 100% for both parameters, so the baseline is 3. The description adds value by specifying the paginated envelope shape ({members, total, page, limit, pages}), the trigger condition ('passing page or limit'), and default values, going beyond what the schema alone conveys.

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 a specific verb and resourceโ€”'List the active users of the caller's organization'โ€”and enumerates the returned fields (user_id, name, email, role, status). It also names two sibling tools (update_team_member_role, remove_team_member), making the read-vs-mutation boundary explicit.

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 clearly explains the two calling modesโ€”no arguments returns the full array, page/limit switches to a paginated envelopeโ€”with defaults provided. It also tells the agent to use the returned user_id with update_team_member_role or remove_team_member. It doesn't explicitly contrast with other read tools, but the usage context is unambiguous.

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

list_templatesA
Read-onlyIdempotent
Inspect

List the built-in simulation templates available to the active API key, each with its id and intended use. A template id pre-fills a simulation request, so start here instead of hand-writing variables for common cases such as a product launch. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already provide readOnly, idempotent, and non-destructive hints, so the description's 'Read-only' is redundant but consistent. It adds valuable context about the active API key scoping and the pre-fill purpose, which are not captured by annotations. No contradictions found.

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?

Three sentences, each earning its place. The purpose is front-loaded, followed by the usage guidance and a final note on read-only behavior. No fluff or redundant information.

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

Completeness5/5

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

For a zero-parameter read-only list tool with no output schema, the description fully covers what an agent needs: what it does, why it's useful, and the scoping to the active API key. Nothing is missing for correct invocation.

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

Parameters4/5

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

The tool has zero parameters and an empty schema, so there is nothing to document. The description correctly omits parameter details. With no parameters, the baseline is 4, and the description does not need to compensate for any gaps.

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 lists built-in simulation templates, identifying the resource (templates) and the verb (list). It also distinguishes itself by noting these are for simulation requests and pre-fill variables, which differentiates it from other list tools like list_runs or list_datasets.

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 explicitly advises starting here instead of hand-writing variables for common cases, giving clear context for when to use the tool. It does not explicitly name alternatives or when-not-to-use conditions, but the guidance is strong enough to route the agent appropriately.

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

list_triggersA
Read-onlyIdempotent
Inspect

List all registered triggers with their current status, last-checked time, and last-fired simulation result summary. Read-only and non-destructive; not separately rate-limited. Use register_trigger to add one and pause_trigger to silence one without deleting. Returns triggers with trigger_id, name, status, condition, last_checked_at, last_fired_at, and last_result_summary, plus count, total, page, limit, and pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1).
limitNoResults per page (default: all visible triggers, max 200 when set).
statusNoFilter by trigger status (default: all).

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds useful context beyond that: 'not separately rate-limited' and the specific status/check-time/simulation summary fields. No contradiction with annotations exists.

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 compact and front-loaded, leading with the primary purpose, then safety/rate-limit, then routing to siblings, then return shape. Every sentence contributes useful information without redundancy.

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

Completeness5/5

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

With no output schema, the description compensates by listing all return fields: trigger_id, name, status, condition, last_checked_at, last_fired_at, last_result_summary, plus pagination metadata. Combined with complete parameter schema docs and read-only annotations, an agent has everything needed to call this correctly.

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?

The input schema already describes all three parameters and their defaults with 100% coverage, including the status enum. The description adds no parameter-level meaning beyond the schema, so it meets the baseline but does not exceed it.

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 ('List all registered triggers') and enumerates the exact fields returned, making the tool's purpose unmistakable. It also distinguishes itself from lifecycle siblings like register_trigger and pause_trigger by contrasting 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 Guidelines5/5

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

The description explicitly provides alternatives: use register_trigger to add and pause_trigger to silence without deleting. It also conveys safety (read-only, non-destructive), telling an agent when it is appropriate to call this tool for evaluating trigger status.

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

log_decisionAInspect

Persist a decision to the Decision Memory audit trail. Link to a simulation run_id to bind the full DecisionPlan context. Call record_outcome later to close the feedback loop and measure prediction accuracy. Every logged decision is immutably hashed โ€” no tampering possible. Returns decision_id, chosen_action, expected_value, confidence, and created_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoSimulation run_id that produced this decision (from simulate or recommend).
contextNoBusiness context โ€” what was the situation when this decision was made?
risk_p5No5th-percentile downside at decision time.
risk_p95No95th-percentile upside at decision time.
risk_polNoProbability of loss (0โ€“1) at decision time.
rationaleNoExplanation of why this option was chosen.
confidenceNoConfidence score (0โ€“1) from the simulation.
result_hashNoSHA-256 output fingerprint from the simulation.
request_hashNoSHA-256 input fingerprint from the simulation.
chosen_actionYesThe action that was decided upon.
expected_valueNoExpected outcome value at decision time.
options_consideredNoAll option names that were evaluated.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations are minimal (no readOnly or idempotent hints), so the description carries the burden. It discloses that logging is immutable and hashed, and lists the return fields, providing meaningful behavioral context beyond the schema. No contradictions with annotations.

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?

Three sentences with no fluff. The first sentence states the core purpose, the second gives lifecycle guidance, and the third covers immutability and return fields. Efficient and front-loaded.

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

Completeness4/5

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

For a write operation with 12 parameters fully described in the schema, the description covers purpose, lifecycle, immutability, and return values. It lacks explicit error/permission notes, but that is not critical for typical usage. Overall, it is complete enough for an agent to call correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds extra meaning by explaining that run_id binds the full DecisionPlan context, which goes beyond the schema's 'Simulation run_id that produced this decision.' This justifies a 4.

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 ('persist') and resource ('decision to the Decision Memory audit trail'), clearly distinguishing it from related tools like execute_decision or plan_decision. It also mentions the return fields, further clarifying its role.

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: use this to persist a decision and link it to a simulation run_id. It also references record_outcome for later feedback, implying when to use this versus that. However, it does not explicitly contrast with other decision-related siblings like execute_decision or plan_decision.

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

onboard_datasetAInspect

Register a dataset for semantic querying. Pass column names, inline records, or raw CSV. The engine profiles roles automatically and starts background training. Queries work immediately via a fallback model โ€” accuracy improves once schema-specific training completes (poll status with list_datasets). Registration persists the dataset under the active API key's organization. Use connect_data for live connections instead of inline rows. Returns dataset_id, schema_hash, status, model_tier, column_count, and suggested_aliases.

ParametersJSON Schema
NameRequiredDescriptionDefault
csvNoRaw CSV text with header row.
nameNoHuman-readable name for this dataset.dataset
columnsNoColumn names only โ€” fastest path, no data required.
recordsNoSample rows as JSON records (list of dicts). Up to 200 rows.
async_trainNoStart background semantic training immediately (default: true).
domain_aliasesNoOptional map of abbreviation โ†’ expansions. Example: {"ppa": ["per", "person", "average"]}. Auto-suggested if omitted.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations are all false, so the description carries the full burden. It discloses background training behavior, immediate fallback querying, persistence under the active API key's organization, and return fields. It also notes that accuracy improves once training completes. This is thorough, though it doesn't cover failure modes or rate limits, which are not essential for a registration 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 dense paragraph but remains focused and front-loaded with the primary action. Each sentence adds new information: input modes, async training, persistence, alternative tool, and return values. No filler or redundancy. Could be broken into bullets for scannability but is appropriately sized.

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

Completeness4/5

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

For a 6-parameter tool with no output schema, the description compensates by listing return fields (dataset_id, schema_hash, etc.) and explaining the async workflow. It covers the key execution context (fallback model, polling). Minor gaps include handling of conflicting inputs (e.g., both columns and records provided) and error conditions, but overall an agent can invoke correctly.

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

Parameters4/5

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

Schema coverage is 100%, so parameters are documented. The description adds meaningful context: it explains the fastest path (columns only), the 200-row limit for records (already in schema but reinforced), domain_aliases auto-suggestion if omitted, and the async_train behavior. It also clarifies the naming of the different input modes. This goes beyond repeating schema text.

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 registers a dataset for semantic querying, immediately listing the three input modes (columns, records, CSV). It explicitly differentiates from connect_data by telling the agent to use that alternative for live connections. The purpose is unambiguous and distinct from sibling tools.

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 explicit guidance on when to choose this tool over connect_data ('Use connect_data for live connections instead of inline rows') and mentions polling status with list_datasets. It lacks an explicit list of other alternatives but the context is clear. This is strong for a tool with a large sibling set.

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

pause_triggerA
Idempotent
Inspect

Pause or resume an existing trigger without deleting it. Returns trigger_id and the updated status.

ParametersJSON Schema
NameRequiredDescriptionDefault
pausedNoSet true to pause, false to resume (default: true).
trigger_idYesTrigger ID to update.

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, covering retry safety and non-destructive nature. The description adds the behavioral nuance of 'without deleting it', but does not describe error conditions, auth, or side effects beyond what annotations imply. Given the annotation coverage, the added value is modest.

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 sentence that front-loads the action, resource, key distinction (not deleting), and return payload. Every word earns its place with no redundancy or filler.

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

Completeness5/5

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

For a simple 2-parameter tool with no output schema, the description covers the purpose, effect, and return information. With annotations providing idempotency and safety profile, nothing critical is missing for an agent to call it correctly.

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 100% with clear descriptions for trigger_id and paused (including the default). The tool description adds no additional meaning for the parameters, as it does not mention parameter format or constraints. Baseline 3 is appropriate when the schema documents parameters thoroughly.

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 (pause/resume), a specific resource (existing trigger), and explicitly notes it does not delete the trigger, distinguishing it from sibling tools like delete_trigger. The purpose is unambiguous and clearly separated from other trigger operations.

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 phrase 'without deleting it' implicitly contrasts with delete_trigger, suggesting this tool is for temporary suspension rather than permanent removal. However, it does not explicitly name alternatives or provide explicit when-to-use/when-not-to-use guidance, so some inference is required.

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

plan_decisionA
Read-onlyIdempotent
Inspect

Run a validated simulation-style request (the same payload contract as simulate) but return only the structured DecisionPlan summary โ€” the compact plan object with recommended action and calibrated confidence, without the full DecisionEnvelope metrics. Use this when the caller needs the plan summary for a dashboard or a follow-up plan_decision-to-log_decision flow; use simulate for the full envelope. Synchronous deterministic compute governed by the plan's per-minute rate limit and monthly quota; nothing is persisted.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the description need not repeat those. It adds useful behavioral context beyond annotations: the operation is synchronous and deterministic, is governed by a per-minute rate limit and monthly quota, and 'nothing is persisted.' No statement contradicts the annotations.

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?

Three sentences with no filler: the first states purpose and output, the second gives usage selection versus simulate, and the third covers execution semantics and persistence. The most important scoping information is front-loaded.

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

Completeness4/5

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

For a zero-parameter tool with no output schema, the description covers the endpoint, payload relationship to simulate, expected output content, rate limiting, and non-persistence. It does not spell out the full DecisionPlan object fields, but it gives the essential return elements and points to simulate for the contract, which is reasonable.

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

Parameters4/5

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

The schema exposes zero properties and only a generic object description, so the baseline is 4. The description partially compensates by saying the payload follows 'the same payload contract as simulate' and is forwarded to POST /v1/decisions/plan, which sends an agent to the sibling tool for contract details, though it does not enumerate actual 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 names a specific action ('Run a validated simulation-style request'), the target resource (DecisionPlan summary via POST /v1/decisions/plan), and the output shape (recommended action plus calibrated confidence). It explicitly distinguishes itself from the sibling 'simulate' by saying simulate returns the full DecisionEnvelope, so an agent can differentiate them without inspecting schemas.

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

Usage Guidelines5/5

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

It gives explicit when-to-use guidance: 'Use this when the caller needs the plan summary for a dashboard or a follow-up plan_decision-to-log_decision flow.' It also states the alternative: 'use simulate for the full envelope.' This is direct routing with no inference required.

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

poll_jobA
Read-onlyIdempotent
Inspect

Wait for an async simulation job to reach a terminal state. Returns the final result when the job completes, or the terminal status when it fails, is cancelled, or times out. Read-only: it polls the job's status endpoints and changes nothing. Use get_job_status for a single non-blocking check.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYesUUID of the async job
timeout_secondsNoMaximum wall-clock time to wait before returning a timed_out response.
poll_interval_secondsNoDelay between status checks while the job is still queued or running.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral detail beyond annotations: it polls repeatedly, blocks, returns the final result on success or the terminal status on failure/cancellation/timeout, and explicitly states it changes nothing. This is valuable context that goes beyond the annotation flags, so a 4 is appropriate.

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 with zero waste. The primary action and behavior are front-loaded in the first sentence, and the alternative tool is given in the second. Every word earns its place; it is concise yet comprehensive.

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

Completeness5/5

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

For a polling tool with three parameters and no output schema, the description is complete: it states what it does, when to use it, what it returns, and that it is read-only. The only minor omission is a definition of 'terminal state,' but that is likely domain knowledge and not critical. The alternative and return semantics are fully covered, so nothing an agent needs to call it correctly is missing.

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 100% for all three parameters (job_id, timeout_seconds, poll_interval_seconds), so the schema fully documents them. The description adds no additional parameter meaningโ€”it does not mention timeout or polling interval, but that is fine because the schema already explains them clearly. Baseline 3 is correct when schema carries the parameter burden.

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 ('Wait for an async simulation job'), a clear resource (job), and the expected outcome (returns final result or terminal status). It explicitly names the alternative get_job_status, making it easy to distinguish from the sibling that performs a single non-blocking check. No ambiguity remains about 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 Guidelines5/5

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

The description explicitly says to use get_job_status for a single non-blocking check, implicitly directing the agent to use this tool when it needs to block until completion. This is a clear when-to-use versus when-not-to-use statement with a named alternative. It fully covers usage context.

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

preview_browse_connectorA
Read-onlyIdempotent
Inspect

Browse one inline connector definition without saving it to discover files, tables, endpoints, or items. This opens a real connection to the source and is rate-limited per organization; nothing is saved. Use browse_connector for saved connectors. Returns connector_type, items, total, message, labels, and discovery metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
configNo
connector_typeYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnly, openWorld, idempotent, and non-destructive hints. The description adds important non-obvious behavior: it opens a real connection, is rate-limited per organization, and persists nothing. This goes beyond what annotations alone convey.

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?

Three tight sentences front-load the core purpose, then cover side effects, the sibling alternative, and return values. There is no redundancy or filler.

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

Completeness4/5

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

Given the strong annotations and the absence of an output schema, the description adequately covers side effects, rate limiting, persistence behavior, and the returned fields. The main gap is the undocumented `config` parameter, which prevents full completeness for a tool with a nested object parameter.

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 never explains the `config` object or acceptable `connector_type` values. It only mentions connector_type among the returned fields, not as an input parameter. The phrase 'inline connector definition' hints at config's role but is too vague for correct invocation.

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

Purpose5/5

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

The description states a specific verb ('Browse'), a specific resource ('one inline connector definition'), and the discovery outcome ('files, tables, endpoints, or items'). It also differentiates from browse_connector by emphasizing 'without saving it', making the tool's scope immediately clear.

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

Usage Guidelines5/5

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

Explicitly instructs the agent to use browse_connector for saved connectors, which is the key alternative. It also signals that this tool is for inline/unsaved definitions and warns that a real connection is opened, giving clear context for when this tool is appropriate.

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

preview_test_connectorA
Read-onlyIdempotent
Inspect

Run a real connectivity test against an inline connector definition without saving anything โ€” the dry run for create_connector. This opens an actual connection to the source, is rate-limited per organization, and caches successful outcomes briefly. Nothing is persisted. Returns success, message, latency_ms, status, error_type, and recoverable; call create_connector once the definition passes.

ParametersJSON Schema
NameRequiredDescriptionDefault
configNoInline connection settings and credentials to test.
connector_typeYesConnector type id to test.

TDQS

A4.5/5.0
Behavior5/5

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

Discloses that a real connection is opened, that calls are rate-limited per organization, that successful outcomes are cached briefly, and that nothing is persisted. It also lists the exact return fields, going well beyond the annotations.

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?

Three sentences deliver purpose, behavioral effects, return values, and next-step guidance without wasted words. The dry-run distinction is front-loaded, so an agent immediately knows the tool's role.

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

Completeness5/5

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

With no output schema, the description compensates by enumerating the return fields and operational consequences such as rate limiting and connection opening. Combined with full schema coverage and annotations, this provides enough context for correct invocation.

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?

Both parameters already have descriptive entries in the input schema, with 100% coverage. The description adds no per-parameter semantics, but the schema adequately documents connector_type and config.

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

Purpose5/5

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

States a specific action ('Run a real connectivity test') against an inline connector definition, and immediately frames it as the dry run for create_connector without saving anything. This clearly differentiates it from create_connector and related connector tools.

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

Usage Guidelines4/5

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

Explicitly identifies this as the dry run for create_connector and instructs the agent to call create_connector once the definition passes. It does not directly discuss when to prefer test_connector or preview_browse_connector, but the intended workflow is clear.

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

product_agent_runAInspect

Execute a natural-language task synchronously with the simple product agent and return a compact task result. The agent picks one tool from the task wording (optimize for best/maximum-style tasks, simulate for risk/forecast-style, search for find/lookup-style, otherwise calculate), runs it, and formats the answer as text, json, or markdown. Use this for one-shot task execution; use create_agent_run when you need a paused or approval-gated lifecycle, and get_agent_run to re-fetch the persisted record. The run, its step log, events, and a replayable checkpoint are persisted under the caller's organization. Returns run_id, status (completed on success), result, the step list, tools_used, and latency_ms.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesWhat the agent should do, in plain words (min 5 characters).
toolsNoRestrict the tools the agent may pick from; defaults to search, simulate, optimize, calculate, summarize.
contextNoOptional structured context or data for the task.
max_stepsNoMaximum execution steps, 1-50; defaults to 10.
output_formatNoResult format: text (default), json, or markdown.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations are all false (readOnlyHint, idempotentHint, destructiveHint all false), so they convey nothing; the description carries the full burden. It discloses persistence behavior (run, step log, events, replayable checkpoint persisted under caller's organization), synchronous execution, and the completion status semantics. This is meaningful behavioral context beyond the annotations.

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?

Three dense sentences, each earning its place: purpose + selection heuristic, sibling differentiation, and persistence/return summary. The most decision-critical info (what it does, when to use it) is front-loaded before the lifecycle comparisons. No filler.

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

Completeness4/5

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

For a complex 5-parameter tool with nested objects and no output schema, the description compensates well by enumerating the return fields (run_id, status, result, step list, tools_used, latency_ms) and explaining the internal selection logic. It could note the approval/pause lifecycle in slightly more detail, but it is largely complete for correct invocation.

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 100%, so the schema already documents all five parameters (task, tools, context, max_steps, output_format). The description adds the tool-restriction concept and default formats that overlap with the schema but doesn't introduce materially new parameter-level semantics, so baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb ('execute'), a specific resource ('simple product agent'), and mode ('synchronously'), then describes the agent's tool-selection heuristic. It clearly distinguishes itself from create_agent_run and get_agent_run, and the tool-selection mapping (optimize/simulate/search/calculate) makes the purpose concrete and memorable.

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

Usage Guidelines5/5

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

Explicitly directs when to use this tool vs alternatives: 'Use this for one-shot task execution; use create_agent_run when you need a paused or approval-gated lifecycle, and get_agent_run to re-fetch the persisted record.' This is textbook usage guidance with named alternatives and selection conditions.

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

product_decisionA
Read-onlyIdempotent
Inspect

Recommend an action for a business decision from plain inputs, and return the risk summary behind it. Each input becomes a simulation variable: fixed at value, or triangular when low and high bounds are given; inputs named cost/costs/expense/expenses/spending are subtracted in the objective. The engine evaluates scenarios (default 10000) and maps the loss probability to an action: over 50% -> reject, over the risk_tolerance threshold (low 5%, medium 15%, high 30%) -> pause, otherwise proceed. Use simulate for the raw distribution and plan_decision for the structured plan. Synchronous deterministic compute; nothing is persisted. Returns decision_id, action, confidence, reasoning and why bullets, expected_outcome, downside_risk (p5), upside_potential (p95), and probability_of_loss.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoOptional caller label stored with the decision.
engineNoSimulation engine; auto (default) selects one from the data shape. Options: monte_carlo, lhs, qmc_sobol, bootstrap, mcmc, importance_sampling, time_series, sensitivity.
inputsYesBusiness inputs as {name, value, low?, high?, unit?} objects; low+high turn a value into a triangular uncertainty range.
objectiveNoGoal label such as maximize_value, minimize_risk, maximize_profit, or minimize_cost; defaults to maximize_value.
scenariosNoScenarios to evaluate, 1000-1000000; defaults to 10000.
risk_toleranceNoLoss-probability ceiling for a proceed recommendation: low, medium (default), or high.

TDQS

A5/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint=true, idempotentHint=true, destructiveHint=false), the description adds substantial behavioral context: it explains the simulation algorithm, how inputs are converted to variables, cost handling, threshold mapping, determinism ('Synchronous deterministic compute'), and that nothing is persisted. This is far more than minimal disclosure and fully aligns with annotations.

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 dense paragraph that is well-organized: purpose first, then mechanics, then sibling differentiation, then behavior, then return fields. Every sentence earns its place, and it avoids redundancy. Despite its length, it remains clear and scannable.

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

Completeness5/5

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

Given the tool's complexity (6 parameters, no output schema), the description is remarkably complete. It explains the full decision algorithm, the exact return fields (decision_id, action, confidence, reasoning, etc.), the threshold logic, and the persistence behavior. An agent has everything needed to invoke it correctly and interpret results.

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

Parameters5/5

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

Schema coverage is 100%, but the description goes well beyond the schema by explaining how each parameter affects behavior: inputs become simulation variables with triangular uncertainty, cost-named inputs are subtracted, scenarios defaults to 10000, risk_tolerance maps to specific thresholds (low 5%, medium 15%, high 30%), and objective influences the loss calculation. This adds critical meaning that the schema alone does not convey.

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: 'Recommend an action for a business decision from plain inputs, and return the risk summary behind it.' It uses a specific verb (recommend) and resource (business decision), and explicitly distinguishes itself from siblings by naming simulate and plan_decision as alternatives for different needs.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool versus alternatives: 'Use simulate for the raw distribution and plan_decision for the structured plan.' This tells the agent exactly which sibling to choose for other use cases, leaving no ambiguity.

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

product_forecastA
Read-onlyIdempotent
Inspect

Forecast a business metric horizon periods ahead from its historical series and return per-period point forecasts with confidence intervals. The trend comes from the last up-to-6 history values, volatility from the mean absolute period change, and a 5000-scenario simulation quantifies uncertainty; seasonality=true applies an alternating +/-5% seasonal factor. Use query_data to build the history from a connected dataset first. Synchronous deterministic compute; nothing is persisted. Returns baseline (most recent value), forecast_mean (final period), total_change_pct, and one {period, forecast, lower_bound, upper_bound, trend} item per period with trend up, down, or stable.

ParametersJSON Schema
NameRequiredDescriptionDefault
metricYesName of what you are forecasting, e.g. monthly_revenue.
historyYesHistorical values in chronological order, most recent last; 3-1000 points.
horizonNoHow many periods ahead to forecast, 1-120; defaults to 12.
seasonalityNoAccount for seasonal patterns; defaults to true.
confidence_levelNoConfidence interval width, 0.5-0.99; defaults to 0.90. The z-value comes from the nearest of 0.90, 0.95, 0.99.

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already mark readOnlyHint, idempotentHint, and destructiveHint, and the description adds substantial behavior: 'Synchronous deterministic compute; nothing is persisted,' the trend/volatility/simulation algorithm, the seasonality factor, and the exact return shape. This goes far beyond the structured fields and helps the agent predict side effects and output.

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?

Five sentences, with the core purpose front-loaded and each sentence adding value: output, algorithm, prerequisite, compute behavior, and return fields. It is denser than minimal but not bloated; no filler or redundant restatement of schema descriptions.

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

Completeness5/5

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

With no output schema, the description must explain return values, and it does thoroughly: baseline, forecast_mean, total_change_pct, and per-period items with fields and trend labels. It also covers prerequisites, compute characteristics, and parameter-specific behavior, so an agent has everything needed to invoke the tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaningful detail beyond the schema: seasonality applies an alternating +/-5% factor, confidence_level z-values come from the nearest of 0.90/0.95/0.99, and the trend is derived from the last up-to-6 history values. This enriches parameter understanding without repeating schema definitions.

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 a specific verb and resource: 'Forecast a business metric horizon periods ahead from its historical series and return per-period point forecasts with confidence intervals.' It clearly distinguishes this from data-retrieval siblings like query_data and optimization siblings like product_optimize by defining the forecast output and prerequisite flow.

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 gives a clear usage context: build history with query_data first, then call this tool. It does not explicitly list when-not-to-use cases or name alternatives like product_retrieve, but the prerequisite instruction and the synchronous/stateless note provide enough guidance for correct selection.

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

product_optimizeA
Read-onlyIdempotent
Inspect

Estimate the best value for each decision variable given a plain-English objective, and return the per-variable optima. Every variable is sampled uniformly over its [min, max] range; an objective containing 'maximize' favors each variable's max, anything else favors the min, and the returned optimum blends that endpoint with the range midpoint. Use product_decision when you want a proceed/pause/reject recommendation instead of raw optima. Synchronous deterministic compute; nothing is persisted. Returns optimal_values, objective_value, improvement_vs_midpoint (percent), constraints_satisfied, and iterations_run.

ParametersJSON Schema
NameRequiredDescriptionDefault
engineNoSimulation engine; auto (default) selects one, lhs is recommended for optimization. Options: lhs, monte_carlo, qmc_sobol.
objectiveYesWhat to optimize, e.g. 'maximize profit' or 'minimize cost'; the wording sets the search direction.
variablesYesVariables as {name, min, max, unit?} objects with their allowed ranges.
iterationsNoSearch iterations, 100-100000; defaults to 1000.
constraintsNoBusiness constraints the answer must respect.

TDQS

A4.9/5.0
Behavior5/5

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

The description adds substantial behavioral context beyond the annotations: it is synchronous and deterministic, nothing is persisted, variables are sampled uniformly over their ranges, and the objective wording ('maximize' vs. anything else) determines the favored endpoint blended with the midpoint. It also lists all return fields. This goes well beyond the readOnly/idempotent/destructive hints.

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?

Three sentences, each earning its place: purpose, algorithm, and usage guidance plus return fields. The purpose is front-loaded, and the entire description is compact with no fluff. 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.

Completeness5/5

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

Despite no output schema, the description explicitly lists the return fields. It covers the algorithm, side effects (nothing persisted), determinism, and synchronous execution. It also provides the key usage distinction. For a tool with five parameters, this is a complete and self-contained description.

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

Parameters4/5

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

The schema already has 100% coverage with descriptions for each parameter. The description adds interpretive meaning for the objective parameter (how 'maximize' vs. other wording affects search direction) and for the variables array (uniform sampling over min/max). This enriches the schema's basic definitions, so it exceeds the baseline of 3.

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 a clear, specific statement: 'Estimate the best value for each decision variable given a plain-English objective, and return the per-variable optima.' It uses an action verb, identifies the resource, and describes the output. It also distinguishes itself from the sibling product_decision by explicitly stating that product_decision gives a proceed/pause/reject recommendation instead of raw optima.

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

Usage Guidelines5/5

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

It explicitly states when to use this tool versus product_decision: 'Use product_decision when you want a proceed/pause/reject recommendation instead of raw optima.' This gives clear guidance on selection among alternatives. It implies that this tool is for raw optima, which is sufficient.

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

product_retrieveA
Read-onlyIdempotent
Inspect

Rank caller-supplied documents against a search query and return the top matches with snippets. Scoring is deterministic lexical word-overlap between query and document plus a bonus when the query prefix appears in the document; results sort by relevance_score with rank starting at 1. Provide documents or a collection_id - a call with neither fails with missing_source. Use query_data for analytics over connected datasets instead. Read-only; nothing is stored. Returns results (rank, document_id, content excerpt, relevance_score, snippet) and total_searched.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesWhat you are looking for (min 3 characters).
top_kNoNumber of results to return, 1-50; defaults to 5.
rerankNoAccepted for compatibility; ranking is always the deterministic lexical score.
documentsNoInline documents as {id?, content, metadata?} objects; the set that actually gets ranked.
collection_idNoID of a connected data source to search.

TDQS

A4.9/5.0
Behavior5/5

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

While annotations already declare read-only and non-destructive behavior, the description adds meaningful behavior beyond that: deterministic lexical word-overlap scoring, prefix bonus, sort by relevance_score with rank starting at 1, nothing stored, and missing_source error. This is exactly the kind of context an agent needs to predict tool 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 compact and front-loaded: the purpose appears in the first clause, followed by scoring, source requirement, alternative, and return fields. Every sentence carries information and there is no filler.

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

Completeness5/5

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

Because there is no output schema, the description properly enumerates the return shape (rank, document_id, content excerpt, relevance_score, snippet, total_searched), covers the missing_source error, states read-only semantics, and specifies ranking behavior. Nothing essential for correctly invoking and interpreting this tool is omitted.

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

Parameters4/5

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

The schema already documents all five parameters in detail (100% coverage), so the baseline is 3. The description earns one point above baseline by explaining that documents or collection_id must be supplied or the call fails with missing_source, a conditional requirement not obvious from the schema alone.

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

Purpose5/5

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

The description opens with a specific verb ('Rank') and a precise resource ('caller-supplied documents against a search query'), then clarifies the output ('top matches with snippets'). This makes it immediately distinguishable from siblings like query_data or rerank, and the title being null is compensated by the strong opening.

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

Usage Guidelines5/5

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

It states the required input pattern ('Provide documents or a collection_id') and names the failure mode if neither is provided. It also explicitly routes analytics over connected datasets to query_data instead, giving the agent an actual alternative to consider.

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

query_agent_run_checkpointsA
Read-onlyIdempotent
Inspect

Search persisted checkpoints across all of the organization's agent runs, paginated (defaults page 1, limit 25). Filter by run_id or checkpoint_id to pinpoint one, or by status, request_hash, policy_snapshot_id, or schema_snapshot_id to audit lineage. Use get_agent_run_checkpoints when you already know the run_id and want its full checkpoint list. Read-only. Returns data, total, page, limit, and pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number; defaults to 1.
limitNoCheckpoints per page, up to 200; defaults to 25.
run_idNoKeep only checkpoints of this run.
statusNoKeep only checkpoints of runs in this status.
request_hashNoKeep only checkpoints of runs with this request hash.
checkpoint_idNoFetch exactly this checkpoint.
policy_snapshot_idNoKeep only checkpoints under this execution-policy snapshot.
schema_snapshot_idNoKeep only checkpoints under this schema snapshot.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, and the description's 'Read-only' is consistent with them. It adds useful behavioral details beyond annotations, such as pagination defaults (page 1, limit 25) and the response shape (data, total, page, limit, pages).

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 compact, front-loaded with the core action, and every sentence earns its place. The sibling differentiation, filter guidance, and return shape are all covered without redundancy.

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

Completeness5/5

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

For an 8-parameter read-only search tool with no output schema, the description covers all essential context: scope, pagination defaults, available filters, return fields, and when to choose the sibling tool. The schema and annotations cover the remaining details.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds value by grouping filters semantically: run_id/checkpoint_id for pinpointing and status/request_hash/policy_snapshot_id/schema_snapshot_id for lineage auditing. This guidance is not present in the individual 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 opens with a specific verb and resource: 'Search persisted checkpoints across all of the organization's agent runs.' It also names the sibling tool get_agent_run_checkpoints and clarifies the difference, so an agent can distinguish them immediately.

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

Usage Guidelines5/5

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

The description explicitly directs the agent to use get_agent_run_checkpoints when the run_id is already known and a full checkpoint list is needed, which implies this tool is for broader search and filtering across runs. It also maps specific filter fields to use cases like pinpointing a checkpoint or auditing lineage.

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

query_agent_run_mission_eventsA
Read-onlyIdempotent
Inspect

Search canonical mission-event records across all of the organization's agent runs, paginated (defaults page 1, limit 25) and newest first. Filter by run_id or event_type to pinpoint, or by status, request_hash, policy_snapshot_id, or schema_snapshot_id for lineage audits. Use get_agent_run_mission_events when you already know the run_id. Read-only. Returns data, total, page, limit, and pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number; defaults to 1.
limitNoEvents per page, up to 200; defaults to 25.
run_idNoKeep only events of this run.
statusNoKeep only events of runs in this status.
event_typeNoKeep only events of this type, e.g. run_completed.
request_hashNoKeep only events of runs with this request hash.
policy_snapshot_idNoKeep only events under this execution-policy snapshot.
schema_snapshot_idNoKeep only events under this schema snapshot.

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable behavioral details: pagination defaults (page 1, limit 25), ordering (newest first), and return fields (data, total, page, limit, pages). This enriches the agent's understanding beyond the annotations.

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?

Every sentence adds value: purpose, filtering, alternative, read-only, and return format. The description is front-loaded with the core action and is concise without fluff.

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

Completeness5/5

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

For a read-only search tool with 8 optional filters, the description covers all essential aspects: purpose, filters, pagination, ordering, alternative, and return structure. Since there is no output schema, the explicit listing of return fields (data, total, page, limit, pages) ensures the agent knows what to expect.

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

Parameters4/5

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

Schema coverage is 100% with each parameter documented. The description adds semantic grouping: run_id/event_type for pinpointing and status/request_hash/policy_snapshot_id/schema_snapshot_id for lineage audits. This provides context beyond the schema, though it doesn't add syntax details, so a 4 is appropriate.

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 searches 'canonical mission-event records across all of the organization's agent runs' with pagination and filtering. It explicitly differentiates from the sibling tool get_agent_run_mission_events, which is for when the run_id is already known, so an agent can distinguish between them without opening schemas.

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

Usage Guidelines5/5

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

It explicitly directs the agent to use get_agent_run_mission_events when the run_id is known, and describes when to use various filters (pinpoint vs. lineage audits). This gives clear when-to-use and when-not-to-use guidance, leaving no ambiguity.

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

query_agent_run_telemetryA
Read-onlyIdempotent
Inspect

Search runtime telemetry batches across all of the organization's agent runs, paginated (defaults page 1, limit 25). Filter by run_id, telemetry_kind, or module_name to pinpoint, or by status, request_hash, policy_snapshot_id, or schema_snapshot_id for lineage audits. Use get_agent_run_telemetry when you already know the run_id. Read-only. Returns data, total, page, limit, and pages.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number; defaults to 1.
limitNoBatches per page, up to 200; defaults to 25.
run_idNoKeep only telemetry of this run.
statusNoKeep only telemetry of runs in this status.
module_nameNoKeep only telemetry batches from this runtime module.
request_hashNoKeep only telemetry of runs with this request hash.
telemetry_kindNoKeep only telemetry batches of this kind.
policy_snapshot_idNoKeep only telemetry under this execution-policy snapshot.
schema_snapshot_idNoKeep only telemetry under this schema snapshot.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, and the description reinforces this with 'Read-only'. It adds behavioral details beyond annotations: pagination defaults (page 1, limit 25), the return structure (data, total, page, limit, pages), and that it searches across all organization runs. This is comprehensive for a read-only search 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, information-dense sentence with no fluff. It front-loads the main action, includes pagination defaults, filter categories, an alternative-tool pointer, read-only note, and return structureโ€”all in under 50 words. Every clause earns its place.

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

Completeness4/5

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

With 9 optional filters and no output schema, the description covers return fields and pagination, and provides filter grouping. It does not explicitly state that filters can be combined (which is implied) or mention the max limit of 200 (already in schema). Overall, it gives sufficient information for an agent to call the tool correctly, though it could be slightly more explicit about filter combination.

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

Parameters4/5

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

Schema coverage is 100%, so each parameter is already documented. The description adds semantic grouping: 'run_id, telemetry_kind, or module_name to pinpoint' vs 'status, request_hash, policy_snapshot_id, or schema_snapshot_id for lineage audits'. This helps the agent understand intent and choose filters appropriately, going beyond individual 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 states a specific action (search telemetry batches), a clear resource (runtime telemetry across all agent runs), and explicitly differentiates from the sibling get_agent_run_telemetry by noting when to use each. This is unambiguous and distinguishes the tool from other query tools.

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

Usage Guidelines5/5

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

Explicitly names the alternative tool (get_agent_run_telemetry) and the condition for using it (when run_id is known). It also groups filters into 'pinpoint' vs 'lineage audits', giving context on typical use cases. No exclusions or conditions are left to inference.

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

query_batchA
Read-onlyIdempotent
Inspect

Execute several governed exact queries in one API call. Use this for multi-metric prompts after choosing a dataset with list_data and get_data_summary. Each item reuses the same structured query contract as query_data; defaults may provide shared dataset_id, filter, limit, and order. Read-only against the engine; executes under the active API key with no separate per-route rate limit. Returns request_id and a results array with each item's key, data envelope, metadata, or error.

ParametersJSON Schema
NameRequiredDescriptionDefault
queriesYes
defaultsNoOptional shared exact-query fields applied to each item before execution.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds valuable context beyond annotations: it states execution happens under the active API key, notes there is no separate per-route rate limit, and describes the return shape (request_id and results array with key, data envelope, metadata, or error). This is meaningful behavioral disclosure beyond the structured fields.

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 compact and front-loaded: it states the core action and use case in the first sentence, then covers defaults, safety, and return shape in three more sentences. Every sentence earns its place with no redundancy.

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

Completeness4/5

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

For a batched query tool with nested objects and no output schema, the description is fairly complete: it explains the batching model, the relationship to query_data, the defaults mechanism, the read-only nature, and the return structure. It could be slightly stronger by explicitly noting that per-item errors are captured in the results array, but the description already implies this by mentioning 'or error' in the return shape.

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 50%, and the description adds some meaning by explaining that defaults provide shared dataset_id, filter, limit, and order, and that each item reuses the query_data contract. However, the description does not deeply elaborate on the queries array structure beyond what the schema already states. The baseline of 3 is appropriate because the schema covers the core parameter semantics and the description adds moderate context.

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

Purpose5/5

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

The description states a specific verb ('Execute'), a resource ('several governed exact queries in one API call'), and the intended use case ('multi-metric prompts'). It also distinguishes itself from query_data by noting it reuses the same query contract, making it clear this is the batched variant.

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

Usage Guidelines5/5

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

The description explicitly says to use this for multi-metric prompts after choosing a dataset with list_data and get_data_summary. It also references query_data as the per-item contract, giving the agent a clear path to decide when to use this tool versus alternatives.

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

query_dataA
Read-onlyIdempotent
Inspect

Execute a structured query against connected data sources. Convert the user's question to a structured intent and call this tool โ€” do NOT try to write SQL or parse column names yourself. The engine resolves column meaning from mathematical relationships and statistical structure only. It works on any dataset without configuration. The governed filter shape is a record-predicate contract over normalized rows, not a SQL predicate language, so it also applies to Redis and other non-SQL sources.

Structural roles (use in metric.role):

  • derived_measure: the main financial/operational aggregate (revenue, spend, value)

  • base_measure: counts, quantities, discrete amounts

  • unit_measure: per-unit prices, rates

  • ratio: percentages, margins, fill rates (0-1 range)

  • metric: let the engine pick the best numeric column

If clarification_required is true, or if confidence < 0.85, check the candidates list and ask the user to clarify. Never fabricate column names or SQL. Read-only against the engine; executes under the active API key with no separate per-route rate limit. Returns the query envelope: result, result_type, row_count, confidence, resolved_column, decision_path, and plan, with candidates and clarification_required set when the engine cannot resolve deterministically.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoTop-N limit. Use for 'top 5 customers' type questions.
orderNodesc
filterNo
metricNoWhat to measure.
sourcesNoData sources to query. Usually omitted when dataset_id is provided.
group_byNoDimension words from the user's question (e.g. ['customer', 'region']). The engine finds the best matching column.
dataset_idNoPreferred path. dataset_id returned by connect_data or list_data.
aggregationNoHow to aggregate the metric column.sum

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, openWorldHint, idempotentHint), the description discloses that it executes under the active API key with no separate rate limit, never fabricates columns/SQL, and returns a specific envelope including candidates and clarification_required. This adds meaningful behavioral context beyond what annotations provide.

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 long but well-structured, front-loading purpose and usage, then roles, then return behavior. Every section earns its place given the tool's complexity, though the prose could be tightened slightly.

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

Completeness4/5

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

For an 8-parameter tool with nested objects and no output schema, the description covers the clarification workflow, return envelope fields, and safety/auth behavior. It does not explain the semantics of each envelope field, but the high-level list plus schema descriptions are sufficient for an agent to invoke it correctly.

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

Parameters4/5

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

With 75% schema coverage, the baseline is 3, but the description compensates by defining the structural roles for metric.role (derived_measure, base_measure, unit_measure, ratio, metric) and explaining that filter is a record-predicate contract rather than SQL. This adds real semantics beyond the schema's enum labels.

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 and resource: 'Execute a structured query against connected data sources.' It goes further to differentiate itself by explicitly saying it is not SQL and works on any dataset without configuration, which helps an agent distinguish it from query_sql_report and similar siblings.

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 gives explicit usage direction: 'Convert the user's question to a structured intent and call this tool โ€” do NOT try to write SQL or parse column names yourself.' It also notes non-SQL applicability, which implies an alternative for SQL, though it never names a specific sibling like query_sql_report.

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

query_repository_graphA
Idempotent
Inspect

Walk the dependency graph of one persisted repository snapshot from optional file_path/symbol_name seeds and return impacted files and symbols with change-risk scores. Seed scope comes from snapshot_id or a triage workspace_evidence_bundle_ref โ€” one of the two is required. direction inbound follows dependents, outbound follows dependencies, both (default) walks both. Use this before simulate_repository or apply_repository to size the blast radius of a change. Read-only against the repository; persists a lookup artifact. Returns seed files/symbols, direct dependencies and dependents, impacted files/symbols, graph nodes and edges, and top_change_risk_files.

ParametersJSON Schema
NameRequiredDescriptionDefault
directionNoEdge direction to walk: inbound = dependents, outbound = dependencies; defaults to both.
file_pathNoOptional seed file to walk the graph from.
max_depthNoTraversal depth from the seeds, 1-6; defaults to 2.
max_nodesNoGraph node cap, 1-1024; defaults to 128.
snapshot_idNoSnapshot id from create_repository_snapshot; required unless workspace_evidence_bundle_ref is given.
symbol_nameNoOptional seed symbol to walk the graph from.
repository_idYesSaved repository connector id from list_connectors.
workspace_evidence_bundle_refNoTriage bundle ref; alternative seed scope to snapshot_id.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, readOnlyHint=false, and destructiveHint=false. The description adds meaningful behavioral context beyond annotations: it is 'Read-only against the repository' but 'persists a lookup artifact', which is a subtle and important side effect that annotations alone do not convey. It also discloses the traversal direction semantics and the output contents. The only minor gap is not detailing what the persisted lookup artifact is or how it is referenced later, but the description still adds substantial value beyond the annotations.

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 dense but well-structured: it front-loads the core purpose, then covers seed scope, direction, usage guidance, side effects, and return contents in a logical order. Every sentence earns its place, though the final sentence listing all return fields is somewhat long and could be trimmed without losing meaning.

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

Completeness4/5

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

For a graph-walking tool with 8 parameters, no output schema, and moderate complexity, the description covers the essential context: what it does, when to use it, the required seed scope, direction semantics, side effects, and return contents. It does not explain the persisted lookup artifact's lifecycle or how the change-risk scores are computed, but these are not necessary for an agent to invoke the tool correctly. The description is complete enough for correct selection and invocation.

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 100%, so the schema already documents all 8 parameters. The description adds context by explaining the relationship between snapshot_id and workspace_evidence_bundle_ref ('one of the two is required') and by defining direction semantics ('inbound follows dependents, outbound follows dependencies'). However, it does not add much beyond the schema for parameters like max_depth, max_nodes, file_path, or symbol_name, so a baseline 3 is appropriate.

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 ('walk'), a specific resource ('dependency graph of one persisted repository snapshot'), and the key outputs ('impacted files and symbols with change-risk scores'). It also names the seed mechanism (file_path/symbol_name) and the two seed scopes (snapshot_id or workspace_evidence_bundle_ref), which clearly distinguishes it from siblings like simulate_repository or apply_repository.

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

Usage Guidelines5/5

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

The description explicitly says 'Use this before simulate_repository or apply_repository to size the blast radius of a change.' This is a direct when-to-use statement with named alternatives. It also clarifies the required seed scope ('one of the two is required') and the direction semantics, so an agent knows exactly when to invoke this tool versus the sibling tools.

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

query_sql_reportA
Read-onlyIdempotent
Inspect

Execute a constrained read-only SQL rowset query over authorized datasets. Use this only for wide reports that do not fit the governed exact-query surface. SQL must be a single SELECT/WITH statement over the provided dataset aliases. Returns columns, rows, row_count, truncated, request_id, and latency_ms.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesSingle read-only SELECT or WITH statement.
sourcesYesAuthorized datasets made available to the SQL report.
max_rowsNoOptional row cap, up to the API maximum.

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context by stating SQL must be a single SELECT/WITH statement over provided dataset aliases and by listing the exact return fields (columns, rows, row_count, truncated, request_id, latency_ms). This goes beyond annotations without contradicting them.

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?

Three sentences, no filler, and the most important constraint is front-loaded ('constrained read-only SQL rowset query'). Every sentence adds either scope, usage, or return information. The structure is tight and scannable.

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

Completeness5/5

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

For a SQL query tool with no output schema and only 3 parameters, the description is complete. It covers the operation type, usage boundary, SQL syntax constraint, dataset scoping, and return fields. The annotations handle the safety profile. An agent has enough information to select and invoke the tool correctly without guessing.

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

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds value by constraining the sql parameter to a 'single SELECT/WITH statement over the provided dataset aliases,' which clarifies how sources and aliases relate to the query. It also explains the return shape, giving the agent more operational understanding than the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Execute a constrained read-only SQL rowset query over authorized datasets.' It further distinguishes itself from sibling tools by saying it is for 'wide reports that do not fit the governed exact-query surface,' which differentiates it from governed query tools like query_data. An agent can tell what this tool does and roughly when it applies.

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 gives an explicit trigger condition: 'Use this only for wide reports that do not fit the governed exact-query surface.' The word 'only' implies exclusion of exact/governed query use. However, it does not name the specific sibling tool (e.g., query_data) as the alternative, so the guidance is clear but not maximally explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recommendA
Read-onlyIdempotent
Inspect

Compare multiple named actions/options and get a ranked recommendation. Use when you need to choose between two or more alternatives with uncertainty. Synchronous deterministic compute; nothing is persisted and no separate rate limit applies. Returns recommended_action, confidence, rationale, and the ranked action list with expected_value and score per action.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionsYesList of options to compare (minimum 2)
n_simulationsNo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent/non-destructive, and the description adds valuable context beyond them: synchronous deterministic compute, nothing is persisted, and no separate rate limit applies. It also discloses the output shape, giving the agent a fuller behavioral model.

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?

Three tight sentences with no filler: purpose first, then usage, then behavior and output. Every sentence adds information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description documents the return fields despite no output schema, and the usage condition is explicit. The main gap is the unexplained n_simulations and objective semantics, though defaults make the tool callable without that detail.

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 50%: actions has a description, but n_simulations has none. The description does not explain n_simulations, the objective field, or the variable range semantics beyond what the schema already says, so it fails to compensate for the uncovered parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Compare multiple named actions/options and get a ranked recommendation.' It also immediately signals the recommendation output and the ranking basis, which differentiates it from siblings like compare or score.

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 explicitly says 'Use when you need to choose between two or more alternatives with uncertainty,' giving a clear triggering condition. It does not state exclusions or name specific alternative tools, but the guidance is sufficient for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

record_outcomeA
Idempotent
Inspect

Close the feedback loop: record what actually happened after a decision was made. Sets actual_outcome and computes outcome_delta = actual - expected. Over time this data measures prediction accuracy and reveals systematic biases. Recording updates the persisted decision record in place; repeat calls with the same value converge. Returns decision_id, chosen_action, expected_value, actual_outcome, outcome_delta, and a summary line.

ParametersJSON Schema
NameRequiredDescriptionDefault
decision_idYesDecision ID from log_decision or list_decisions.
outcome_notesNoOptional explanation of what happened and why.
actual_outcomeYesThe observed real-world outcome value.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool mutates the persisted record ('updates the persisted decision record in place'), which aligns with readOnlyHint=false. It explicitly states idempotency ('repeat calls with the same value converge'), matching idempotentHint=true. It also explains the return fields, adding value beyond the annotations.

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 efficient and front-loaded: it opens with the core purpose, then covers the computation, persistence behavior, idempotency, and return values in a few sentences. No wasted words; each sentence contributes unique information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential aspects: purpose, computation, persistence, idempotency, and return fields. It doesn't explicitly mention error conditions or prerequisites (e.g., that decision_id must exist), but these are implied and partly covered by schema. Given the tool's moderate complexity and rich schema/annotations, it's nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already documented. The description adds context by explaining the computation of outcome_delta and that actual_outcome is the observed real-world value, clarifying the relationship between actual and expected beyond the schema's basic descriptions. This enriches parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: it records the actual outcome after a decision and computes the delta. It uses a specific verb ('record'), identifies the resource (decision), and explains the computed field. It distinguishes itself from siblings like log_decision (creating) and get_decision (retrieving) by focusing on the feedback loop.

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 when to use the tool ('after a decision was made') and that it's for closing the feedback loop, but it doesn't explicitly contrast with alternatives or state when not to use it. There's no mention of sibling tools like log_decision or execute_decision, leaving the selection reasoning implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_creditsAInspect

Issue a compatibility credit batch to a quota-governed managed runtime. This exists for non-Algenta managed plans; Algenta editions are unmetered and do not need execution credits. Requires an API-key identity (api_key_identity_required otherwise) and a registered device_id. credits_used reports consumption since the last refresh and defaults to 0. Returns credits_granted, credits_issued_this_month, monthly_limit (0 means unlimited), monthly_remaining, expires_at, refresh_after, and server_time.

ParametersJSON Schema
NameRequiredDescriptionDefault
device_idYesRegistered device id the credits are issued to.
credits_usedNoCredits consumed since the last refresh; defaults to 0.
billing_periodYesBilling month in YYYY-MM form.

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only mark it as not read-only and not destructive, so the description carries the burden of explaining the mutation. It explains that credits are issued, that credits_used reports consumption since last refresh (defaulting to 0), and enumerates all return fields. This gives the agent a clear model of the operation's effects without contradicting annotations.

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 moderately long but every sentence adds value: purpose, applicability, prerequisites, and return fields are all present. It is front-loaded with the core purpose and avoids fluff. Slightly more concise could be tighter, but it is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 3 parameters, no output schema, and minimal annotations, the description covers the operation's purpose, prerequisites, and the full set of return fields. It explains the meaning of monthly_limit (0 means unlimited). It doesn't address error cases or rate limits, but those are not commonly expected. It is complete enough for an agent to call it correctly.

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 100%, so the schema already documents each parameter fully. The description adds a bit of context (e.g., that credits_used defaults to 0, which the schema also states) and clarifies the response fields, but it doesn't significantly augment the parameter meanings beyond what the schema provides. Baseline 3 is appropriate.

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 a specific verb and resource: 'Issue a compatibility credit batch to a quota-governed managed runtime.' It clearly distinguishes this tool from the large sibling set by stating it exists for non-Algenta managed plans, while Algenta editions are unmetered. This is a precise, non-tautological purpose.

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 explicit when-to-use guidance: 'This exists for non-Algenta managed plans; Algenta editions are unmetered and do not need execution credits.' It also states prerequisites (API-key identity and registered device_id). It doesn't name an alternative tool, but the exclusion of Algenta plans is a clear usage boundary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

refresh_dataAInspect

Re-pull a saved dataset from its original database, API, or object-store origin using the stored connection and selection, and return the same envelope as connect_data (status, schema_summary, refreshable). Only datasets created from a live connection can refresh โ€” an inline upload fails with not_refreshable (check the refreshable flag in list_data first), and an unknown dataset_id fails with not_found.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataset_idYesDataset ID from connect_data or list_data.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (which already indicate mutation), the description discloses error outcomes (not_refreshable, not_found) and the return envelope (same as connect_data). It implies network/API activity by 're-pull from origin' and clarifies the exact failure modes, adding significant 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 front-loaded with the core action and scoping, then details usage constraints and error cases in a compact, information-dense manner. No wasted words; every sentence contributes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description covers purpose, usage prerequisites, error handling, and the expected return envelope. It tells the agent exactly how to check readiness (list_data refreshable flag) and what to expect, making it complete for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the dataset_id parameter already described as 'Dataset ID from connect_data or list_data.' The description does not add further meaning to the parameter beyond that, so the baseline 3 applies.

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 (re-pull) on a saved dataset from its origin, with clear scope (only live-connection datasets). It distinguishes itself from siblings like connect_data (initial connection) and list_data (listing) by specifying the refresh action and the envelope reference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly tells when to use it: only for datasets created from a live connection, and instructs to check the refreshable flag in list_data first. It also warns of failure conditions (not_refreshable, not_found), guiding the agent on preconditions and error handling.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_sourceA
Idempotent
Inspect

Advanced tool. Register a data source and get full schema profiling + join detection. Profiles every column (type, cardinality, fill rate, distribution). Detects formula relationships (Aร—Bโ‰ˆC) within the source. Detects join keys to every already-registered source automatically. After registration the source is queryable by name via query_data. Safe to call multiple times โ€” re-registration is a no-op if data is unchanged. Registration persists the source profile under the active API key's organization. Returns source_id and the profiled schema with columns, roles, formulas, and detected join keys.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYesData source definition. Provide exactly one of: records, csv, json_str, url.
descriptionNoOptional human description of this source.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate idempotent, non-destructive, and non-read-only behaviorikuha. The description adds meaningful context beyond this: 'Safe to call multiple times โ€” re-registration is a no-op if data is unchanged', 'Registration persists the source profile under the active API key's organization', and the return value details. It clearly explains side effects and persistence, which is exactly the kind of additional transparency the dimension rewards.

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 dense but every sentence serves a purpose. It opens with the core purpose, enumerates key capabilities, notes idempotency and persistence, and closes with the return value. There is no fluff or redundant restatement of the schema. The structure is front-loaded with the most decision-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description adequately covers the return: 'Returns source_id and the profiled schema with columns, roles, formulas, and detected join keys.' It also explains side effects, idempotency, and post-registration behavior. The nested input schema is thoroughly covered by the schema itself, so the description needn't repeat it. The tool is complex, but the description provides enough context for an agent to use it correctly.

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?

The input schema fully describes both parameters and their nested properties, including descriptions for records, csv, json_str, url, and connection. The tool description does not add significant parameter-level semantics beyond what the schema already provides. With 100% schema coverage, the baseline is 3 and nothing in the description materially improves on it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific operation: 'Register a data source and get full schema profiling + join detection.' It identifies the primary resource ('data source'), the action ('register'), and the expected outcome, which distinguishes it from sibling tools like list_sources or get_source_schema. The statement 'After registration the source is queryable by name via query_data' further clarifies the tool's unique role.

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 explains what register_source does and mentions 'Advanced tool' at the start, hinting at careful use subs. It also states 'Safe to call multiple times' which gives some usage guidance. However, it does not explicitly say when to prefer this tool over siblings like connect_data or onboard_dataset, nor does it give exclusions or alternative routes for simpler use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_triggerAInspect

Register a real-time trigger that watches a data source for a threshold condition. When the condition is met, the engine auto-runs the simulation template and optionally fires a webhook. Examples: 'alert me when monthly revenue drops below $80k', 'simulate expansion if Downtown revenue exceeds $200k'. Use fire_trigger to test it immediately and delete_trigger to remove it. Returns trigger_id, name, status, condition, and created_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable trigger name.
conditionYesThreshold condition to watch.
descriptionNoHuman-readable description of what this trigger monitors.
webhook_urlNoOptional HTTPS URL to POST results to when the trigger fires.
auto_executeNoWhen true, automatically dispatch the decision plan to execution_webhook_url after the trigger fires.
simulation_templateYesSimulateRequest-compatible payload to run when trigger fires.
execution_webhook_urlNoOptional HTTPS URL to POST the DecisionPlan execution payload to when auto_execute is enabled.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds meaningful behavior beyond the annotations: the engine auto-runs the simulation template on condition match, optionally POSTs to a webhook, and the tool returns specific fields like trigger_id, status, and condition. It does not fully describe auto_execute semantics or repeated-registration effects, but the annotations already signal state-changing 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?

Three sentences front-load the core behavior, immediately give concrete examples, name sibling tools for testing/removal, and state the returned fields. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a nested condition object and no output schema, the description compensates by explaining the trigger lifecycle and listing return fields. It is deficient only in not clarifying the auto_execute/execution_webhook_url trigger flow, which would help an agent fully anticipate side effects.

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?

Input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds natural-language examples that map to condition fields (e.g., revenue below $80k) but no new parameter details beyond the schema.

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 ('Register a real-time trigger') and explains the trigger's behavior: watching a data source for a threshold condition, auto-running the simulation template, and optionally firing a webhook. It also distinguishes itself from fire_trigger and delete_trigger, which are siblings.

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 clearly states when to create a trigger (threshold monitoring with auto-run/webhook) and names fire_trigger for immediate testing and delete_trigger for removal. It does not mention list_triggers or pause_trigger, so the guidance is good but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_team_memberA
DestructiveIdempotent
Inspect

Remove one member from the caller's organization by user_id (find ids with list_team_members). Requires an admin API key. The member is suspended immediately โ€” their API keys stop authenticating at once โ€” and removing the last active owner is refused (last_owner). An unknown user_id fails with not_found. Returns removed: true with the removed user_id. Use update_team_member_role to change access without removing the member.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYesMember's user_id from list_team_members.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the annotations: it discloses immediate suspension of API keys, refusal to remove the last active owner, the not_found error for unknown user_id, and the return value (removed: true with the removed user_id). This is rich behavioral context that annotations alone (readOnlyHint=false, destructiveHint=true, idempotentHint=true) do not provide.

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 compact and front-loaded: the core action and parameter are stated first, followed by critical behavioral notes and the alternative tool. Every sentence 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.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter mutation tool with no output schema, the description covers the essential context: prerequisites, side effects, error cases, return value, and the alternative tool. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents user_id. The description adds value by explaining the source of the ID (list_team_members) and the failure mode (not_found), which is helpful beyond the schema's minimal description. A 4 is appropriate because the description enriches the parameter meaning without being redundant.

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 ('Remove'), a specific resource ('one member from the caller's organization'), and the key parameter (user_id). It also distinguishes itself from the sibling update_team_member_role, making its purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use this tool (to remove a member) and when not to (use update_team_member_role to change access without removing). It also provides a prerequisite (admin API key) and a way to find IDs (list_team_members), giving clear context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rerankA
Read-onlyIdempotent
Inspect

Rank caller-supplied document embeddings against a query embedding with a supported deterministic similarity metric (default embeddings.cosine_similarity), most relevant first. This tool does not embed text โ€” call embeddings first to produce the query and document vectors. Every document embedding must share the query's dimension or the call fails with invalid_embedding_dimensions. Read-only and deterministic. Returns ranked items with rank (starting at 1) and score, plus total_documents and returned_documents counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelNoSimilarity model id from list_models; selects the metric.embeddings.cosine_similarity
top_nNoOptional cap on how many top-ranked documents are returned; omit to return all documents ranked.
documentsYesCandidate documents to rank against the query vector.
query_embeddingYesQuery vector every document embedding is scored against.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint, idempotentHint, destructiveHint), the description adds genuinely useful behavioral context: the operation is deterministic, failure occurs with invalid_embedding_dimensions when dimensions differ, and the response includes rank starting at 1, score, total_documents, and returned_documents counts.

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 compact and front-loaded: purpose first, then the prerequisite, then the failure condition, then return shape. Every sentence earns its place, and there is no repetition of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description explains return values, the failure mode, and the prerequisite workflow. For a 4-parameter tool with full schema coverage, this is complete enough for an agent to invoke it correctly without additional context.

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 100%, so the baseline of 3 applies. The description reinforces the relationship between query_embedding and documents (shared dimension) and mentions the default metric, but it does not need to add much because the schema already documents all four parameters thoroughly.

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 a specific verb ('Rank') and a precise resource ('caller-supplied document embeddings against a query embedding'), making the tool's function immediately clear. It also differentiates itself from the sibling 'embeddings' tool by explicitly stating it does not embed text.

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 gives clear when-to-use guidance by instructing the caller to invoke 'embeddings first' to produce vectors, and it warns about the dimension-matching prerequisite. It does not explicitly name alternative ranking/similarity siblings like embedding_similarity or score, so exclusion guidance is slightly implicit, but the primary workflow is well defined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_artifact_bridgeA
Idempotent
Inspect

Resolve a Hugging Face artifact path through the Algenta compatibility-ring artifact bridge. Defaults to cache-only lookup and never downloads unless local_files_only=false. Use this only for Hugging Face artifact paths; use list_models for the model catalog. Returns the resolution record: status, backend, artifact_backend, resolved_path, cache_root, revision, auth_env_var_used, and auth_configured.

ParametersJSON Schema
NameRequiredDescriptionDefault
repo_idYes
filenameYes
revisionNo
local_files_onlyNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include openWorldHint, idempotentHint, and readOnlyHint=false, but the description adds useful behavioral detail: 'Defaults to cache-only lookup and never downloads unless local_files_only=false.' It also discloses the resolution record fields, helping the agent understand what the tool returns. No contradiction with annotations.

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?

Three sentences, front-loaded with the core purpose, then behavior, then routing guidance and return fields. Every sentence adds value; no filler or repeated schema information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a 4-parameter tool with no output schema, the description covers the main purpose, when to use it, default behavior, and the exact return record fields. It lacks explicit semantics for the required path parameters and error conditions, but those are already captured under parameter semantics; overall it is reasonably 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%, so the description must compensate for bare parameter names. It only addresses local_files_only indirectly via the download behavior; repo_id, filename, and revision are not semantically explained. The agent must infer what these path components mean, which is a significant gap at zero 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?

States a specific verb and resource: 'Resolve a Hugging Face artifact path through the Algenta compatibility-ring artifact bridge.' It clearly distinguishes from sibling list_models by saying 'Use this only for Hugging Face artifact paths; use list_models for the model catalog.' The agent can tell exactly what this tool does without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use this tool ('only for Hugging Face artifact paths') and names the alternative ('use list_models for the model catalog'). It also communicates the default cache-only behavior and the condition for downloading, giving clear invocation context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

responsesA
Read-only
Inspect

Run the unified Algenta response envelope over one string or a list of independent strings, each processed as its own single-turn request. The output item per input depends on the model: tokenization models (default text.tokenizer) return the input's tokens and token_count; embedding models return a deterministic vector of dimensions length; provider-backed chat models advertised by list_models return generated text. Use chat_completions for an ordered multi-role transcript and embeddings when you specifically need vectors. Stateless and non-destructive: no conversation state is created, continued, or stored by this tool. An unsupported model id fails with model_not_supported.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesOne string, or a list of independent strings each processed as its own single-turn request.
modelNoModel id from list_models; selects the output item type.text.tokenizer
dimensionsNoEmbedding vector length when the selected model produces embeddings.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds value by stating statelessness and non-destructiveness. It also mentions the model_not_supported error, which is useful. But it doesn't detail output format or error handling beyond that.

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 compact and dense, with every sentence adding essential information. It front-loads the core action and then provides model-specific behavior and alternatives. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description provides enough to know what to expect per model type. It covers statelessness, error case, and parameter effects. It doesn't detail exact response format, but given the tool's flexibility, it's acceptable. A bit more on embedding vector specifics could be added.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes all parameters. The description adds that 'dimensions' is the embedding vector length and that 'model' selects output type, but these are minor additions over the schema descriptions. Some redundancy exists, but baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: running a unified response envelope over one or more strings, with per-model behavior. It distinguishes itself from chat_completions and embeddings by specifying alternatives. However, it could be clearer about what 'response envelope' means.

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 explicit guidance: use chat_completions for multi-role transcripts and embeddings for vectors. It lacks explicit 'when not to use' but covers key alternatives. The model selection guidance (list_models) is helpful.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resume_agent_runAInspect

Resume a paused agent run by run_id. A run created with approval_mode=auto executes to completion synchronously and returns completed; a manual-mode run moves to requires_approval and still needs approve_agent_run. Resuming anything that is not paused fails with agent_run_invalid_state; an unknown run_id fails with agent_run_not_found. The transition is audit-logged and checkpointed. Returns the updated run resource.

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idYesPaused run id from create_agent_run or list_agent_runs.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are all false (readOnlyHint, idempotentHint, destructiveHint), so the description carries the full burden of disclosing behavior. It covers side effects ('audit-logged and checkpointed'), the state transition semantics (auto vs manual mode), error responses, and the return value ('updated run resource'). This is comprehensive for a state-changing operation.

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?

Four sentences, front-loaded with the core action, then progressively covering edge cases and side effects. Every sentence adds needed information without fluff; it is dense but not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description fully covers the return value, error conditions, and state-machine nuances. It even references where run_id originates, making it self-contained for correct invocation.

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?

The schema already documents run_id with 'Paused run id from create_agent_run or list_agent_runs.' (100% coverage). The description adds only the verb 'resume' without new parameter details, so it provides marginal value beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific verb 'Resume' and resource 'paused agent run' by run_id, clearly distinguishing it from sibling operations like approve_agent_run and cancel_agent_run. The description explicitly references approval-mode behavior, making the tool's role in the lifecycle unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use this tool versus approve_agent_run, stating that manual-mode runs 'still needs approve_agent_run' after resuming. It also lists failure conditions (invalid state, unknown run_id) that inform correct usage, effectively telling the agent when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

retrain_datasetAInspect

Re-trigger background semantic training for one dataset and return immediately with status and a confirmation message โ€” the build runs asynchronously, so poll get_dataset_status until model_tier reaches 'schema'. Use after schema changes, alias updates, or to force a fresh model build. epochs (default 80, range 5-500) controls training length. An unknown dataset_id fails with not_found; a dataset whose training backend is unavailable fails with semantic_training_unavailable.

ParametersJSON Schema
NameRequiredDescriptionDefault
epochsNoTraining epochs, 5-500; defaults to 80.
dataset_idYesDataset ID from onboard_dataset or list_datasets.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the async nature (build runs asynchronously, returns immediately), the need to poll, and two specific error conditions (not_found and semantic_training_unavailable). These go well beyond the annotations, which only indicate readOnlyHint=false etc. The agent learns exactly what to expect and how to handle failures.

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 tight 3-sentence block. The main action and async behavior are front-loaded, followed by usage guidance, parameter note, and error cases. Every sentence earns its place; there is no filler or repetition of schema text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description tells the agent what to expect (status and confirmation message) and how to obtain the final result (poll get_dataset_status). It covers the asynchronous workflow, parameter purpose, and failure modes. For a mutation tool of this complexity, nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds that epochs controls training length (and defaults/range, though those are also in schema) and clarifies that dataset_id comes from onboard_dataset or list_datasets, giving provenance. It does not deeply explain format or semantics beyond that, so a 4 is appropriate.

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 a clear verb-resource pairing โ€” 'Re-trigger background semantic training for one dataset' โ€” and specifies the immediate return behavior. It also names the related tool get_dataset_status, which distinguishes this tool as the trigger versus the status poller. The stated use cases (schema changes, alias updates, force rebuild) further pin down its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: 'after schema changes, alias updates, or to force a fresh model build'. It also tells the agent exactly what to do after calling (poll get_dataset_status until model_tier reaches 'schema'), effectively providing a follow-up action and an alternative tool. This leaves no ambiguity about the workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

revoke_api_keyA
DestructiveIdempotent
Inspect

Revoke one API key by id (find ids with list_api_keys). The key stops authenticating and the revocation cannot be undone from this tool. Guardrails: an unknown key_id fails with api_key_not_found, and revoking the organization's last active key is refused with cannot_revoke_last_key โ€” create a replacement with create_api_key first. Returns key_id with revoked: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
key_idYesAPI key id from list_api_keys.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (destructiveHint, idempotentHint), the description adds critical behavioral context: the key stops authenticating, revocation cannot be undone, unknown ids fail with api_key_not_found, and the last active key is protected via cannot_revoke_last_key. It also states the return shape (key_id with revoked: true), which is valuable since there is no 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?

Every sentence earns its place: the core action, the consequence, the guardrails, and the return value. Information is front-loaded with the purpose and id source, and the guardrail details are compactly folded into a single sentence. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description fully specifies the return value)Skip, common failure modes, the ordering dependency on list_api_keys, and the remediation path via create_api_key. An agent has everything needed to call this tool correctly in both success and failure scenarios.

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?

The schema already covers 100% of the parameter meaning ('API key id from list_api_keys'). The description repeats this guidance with '(find ids with list_api_keys)' and adds error behavior for unknown ids, but it does not enrich the parameter semantics beyond what the schema provides. Baseline 3 is appropriate.

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 'Revoke one API key by id', a specific verb and resource, and immediately distinguishes itself from list_api_keys and create_api_key by explaining the id source and the guardrail for creating a replacement. The tool's purpose is unambiguous and clearly differentiated from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly tells the agent how to find ids ('find ids with list_api_keys') and provides a clear alternative path for a specific error case ('create a replacement with create_api_key first'). The guardrails describe when the tool will fail and how to respond, leaving no ambiguity about when to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

revoke_deviceA
DestructiveIdempotent
Inspect

Revoke one registered device by registration_id (find ids with list_devices), freeing one device slot. The device loses access on its next license refresh. An unknown registration_id fails with not_found. Returns revoked: true with the registration_id. Use list_devices to find registration ids.

ParametersJSON Schema
NameRequiredDescriptionDefault
registration_idYesDevice registration id from list_devices.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (destructive, idempotent, not read-only), the description discloses the timing of the effect ('loses access on its next license refresh'), the failure mode for unknown ids ('fails with not_found'), and the exact success return ('revoked: true with the registration_id'). This substantially exceeds what annotations alone provide and does not contradict them.

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 front-loaded with the verb and object, and each key fact appears early. The only flaw is redundancy: the instruction to use list_devices appears twice ('find ids with list_devices' and 'Use list_devices to find registration ids'), which could be trimmed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description correctly explains the return value ('Returns revoked: true with the registration_id'). It also covers the prerequisite, the destructive lifecycle effect, and the error case, leaving nothing necessary for a correct call missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (registration_id is described as 'Device registration id from list_devices'), so the baseline is 3. The description adds meaning by linking the parameter to the list_devices lookup and by spelling out the error behavior for an invalid registration_id, going beyond the schema field description.

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 a specific verb and resource: 'Revoke one registered device by registration_id.' It also clarifies the scope by mentioning the freeing of a device slot and pointing to list_devices, making it unmistakable that this is device revocation rather than the API-key or connector operations in the sibling list.

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 gives actionable guidance by telling the agent to use list_devices to find registration ids, both parenthetically and in the final sentence. It does not explicitly name alternative tools or when not to use this one, but none of the siblings perform device revocation, so the context is clear and the prerequisite is explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

route_capabilitiesA
Read-onlyIdempotent
Inspect

Pick the best unified capability for a natural-language objective and return the route plan: the selected capability, binding, and kind, the authoritative execution_owner, whether approval is required, confidence and reason, plus ordered fallbacks (max_fallbacks, default 3). The optional filters narrow which catalog entries may be selected. Routing never executes anything โ€” feed the selected_capability_id to execute_capability. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoPrefer capabilities carrying these tags.
kindsNoRestrict candidates to these capability kinds.
objectiveYesWhat you want to accomplish, in plain words.
binding_idsNoRestrict candidates to these bindings.
provider_idsNoRestrict candidates to these providers.
max_fallbacksNoHow many fallback routes to return, 0-10; defaults to 3.
execution_ownersNoRestrict candidates to these execution owners.
artifact_affinitiesNoPrefer capabilities affine to these artifacts.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool read-only and idempotent, and the description reinforces this with 'Read-only' and 'Routing never executes anything,' adding the crucial behavioral clarification that this is a planning step, not an action. This goes beyond the schema by explaining the non-execution trait and the follow-on step, which prevents misuse despite the annotations.

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?

Three sentences with no filler; the main action and output are front-loaded, the filter behavior is compressed into one sentence, and the critical non-execution disclaimer is placed last but clearly. Every sentence contributes a distinct piece of information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by listing the route plan's fields (selected capability, binding, kind, execution_owner, approval, confidence, reason, fallbacks), giving the agent an expectation of the response. It also covers the core invocation requirement (objective required, optional filters) and the next step (execute_capability). It doesn't explain the meaning of 'unified capability' or error cases, but for an 8-parameter planner, this is solid coverage.

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 100%, so the baseline is 3. The description's only parameter-specific addition is the general statement that optional filters narrow candidate selection, and it mentions max_fallbacks' default, which the schema already provides. It does not add new semantics for tags/kinds/binding/providers beyond their names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Pick') and resource ('best unified capability'), then enumerates the exact route-plan fields returned. It explicitly distinguishes itself from execute_capability by stating it never executes, making its role clear among siblings.

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 an explicit alternative: 'feed the selected_capability_id to execute_capability,' which tells an agent which sibling to use next. It also explains that optional filters narrow candidate catalogs, giving context for when to include parameters. It does not explicitly exclude other decision-planning siblings like plan_decision, so it falls short of full when/when-not coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_repository_fixAInspect

Run the repository pipeline and then apply its result in one call, returning the canonical repository envelope for both stages. pipeline takes run_repository_pipeline's arguments and must complete through simulate (the call fails otherwise); apply takes apply_repository's arguments with mode defaulting to patch_only โ€” the write modes still require the simulation gate to pass and write_permission=true. Use the separate stage tools when you need to review the plan or simulation before anything is written.

ParametersJSON Schema
NameRequiredDescriptionDefault
applyNoapply_repository arguments (branch, message, PR fields, write_permission); mode defaults to patch_only.
pipelineNorun_repository_pipeline arguments; defaults to {}.
repository_idYesSaved repository connector id from list_connectors.

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that the pipeline must complete through simulate or the call fails, and that write modes require the simulation gate to pass and write_permission=true. This goes beyond the annotations (readOnlyHint=false, destructiveHint=false) and explains the operational constraints and failure 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?

Two sentences, front-loaded with the core action, then the necessary caveats and usage guidance. No redundant phrasing or irrelevant detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a combined mutation tool with nested objects and no output schema, the description covers the main stages, prerequisites, failure conditions, and alternatives. It doesn't detail every possible apply mode or the exact envelope format, but these are likely defined elsewhere and the description provides sufficient context for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the parameters are already documented. The description adds value by explaining that pipeline takes run_repository_pipeline's arguments and apply takes apply_repository's arguments with mode defaulting to patch_only, clarifying the nested object semantics and the write_permission requirement.

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 runs the repository pipeline and then applies its result in one call, distinguishing it from the separate stage tools. It names the sub-operations and explicitly contrasts with the individual pipeline/apply tools, so an agent can select it correctly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says when to use this tool vs the alternatives: 'Use the separate stage tools when you need to review the plan or simulation before anything is written.' This gives a clear when-not and implies this tool is for when no review is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

run_repository_pipelineAInspect

Run the whole repository-intelligence chain โ€” snapshot, triage, plan, simulate โ€” in one call and return the canonical repository envelope with every stage's response, stage timings, and the ids (snapshot_id, plan_id, simulation_id) the apply step needs. Pass snapshot_id to reuse an existing snapshot or snapshot to create one inline; stop_after halts the chain early (triage skips the LLM planner, plan also skips the deterministic simulate). Signals, triage bounds, model, runs, and seed mirror the standalone stage tools. Use the single-stage tools when you need to inspect or adjust between stages.

ParametersJSON Schema
NameRequiredDescriptionDefault
runsNoSimulation scenario count; omit for the complexity-adaptive count.
seedNoSimulation seed; defaults to 42.
modelNoOptional planner model override for the plan stage.
signalsNoTriage evidence seeds (see triage_repository).
snapshotNoInline create_repository_snapshot arguments when no snapshot_id is given.
stop_afterNoStage to halt after; defaults to simulate (full chain).
snapshot_idNoExisting snapshot id to reuse.
token_budgetNoTriage evidence token budget; defaults to 6000.
repository_idYesSaved repository connector id from list_connectors.
max_snippet_linesNoTriage per-snippet line cap; defaults to 40.
max_evidence_itemsNoTriage evidence item cap; defaults to 16.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only include false hints for readOnly, openWorld, idempotent, and destructive, which are not very informative. The description adds significant behavioral context: it details the chain of stages, the return envelope contents (response, timings, ids), how stop_after halts early (with specific side effects like skipping the planner or simulate), and the ability to reuse snapshots. This goes beyond the annotations and provides insight into the tool's side effects and data flow.

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 relatively long but each sentence introduces a distinct concept: the chain and return envelope, snapshot handling, stop_after behavior, parameter mirroring, and the guidance to use single-stage tools. The most critical information (purpose, snapshot id, stop_after) is front-loaded, and the final guidance sentence is a useful addition without unnecessary fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of an 11-parameter orchestration tool with nested objects and no output schema, the description covers the essential aspects: what the tool does, how to control the chain, how to handle snapshots, and when to use alternatives. It doesn't detail the exact format of the envelope or how errors propagate, but with no output schema, that might be a minor gap. It provides enough for an agent to call correctly in most cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with rich descriptions for each parameter, so the baseline is 3. The description adds value by explaining how parameters interact: e.g., passing snapshot_id vs snapshot, stop_after values and their effect on subsequent stages, and that 'runs' and 'seed' mirror standalone tools. This clarifies the orchestration semantics beyond the raw schema.

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 function: runs the entire repository-intelligence chain (snapshot, triage, plan, simulate) in one call, returning a canonical envelope with stage responses, timings, and ids. It mentions specific stage names and the resources involved, making it easy to distinguish from the single-stage tools like triage_repository and simulate_repository.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool versus alternatives: 'Use the single-stage tools when you need to inspect or adjust between stages.' It also explains the key parameters (snapshot_id vs snapshot, stop_after) and how they affect the chain. This provides clear guidance on when to choose this orchestration tool over its components.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scoreA
Read-onlyIdempotent
Inspect

Run one simulation request (the same payload shape as simulate) and return the decision envelope fields plus a composite score with its breakdown. The score blends the normalized expected value and one minus the probability of loss; scoring_weights tunes the blend (expected_value default 0.6, downside_risk default 0.4). Use simulate when you need the full envelope without scoring, and compare to rank several scenarios. Synchronous deterministic compute; nothing is persisted. Returns recommended_action, expected_value, probability_of_loss, score, and score_breakdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
requestYesSimulation request forwarded to POST /v1/score.
scoring_weightsNoOptional expected_value/downside_risk weights.

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this read-only and idempotent, and the description adds non-obvious behavior: 'Synchronous deterministic compute; nothing is persisted.' It also discloses the scoring formula and the fact that no state is modified, which fully covers the safety profile.

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 compact and front-loaded: purpose first, then formula and defaults, then routing guidance, then behavior and returns. Every sentence earns its place; it packs a lot of information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description lists all return fields (recommended_action, expected_value, probability_of_loss, score, score_breakdown). The nested request payload is handled by pointing to simulate's payload shape and POST /v1/score, and side effects are explicitly addressed, so the agent has enough to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds real meaning beyond the schema: scoring_weights is explained as tuning the blend, with exact defaults (expected_value 0.6, downside_risk 0.4) and the formula using normalized expected value and one minus probability of loss. It also clarifies that request uses the same payload shape as simulate.

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 a specific verb-resource pair ('Run one simulation request') and names the exact return fields, so an agent knows what the tool produces. It also positions score against simulate and compare, explicitly saying simulate is for the full envelope without scoring and compare is for ranking scenarios.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives direct routing guidance: 'Use simulate when you need the full envelope without scoring, and compare to rank several scenarios.' This tells the agent when score is not the right choice and identifies the alternatives by name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simulateAInspect

Run a Monte Carlo simulation and get a structured decision recommendation. Use for: quantifying risk in a decision, comparing expected outcomes, getting probability-weighted recommendations. Synchronous deterministic compute governed by the plan's per-minute rate limit and monthly quota (429 on excess); the run is recorded asynchronously and appears in list_runs. Returns the decision envelope: recommended_action, expected_value, probability_of_loss, confidence, percentiles, and run metadata (run_id, execution_ms, scenarios_run).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoauto = minimal setup; expert = full distribution controlauto
objectiveNoAuto-mode objective. For expert mode, use objective_function.maximize_net_value
variablesYesInput variables as triangular distributions (low, most-likely, high)
n_simulationsNoMonte Carlo iteration count. Auto mode accepts 100โ€“100,000; expert mode accepts 100โ€“1,000,000.
objective_functionNoExpert-mode expression, for example 'revenue - cost'. Required when mode='expert'.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations all false, the description carries the full burden and does so thoroughly. It discloses synchronous deterministic execution, rate limits and quota with specific 429-on-excess behavior, asynchronous run recording visible in list_runs, and the exact return envelope fields.

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?

Three sentences convey action, use cases, behavioral constraints, and return value structure with no filler. Every sentence earns its place and key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for a compute-and-recommend tool: it covers when to use it, behavioral constraints, rate limiting, async persistence, and a full list of return fields despite the absence of an output schema. No critical calling information is missing.

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 100%, so the baseline is 3. The description does not add parameter-level detail beyond the schema, but it does not need to since the schema already documents all 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 states a specific action ('Run a Monte Carlo simulation') and a clear resource/output ('get a structured decision recommendation'). It clearly distinguishes from siblings like simulate_repository and recommend by emphasizing probability-weighted decision outcomes.

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?

Provides explicit use cases: 'quantifying risk in a decision, comparing expected outcomes, getting probability-weighted recommendations.' This gives clear context for when to use it, though it does not 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.

simulate_repositoryAInspect

Score the patch risk of a stored repository DecisionPlan with the deterministic simulation engine and return the gated DecisionEnvelope whose apply gate apply_repository checks. snapshot_id is resolved from the plan when omitted. runs pins the scenario count (100 or more; omit for the complexity-adaptive count) and seed (default 42) makes repeated calls reproducible โ€” no LLM is involved in this stage. Call create_repository_decision_plan first; use simulate_repository_patch instead for a patch that has no stored plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
runsNoScenario count, 100-250000; omit for the complexity-adaptive count.
seedNoSimulation seed for reproducible results; defaults to 42.
snapshot_idNoSnapshot id; resolved from the decision plan when omitted.
repository_idYesSaved repository connector id from list_connectors.
decision_plan_idYesPlan id from create_repository_decision_plan.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With all annotations false (no hints provided), the description carries the full burden. It discloses the deterministic engine, that no LLM is involved, that snapshot_id resolves when omitted, and that seed makes results reproducible. It does not explicitly state whether the operation mutates state, but the term 'simulate' and 'score' imply a read-only action, which is reasonably transparent for the 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 three sentences, front-loaded with the core purpose, then provides parameter behavior and usage routing. There is zero redundancy or fluff; every sentence adds necessary context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description does explain the return envelope and its role in apply_repository. It covers prerequisites, alternative, optional parameters, and resolution rules. It doesn't describe the DecisionEnvelope structure in detail or potential failure modes, but the tool is well-scoped and the description is sufficiently complete for an agent to call it correctly. Minor gaps prevent a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and every parameter has a description. The description essentially restates the schema for runs, seed, and snapshot_id, adding no new meaning beyond the schema. It adds the 'no LLM' note, which is behavioral rather than parametric, so the incremental value for parameter understanding is minimal. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (score patch risk), the resource (stored repository DecisionPlan), and the output (gated DecisionEnvelope checked by apply_repository). It explicitly distinguishes itself from simulate_repository_patch, which handles patches without a stored plan, making its scope unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit prerequisites ('Call create_repository_decision_plan first') and names the alternative tool for the other case ('use simulate_repository_patch instead for a patch that has no stored plan'). It also explains when to omit optional parameters, leaving no ambiguity about invocation context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simulate_repository_patchAInspect

Simulate the risk of an in-flight unified diff against one persisted snapshot and return the canonical repository envelope โ€” without creating a stored decision plan. Use this to verify a working-tree patch mid-run; use simulate_repository when a stored DecisionPlan already exists. Deterministic; no LLM is involved. Returns the gated DecisionEnvelope including the apply gate verdict.

ParametersJSON Schema
NameRequiredDescriptionDefault
confidenceNoOptional caller confidence recorded with the simulation.
patch_diffYesUnified diff of the in-flight patch to evaluate.
snapshot_idYesSnapshot id from create_repository_snapshot.
repository_idYesSaved repository connector id from list_connectors.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since all annotations are false and provide little safety coverage, the description carries the burden. It adds meaningful behavioral context: no stored decision plan is created, execution is deterministic and LLM-free, and the result is the gated DecisionEnvelope with the apply gate verdict. It stops short of disclosing possible audit/billing side effects, but the simulation framing and explicit no-persistence guarantee are substantial.

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 three sentences front-load the core function and each clause contributes useful information. There is minor redundancy between 'canonical repository envelope' and 'gated DecisionEnvelope', but the description is still tight and appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter tool with no output schema and neutral annotations, the description provides the operational trigger, the no-persistence guarantee, determinism, and the return shape. It is largely complete, though terms like 'canonical repository envelope' assume some domain familiarity.

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?

The schema already describes all four parameters at 100% coverage, so the baseline applies. The description reinforces that patch_diff is an 'in-flight unified diff' and snapshot is 'persisted', but it does not add meaningful parameter-level semantics beyond the schema.

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 the exact operation โ€” simulate the risk of an in-flight unified diff against one persisted snapshot โ€” and explicitly contrasts it with the closely named sibling simulate_repository by noting no stored decision plan is created. This makes the tool distinguishable without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives an explicit usage directive: verify a working-tree patch mid-run. It also names the alternative and the condition that selects it: use simulate_repository when a stored DecisionPlan already exists.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_jobAInspect

Submit a long-running async simulation job. Use for n_simulations > 500,000 or when you need a callback. Returns a job_id โ€” poll with get_job_status. Submitting persists the job under the active API key's organization; when callback_url is set, completion is delivered to it by outbound webhook.

ParametersJSON Schema
NameRequiredDescriptionDefault
objectiveNomaximize
variablesYes
callback_urlNoWebhook URL for completion notification
n_simulationsNo

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate mutation and non-idempotency, and the description adds useful behavioral context beyond those: the job persists under the active API key's organization and completion is delivered by outbound webhook when callback_url is set. It also clarifies the async nature and returns a job_id.

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 dense sentences, front-loaded with the core action and the decisive usage threshold. Every clause adds value: usage trigger, return value, polling workflow, persistence, and webhook behavior. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the essential workflow: how to invoke, what is returned, how to get status, where the job is persisted, and callback behavior. It is missing guidance on what constitutes valid contents for the required 'variables' parameter, but otherwise the tool can be called and monitored with confidence.

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 only 25%, so the description must compensate. It adds meaning for n_simulations ('Use for n_simulations > 500,000') and callback_url ('completion is delivered to it by outbound webhook'). However, it does not clarify the required 'variables' array or the 'objective' parameter, which remain undocumented and are important to call the tool correctly.

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 a specific verb and resource: 'Submit a long-running async simulation job.' It distinguishes itself from the polling siblings by saying it 'Returns a job_id โ€” poll with get_job_status,' and from synchronous simulation tools by emphasizing the async and long-running nature.

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?

Provides an explicit trigger for use: 'Use for n_simulations > 500,000 or when you need a callback.' This is actionable guidance, though it does not explicitly name an alternative tool for smaller jobs or cases without a callback, which would have made the routing fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

test_capability_bindingA
Idempotent
Inspect

Run a health test on one capability binding and return the outcome. Pass binding_id to test a saved binding, or a full inline definition (provider_id, profile_id, config, ...) to preview-test one that was never saved โ€” nothing is persisted in the preview form. Use this after create_capability_binding or update, before routing traffic to the binding.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoScope for the inline preview form.
configNoCredentials/options for the inline preview form.
scope_refNoScope reference for the inline preview form.
binding_idNoSaved binding id to test; omit to preview-test inline.
profile_idNoProfile id for the inline preview form.
provider_idNoProvider id for the inline preview form.
execution_ownerNoExecution owner for the inline preview form.
customer_metadataNoMetadata for the inline preview form.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds valuable context beyond the annotations: it explicitly states that nothing is persisted in the preview form, which is a key behavioral detail. However, it doesn't describe the exact nature of the 'health test' outcome or whether the saved-binding mode has any side effects. Annotations already declare idempotentHint=true and destructiveHint=false, so the description's non-persistence note is a useful addition, but more could be said about the return value.

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, with the primary purpose front-loaded and the usage context following. Every sentence adds necessary information without redundancy. It is appropriately concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex (8 parameters, two modes, no output schema), and the description covers the key aspects: what it does, the two invocation styles, the non-persistence caveat, and the recommended timing. It doesn't describe the exact format of the 'outcome' returned, but given no output schema and the fact that the outcome is likely self-explanatory, the description is sufficient for an agent to call it correctly.

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?

The input schema has 100% description coverage for all 8 parameters, each with a clear purpose. The description groups parameters into two modes (binding_id vs. inline definition fields) and explains their role, but it doesn't add semantic details beyond what the schema already provides. Since schema coverage is high, a baseline of 3 is appropriate.

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: 'Run a health test on one capability binding and return the outcome.' It distinguishes between testing a saved binding (via binding_id) and preview-testing an inline definition, which differentiates it from sibling tools like create_capability_binding, update, or route_capabilities. The resource and action are specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is provided: 'Use this after create_capability_binding or update, before routing traffic to the binding.' It also explains the two usage modes (saved vs. inline) and clarifies that the preview form does not persist anything, which tells the agent exactly when and how to invoke it. This is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

test_connectorA
Idempotent
Inspect

Run a real connectivity test against one saved connector's stored config and persist the outcome as its live or error status with last_tested_at. This opens an actual connection to the source. Use preview_test_connector for an unsaved inline definition, and browse_connector once the connector is live. Returns success, message, latency_ms, status, error_type, and recoverable.

ParametersJSON Schema
NameRequiredDescriptionDefault
connector_idYesSaved connector id from list_connectors.

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover readOnly/idempotent/destructive hints, but the description adds valuable behavior beyond them: it persists the outcome as live or error status, records last_tested_at, and returns latency/error details. It clearly discloses the real-connection side effect. No contradiction with annotations.

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?

Three tight sentences: purpose and side effect first, alternative routing second, return payload last. There is no filler, and every sentence contributes either selection guidance or invocation context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description tells the agent what the tool does, when to use it versus alternatives, what effect it has, and what the response will contain. Nothing critical is missing for correct selection and invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for connector_id, and the schema already explains the parameter. The description adds a bit of context by mentioning 'saved connector's stored config' and implicitly linking to list_connectors, but the schema carries the main semantic load.

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 and resource: 'Run a real connectivity test against one saved connector's stored config' and distinguishes it from preview_test_connector and browse_connector. An agent can immediately tell what this tool does and how it differs from nearby siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly routes usage: use preview_test_connector for an unsaved inline definition, and browse_connector once the connector is live. It also calls out that this 'opens an actual connection to the source,' which is important context for deciding whether to invoke it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

test_webhook_deliveryAInspect

Send one real test webhook payload (event webhook.test with a sample message) to a callback URL and return the delivery result. This makes an actual outbound HTTP POST from the Algenta API to the given URL, with no retries. Use it to verify a receiver before wiring callback_url into submit_job or register_trigger. Returns success, the receiver's HTTP status_code, and a message.

ParametersJSON Schema
NameRequiredDescriptionDefault
callback_urlYesURL that should receive the test webhook payload.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses key behavioral traits beyond the annotations: this makes an actual outbound HTTP POST, sends exactly one payload, performs no retries, and returns specific fields. This is especially valuable because there is no 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 front-loaded with the core action, then adds the key behavioral caveat (real POST, no retries), then the usage guidance, then the return contract. Every sentence 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.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description covers everything an agent needs: what happens, the event payload, the network action, the no-retry behavior, when to use it, and what the result contains. Nothing essential is missing.

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 100% and the only parameter, callback_url, is clearly documented in the schema as the URL receiving the payload. The description adds no parameter-level detail beyond what the schema already provides, so the baseline of 3 applies.

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 and resource: send one real test webhook payload to a callback URL and return the delivery result. It clearly identifies the event type (webhook.test) and distinguishes this tool from connected siblings like test_connector and test_capability_binding.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use the tool: 'Use it to verify a receiver before wiring callback_url into submit_job or register_trigger.' This names the relevant alternative tools and gives a concrete workflow, making the usage condition clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tokenizeA
Read-onlyIdempotent
Inspect

Tokenize UTF-8 text into individual tokens with a supported deterministic Algenta tokenizer model (default text.tokenizer; call list_models for every supported model id). Use this when you need the token strings themselves; call count_tokens when you only need the number. Read-only and deterministic: the same input and model always return the same tokens, and nothing is stored. Returns the resolved model id, its tokenizer_kind, the tokens array, and token_count. An unsupported model id fails with model_not_supported.

ParametersJSON Schema
NameRequiredDescriptionDefault
inputYesUTF-8 text to tokenize.
modelNoTokenizer model id from list_models.text.tokenizer

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds meaningful extra behavior: determinism ('same input and model always return the same tokens'), the fact that nothing is stored, the exact returned fields, and the error mode model_not_supported. This genuinely enriches the annotation-only picture without contradicting it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than one sentence but every sentence carries a distinct purpose: purpose, alternate tool, behavioral guarantees, return shape, and error behavior. It is front-loaded with the core action. Slightly dense, but nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though there is no output schema, the description lists all returned fields (resolved model id, tokenizer_kind, tokens array, token_count) and the failure case. With only two simple parameters and rich annotations, no piece of information an agent needs to invoke this tool correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both input and model. The description adds some contextโ€”supported deterministic model, default text.tokenizer, and the failure mode for unsupported idsโ€”but most of this is also visible in the schema (e.g., 'Tokenizer model id from list_models'). The added value is modest, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Tokenize UTF-8 text into individual tokens' with a supported deterministic tokenizer model. It clearly distinguishes itself from the sibling count_tokens by noting it returns the token strings themselves, and identifies the default model. An agent can immediately understand what the tool does and what it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides when-to-use guidance ('Use this when you need the token strings themselves') and names the alternative ('call count_tokens when you only need the number'). It also directs the agent to list_models for supported model ids, covering prerequisite knowledge. Left with no ambiguity about when to choose this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

triage_repositoryAInspect

Condense one repository snapshot into a bounded workspace evidence bundle for the planner: ranked suspect files and symbols with scored, budget-capped snippets. signals seeds the search โ€” pass issue_text, diagnostics, failing_tests, changed_files, and/or workspace_context. The returned workspace_evidence_bundle_ref is the required input to create_repository_decision_plan; use run_repository_pipeline to chain both stages in one call. Read-only against the repository; persists the bundle artifact. Returns suspect_files, suspect_symbols, evidence_items, and token reduction stats.

ParametersJSON Schema
NameRequiredDescriptionDefault
signalsYesEvidence seeds: issue_text, diagnostics, failing_tests, changed_files, workspace_context.
snapshot_idYesSnapshot id from create_repository_snapshot.
token_budgetNoTotal evidence token budget, 256-32000; defaults to 6000.
repository_idYesSaved repository connector id from list_connectors.
max_snippet_linesNoPer-snippet line cap, 5-200; defaults to 40.
max_evidence_itemsNoEvidence item cap, 1-64; defaults to 16.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide no safety signals (readOnlyHint, idempotentHint, destructiveHint all false), so the description carries the burden. It discloses the side effect ('persists the bundle artifact') while clarifying it is 'read-only against the repository', plus describes costing and return behavior. This does not contradict the annotations.

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?

Five concise sentences, with the core purpose front-loaded. Every sentence contributes: purpose, signal inputs, downstream pipeline relationship, side effect, and return fields. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the explicit return-field list (suspect_files, suspect_symbols, evidence_items, token reduction stats) is valuable. The side effect and pipeline role are also covered. Minor gaps like failure modes or artifact overwrite behavior prevent a perfect score.

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 100%, so the baseline is 3. The description adds useful meaning for signals by listing issue_text, diagnostics, failing_tests, changed_files, and workspace_context, but most parameter ranges, defaults, and provenance are already documented in the schema.

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 ('Condense') and resource ('one repository snapshot into a bounded workspace evidence bundle'), and clearly states it produces ranked, scored, budget-capped evidence for the planner. It also distinguishes itself from the downstream create_repository_decision_plan and the chaining run_repository_pipeline.

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 explicitly says the returned bundle is the required input to create_repository_decision_plan and that run_repository_pipeline chains both stages in one call, giving an agent clear routing context. It does not provide explicit when-not-to-use exclusions, but the pipeline context is strong.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_connectorA
Idempotent
Inspect

Partially update one saved connector: only the supplied fields change. Passing a new config replaces the encrypted credentials and resets the connector to untested, so call test_connector again afterwards. Requires manage permission on the connector (access_scope_denied otherwise) and at least one field; an unknown id fails with not_found. Returns the updated connector. Use preview_test_connector to validate a new config before applying it here.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew human-readable name.
configNoReplacement connection config; resets health status to untested.
visibilityNoNew visibility.
descriptionNoNew description note.
connector_idYesSaved connector id from list_connectors.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses important behavioral side effects beyond annotations: replacing config replaces encrypted credentials and resets status to untested, permission failure yields access_scope_denied, unknown ids yield not_found, and the operation returns the updated connector. This aligns with readOnlyHint=false and destructiveHint=false, and does not contradict idempotentHint=true.

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?

Four dense sentences with no filler. The purpose and partial-update semantics are front-loaded, and permissions, error conditions, side effects, follow-up steps, and alternatives are all packed into a compact, readable block.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having no output schema, the description names the return value, prerequisites, error cases, side effects, and the recommended pre- and post-update workflow. There is no critical missing information for an agent to correctly select and invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds value by noting that at least one field must be supplied, a constraint not enforced by the schema, and explaining that the config parameter replaces encrypted credentials and resets health status. This is meaningful parameter-level guidance beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Partially update one saved connector'. It also clarifies the partial-update semantics ('only the supplied fields change'), which distinguishes it from create_connector, delete_connector, and test_connector without requiring an agent to infer the tool's role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit preconditions (manage permission, at least one field), error behavior (access_scope_denied, not_found), and points to preview_test_connector as the recommended validation step before applying a new config. It also instructs the agent to call test_connector again after a config change, giving clear post-update guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_execution_policyA
Idempotent
Inspect

Partially update the organization's autonomous execution policy: only the fields supplied change, the rest keep their values. min_confidence blocks decisions below that confidence, risk_floor blocks decisions whose worst-case (p5) loss exceeds it, require_calibration makes auto-execution wait for enough recorded outcomes, and allow_reexecution is the idempotency gate. Changes take effect immediately, are recorded in the audit log, and write a new policy snapshot (see list_execution_policy_snapshots). Read the current values first with get_execution_policy. Returns the full updated policy.

ParametersJSON Schema
NameRequiredDescriptionDefault
risk_floorNoBlock executions whose worst-case (p5) loss exceeds this.
min_confidenceNoBlock executions whose confidence is below this, 0-1.
allow_reexecutionNoIdempotency gate preventing double-actions.
require_calibrationNoRequire recorded outcomes before auto-execution.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations, the description documents observable side effects: changes take effect immediately, are recorded in the audit log, and write a new policy snapshot. It also discloses the partial-update behavior and return value (full updated policy), providing the behavioral context an agent needs.

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?

Each sentence earns its place: partial-update semantics first, then parameter effects, then side effects and related tools, then return value. There is no filler or repetition despite the dense content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description compensates by stating the return value, side effects, preconditions, and parameter semantics. An agent has enough information to call update_execution_policy correctly without inspecting further docs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents each parameter. The description adds value by contextualizing them ('blocks decisions below that confidence,' 'idempotency gate,' 'wait for enough recorded outcomes') and by explaining that only supplied fields change.

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 a precise verb and resource: 'Partially update the organization's autonomous execution policy.' It clarifies scope ('only the fields supplied change') and names related sibling tools (get_execution_policy, list_execution_policy_snapshots), so an agent can distinguish it from the read and snapshot tools.

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 gives a clear precondition ('Read the current values first with get_execution_policy') and points to list_execution_policy_snapshots for the resulting snapshot. It does not spell out explicit when-not-to-use conditions, but the context is sufficiently clear for a partial-update tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_meA
Idempotent
Inspect

Update the current user's name and/or the organization name for the active API key; only the supplied fields change. Renaming the organization requires an admin or owner key (access_scope_denied otherwise), and the key must be linked to a user (user_not_found for service keys). At least one of name or org_name is required. Returns the updated identity; read it first with get_me.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew display name for the calling user.
org_nameNoNew organization name; requires admin or owner role.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already signal a non-read-only, idempotent, non-destructive operation. The description goes beyond them by disclosing partial-update semantics ('only the supplied fields change'), specific error conditions, and permission requirements. No contradiction with annotations.

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?

Three dense sentences deliver action, scope, constraints, errors, and return behavior without repetition. Every sentence earns its place and the most important scoping information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter update tool with no output schema, the description covers parameters, return value, prerequisites, error cases, and read-before guidance. An agent has enough information to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters have descriptions. The description adds valuable semantics beyond the schema: at least one parameter is required, only supplied fields are changed, and org_name carries an additional admin/owner constraint.

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 and resource: 'Update the current user's name and/or the organization name for the active API key.' It clearly differentiates this from get_me and other update_* tools by scoping exactly what is mutated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides explicit when-to-use details: at least one of name or org_name is required, org renaming requires admin/owner, and service keys are not allowed. It also prescribes a supporting step with 'read it first with get_me.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_team_member_roleA
Idempotent
Inspect

Change one organization member's role by user_id (find ids with list_team_members). Requires an admin API key. Guardrails: you cannot change your own role (self_role_change_forbidden), only an owner can grant the owner role (owner_grant_forbidden), and demoting the last active owner is refused (last_owner). An unknown user_id fails with not_found. Returns the updated user_id and a confirmation message. Use remove_team_member to take the member out of the organization instead.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYesNew org role for the member.
user_idYesTarget member's user_id from list_team_members.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this as non-read-only and non-destructive, and the description adds rich behavioral context: admin key requirement, three guardrail error conditions, the not_found failure case, and the return value. There is no contradiction with the annotations; idempotentHint is consistent with assigning a role.

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 compact and every sentence earns its place: purpose, lookup hint, auth requirement, guardrails, error behavior, return value, and sibling alternative. The guardrails are efficiently packed into a single clause-separated sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation tool with no output schema, this description is complete: it covers inputs, auth, failure modes, return value, and relationship to a sibling tool. An agent has enough context to select and invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters and their types, giving a baseline of 3. The description adds value by tying user_id to list_team_members and by explaining role-related restrictions beyond the enum values. This exceeds the baseline without being redundant.

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 ('Change'), a precise resource ('one organization member's role'), and the lookup key ('user_id'). It also names the explicit alternative, remove_team_member, which distinguishes this tool from related sibling tools like invite_team_member and remove_team_member.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly states when to use the tool: to change a member's role. It also provides the prerequisite (admin API key), tells the agent where to find user IDs (list_team_members), and explicitly names the alternative for removal (remove_team_member). No usage ambiguity remains.

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. 75 tool updatesv0.1.3
    • Changedapply_repository11 fields changed
      • addedInput schema / properties / base_branch / description
        Added value: +"Branch the patch applies onto and the PR targets; defaults to the connector's default branch."
      • addedInput schema / properties / branch_name / description
        Added value: +"Branch to create; defaults to algenta/<plan-suffix>."
      • addedInput schema / properties / commit_message / description
        Added value: +"Commit message; a default naming the plan id is used otherwise."
      • addedInput schema / properties / decision_plan_id / description
        Added value: +"Plan id from create_repository_decision_plan."
      • addedInput schema / properties / mode / description
        Added value: +"patch_only returns the diff; local_branch commits it; remote_pr pushes and opens a PR."
      • addedInput schema / properties / pull_request_body / description
        Added value: +"PR body for remote_pr mode."
      • addedInput schema / properties / pull_request_title / description
        Added value: +"PR title for remote_pr mode."
      • addedInput schema / properties / repository_id / description
        Added value: +"Saved repository connector id from list_connectors."
      • addedInput schema / properties / simulation_id / description
        Added value: +"Simulation id from simulate_repository."
      • addedInput schema / properties / snapshot_id / description
        Added value: +"Snapshot id; resolved from the decision plan when omitted."
      • addedInput schema / properties / write_permission / description
        Added value: +"Must be true for local_branch and remote_pr; ignored for patch_only."
    • Changedapprove_agent_run1 field changed
      • addedInput schema / properties / run_id / description
        Added value: +"Waiting run id from create_agent_run or list_agent_runs."
    • Changedbrowse_connector1 field changed
      • addedInput schema / properties / connector_id / description
        Added value: +"Saved connector id from list_connectors."
    • Changedcancel_agent_run1 field changed
      • addedInput schema / properties / run_id / description
        Added value: +"Run id from create_agent_run or list_agent_runs."
    • Changedchat_completions4 fields changed
      • addedInput schema / properties / messages / description
        Added value: +"Ordered conversation transcript; the last user message is the prompt."
      • addedInput schema / properties / messages / items / properties / content / description
        Added value: +"Text content of this transcript turn."
      • addedInput schema / properties / messages / items / properties / role / description
        Added value: +"Speaker role for this transcript turn."
      • addedInput schema / properties / model / description
        Added value: +"Chat-capable model id from list_models."
    • Changedcompare3 fields changed
      • addedInput schema / properties / runs / description
        Added value: +"Scenario count per simulation; forwarded to each run."
      • changedInput schema / properties / scenarios / description
        Previous value: -"Named scenarios forwarded to POST /v1/compare."New value: +"Named scenarios, each {name, request} with request in the simulate payload shape; 2-10 items."
      • addedInput schema / properties / seed / description
        Added value: +"Simulation seed for reproducible results."
    • Changedcount_tokens2 fields changed
      • addedInput schema / properties / input / description
        Added value: +"UTF-8 text whose tokens are counted."
      • addedInput schema / properties / model / description
        Added value: +"Tokenizer model id from list_models."
    • Changedcreate_agent_run7 fields changed
      • addedInput schema / properties / approval_mode / description
        Added value: +"auto executes immediately (default); manual waits for approve_agent_run before executing."
      • addedInput schema / properties / context / description
        Added value: +"Optional structured context or data for the task."
      • addedInput schema / properties / max_steps / description
        Added value: +"Maximum execution steps, 1-50; defaults to 10."
      • addedInput schema / properties / output_format / description
        Added value: +"Result format: text (default), json, or markdown."
      • addedInput schema / properties / start_paused / description
        Added value: +"Persist the run in paused state until resume_agent_run."
      • addedInput schema / properties / task / description
        Added value: +"What the agent should do, in plain words (min 5 characters)."
      • addedInput schema / properties / tools / description
        Added value: +"Restrict the tools the agent may pick from; defaults to search, simulate, optimize, calculate, summarize."
    • Changedcreate_api_key3 fields changed
      • addedInput schema / properties / device_limit / description
        Added value: +"Optional per-key device cap; must not exceed the plan ceiling."
      • addedInput schema / properties / expires_at / description
        Added value: +"Optional ISO-8601 expiry timestamp for the key."
      • addedInput schema / properties / label / description
        Added value: +"Human-readable label identifying the key's purpose."
    • Changedcreate_billing_checkout1 field changed
      • addedInput schema / properties / plan / description
        Added value: +"Plan to purchase; defaults to developer."
    • Changedcreate_capability_binding8 fields changed
      • addedInput schema / properties / binding_name / description
        Added value: +"Human-readable binding name."
      • addedInput schema / properties / config / description
        Added value: +"Profile credentials and options."
      • addedInput schema / properties / customer_metadata / description
        Added value: +"Optional caller metadata stored with the binding."
      • addedInput schema / properties / execution_owner / description
        Added value: +"Where executions run; defaults to the profile's default_execution_owner."
      • addedInput schema / properties / profile_id / description
        Added value: +"Profile id within the provider."
      • addedInput schema / properties / provider_id / description
        Added value: +"Provider id from list_capability_providers."
      • addedInput schema / properties / scope / description
        Added value: +"Visibility scope; defaults to workspace."
      • addedInput schema / properties / scope_ref / description
        Added value: +"Optional concrete user/workspace id the scope binds to."
    • Changedcreate_connector5 fields changed
      • addedInput schema / properties / config / description
        Added value: +"Type-specific connection settings and credentials; encrypted at rest and never returned."
      • addedInput schema / properties / connector_type / description
        Added value: +"Connector type id, e.g. a database, API, file, or repository type."
      • addedInput schema / properties / description / description
        Added value: +"Optional note on what this connector is for."
      • addedInput schema / properties / name / description
        Added value: +"Human-readable connector name."
      • addedInput schema / properties / visibility / description
        Added value: +"Who can see the connector; defaults to private."
    • Changedcreate_deployment4 fields changed
      • addedInput schema / properties / billing_markup_pct / description
        Added value: +"Billing markup percentage applied to this deployment, 0-200."
      • addedInput schema / properties / config / description
        Added value: +"Optional provider-specific configuration."
      • addedInput schema / properties / provider / description
        Added value: +"Cloud provider: algenta_shared (default), aws, azure, or gcp."
      • addedInput schema / properties / region / description
        Added value: +"Region id from list_deployment_regions; defaults to algenta-shared."
    • Changedcreate_repository_decision_plan4 fields changed
      • addedInput schema / properties / model / description
        Added value: +"Optional planner model override."
      • addedInput schema / properties / repository_id / description
        Added value: +"Saved repository connector id from list_connectors."
      • addedInput schema / properties / snapshot_id / description
        Added value: +"Snapshot id; resolved from the evidence bundle when omitted."
      • addedInput schema / properties / workspace_evidence_bundle_ref / description
        Added value: +"Bundle ref returned by triage_repository."
    • Changedcreate_repository_snapshot6 fields changed
      • addedInput schema / properties / exclude_patterns / description
        Added value: +"Glob patterns excluding files from the snapshot."
      • addedInput schema / properties / include_patterns / description
        Added value: +"Glob patterns limiting which files are snapshotted."
      • addedInput schema / properties / max_file_size_bytes / description
        Added value: +"Per-file size cap in bytes, 1024-10000000; defaults to 1000000."
      • addedInput schema / properties / max_files / description
        Added value: +"File-count cap, up to 200000; defaults to 20000."
      • addedInput schema / properties / ref / description
        Added value: +"Git ref to snapshot; defaults to the connector's default ref."
      • addedInput schema / properties / repository_id / description
        Added value: +"Saved repository connector id from list_connectors."
    • Changeddisable_skill1 field changed
      • addedInput schema / properties / binding_id / description
        Added value: +"Skill binding id from list_skills."
    • Changeddiscover_capability_binding8 fields changed
      • addedInput schema / properties / binding_id / description
        Added value: +"Saved binding id to discover; omit to preview inline."
      • addedInput schema / properties / config / description
        Added value: +"Credentials/options for the inline preview form."
      • addedInput schema / properties / customer_metadata / description
        Added value: +"Metadata for the inline preview form."
      • addedInput schema / properties / execution_owner / description
        Added value: +"Execution owner for the inline preview form."
      • addedInput schema / properties / profile_id / description
        Added value: +"Profile id for the inline preview form."
      • addedInput schema / properties / provider_id / description
        Added value: +"Provider id for the inline preview form."
      • addedInput schema / properties / scope / description
        Added value: +"Scope for the inline preview form."
      • addedInput schema / properties / scope_ref / description
        Added value: +"Scope reference for the inline preview form."
    • Changedembedding_similarity3 fields changed
      • addedInput schema / properties / left / description
        Added value: +"First embedding vector; length must equal right's."
      • addedInput schema / properties / model / description
        Added value: +"Similarity model id from list_models; selects the metric."
      • addedInput schema / properties / right / description
        Added value: +"Second embedding vector; length must equal left's."
    • Changedembeddings3 fields changed
      • addedInput schema / properties / dimensions / description
        Added value: +"Length of each returned embedding vector."
      • addedInput schema / properties / input / description
        Added value: +"Text to embed: one string, or a list embedded item by item."
      • addedInput schema / properties / model / description
        Added value: +"Embedding model id from list_models."
    • Changedenable_skill6 fields changed
      • addedInput schema / properties / artifact_affinities / description
        Added value: +"Optional artifact affinities for routing."
      • addedInput schema / properties / description / description
        Added value: +"Optional human-readable summary of the skill."
      • addedInput schema / properties / execution_owner / description
        Added value: +"Where executions run; defaults to client_managed."
      • addedInput schema / properties / instruction / description
        Added value: +"Instruction text the skill injects when selected."
      • addedInput schema / properties / skill_name / description
        Added value: +"Skill name; also names the new binding."
      • addedInput schema / properties / tags / description
        Added value: +"Optional routing tags."
    • Changedexecute_capability4 fields changed
      • addedInput schema / properties / binding_id / description
        Added value: +"Optional binding id to disambiguate the execution target."
      • addedInput schema / properties / capability_id / description
        Added value: +"Capability id from route_capabilities or list_capabilities."
      • addedInput schema / properties / input / description
        Added value: +"Capability-specific execution input."
      • addedInput schema / properties / request_id / description
        Added value: +"Optional caller request id for correlation."
    • Changedexecute_runtime_library4 fields changed
      • addedInput schema / properties / args / description
        Added value: +"Positional argument list passed to the function."
      • addedInput schema / properties / function / description
        Added value: +"Public function exported by the module."
      • addedInput schema / properties / module / description
        Added value: +"Runtime library module name from list_runtime_libraries."
      • addedInput schema / properties / request_id / description
        Added value: +"Optional caller request id for correlation."
    • Changedget_agent_run1 field changed
      • addedInput schema / properties / run_id / description
        Added value: +"Run id returned by create_agent_run or list_agent_runs."
    • Changedget_agent_run_checkpoints1 field changed
      • addedInput schema / properties / run_id / description
        Added value: +"Run id returned by create_agent_run or list_agent_runs."
    • Changedget_agent_run_events2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum events returned, up to 1000; defaults to 1000."
      • addedInput schema / properties / run_id / description
        Added value: +"Run id returned by create_agent_run or list_agent_runs."
    • Changedget_agent_run_mission_events2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum events returned, up to 1000; defaults to 1000."
      • addedInput schema / properties / run_id / description
        Added value: +"Run id returned by create_agent_run or list_agent_runs."
    • Changedget_agent_run_telemetry2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum batches returned, up to 1000; defaults to 1000."
      • addedInput schema / properties / run_id / description
        Added value: +"Run id returned by create_agent_run or list_agent_runs."
    • Changedget_audit_log_artifacts11 fields changed
      • addedInput schema / properties / action / description
        Added value: +"Keep only artifacts with this action."
      • addedInput schema / properties / actor_email / description
        Added value: +"Keep only artifacts by this actor email."
      • addedInput schema / properties / content_hash / description
        Added value: +"Keep only the artifact with this content hash."
      • addedInput schema / properties / limit / description
        Added value: +"Entries per page, up to 100; defaults to 25."
      • addedInput schema / properties / manifest_version / description
        Added value: +"Keep only artifacts tied to this runtime manifest version."
      • addedInput schema / properties / page / description
        Added value: +"1-based page number; defaults to 1."
      • addedInput schema / properties / policy_snapshot_id / description
        Added value: +"Keep only artifacts tied to this execution-policy snapshot."
      • addedInput schema / properties / request_hash / description
        Added value: +"Keep only artifacts tied to this request hash."
      • addedInput schema / properties / resource_type / description
        Added value: +"Keep only artifacts against this resource type."
      • addedInput schema / properties / result / description
        Added value: +"Keep only artifacts with this result value."
      • addedInput schema / properties / schema_snapshot_id / description
        Added value: +"Keep only artifacts tied to this schema snapshot."
    • Changedget_audit_logs10 fields changed
      • addedInput schema / properties / action / description
        Added value: +"Keep only events with this action, e.g. execution_policy.update."
      • addedInput schema / properties / actor_email / description
        Added value: +"Keep only events by this actor email."
      • addedInput schema / properties / limit / description
        Added value: +"Entries per page, up to 100; defaults to 25."
      • addedInput schema / properties / manifest_version / description
        Added value: +"Keep only events tied to this runtime manifest version."
      • addedInput schema / properties / page / description
        Added value: +"1-based page number; defaults to 1."
      • addedInput schema / properties / policy_snapshot_id / description
        Added value: +"Keep only events tied to this execution-policy snapshot."
      • addedInput schema / properties / request_hash / description
        Added value: +"Keep only events tied to this request hash."
      • addedInput schema / properties / resource_type / description
        Added value: +"Keep only events against this resource type."
      • addedInput schema / properties / result / description
        Added value: +"Keep only events with this result value."
      • addedInput schema / properties / schema_snapshot_id / description
        Added value: +"Keep only events tied to this schema snapshot."
    • Changedget_capability2 fields changed
      • addedInput schema / properties / capability_id / description
        Added value: +"Capability id from list_capabilities or route_capabilities."
      • addedInput schema / properties / include_instruction / description
        Added value: +"Also return the instruction text for skill capabilities."
    • Changedget_connector1 field changed
      • addedInput schema / properties / connector_id / description
        Added value: +"Saved connector id from list_connectors."
    • Changedget_deployment_cost1 field changed
      • addedInput schema / properties / deployment_id / description
        Added value: +"Deployment id from get_deployment."
    • Changedget_repository_snapshot2 fields changed
      • addedInput schema / properties / repository_id / description
        Added value: +"Saved repository connector id from list_connectors."
      • addedInput schema / properties / snapshot_id / description
        Added value: +"Snapshot id returned by create_repository_snapshot."
    • Changedingest_metering_events10 fields changed
      • addedInput schema / properties / device_id / description
        Added value: +"Managed-runtime device id that produced the events."
      • addedInput schema / properties / events / description
        Added value: +"Analytics events; every field below is optional."
      • addedInput schema / properties / events / items / properties / engine_used / description
        Added value: +"Compute engine that executed the call."
      • addedInput schema / properties / events / items / properties / event_type / description
        Added value: +"Event kind label, e.g. execution."
      • addedInput schema / properties / events / items / properties / function / description
        Added value: +"Function within the module that ran."
      • addedInput schema / properties / events / items / properties / latency_ms / description
        Added value: +"Observed execution latency in milliseconds."
      • addedInput schema / properties / events / items / properties / module / description
        Added value: +"Runtime module that ran."
      • addedInput schema / properties / events / items / properties / request_id / description
        Added value: +"Caller-side request id for correlation."
      • addedInput schema / properties / events / items / properties / success / description
        Added value: +"Whether the execution succeeded."
      • addedInput schema / properties / events / items / properties / timestamp / description
        Added value: +"Unix timestamp of the event; determines its billing period."
    • Changedinvite_team_member2 fields changed
      • addedInput schema / properties / email / description
        Added value: +"Email address the invite link is sent to."
      • addedInput schema / properties / role / description
        Added value: +"Org role granted on accept; defaults to member."
    • Changedlist_agent_runs6 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Runs per page, up to 200; defaults to 25."
      • addedInput schema / properties / page / description
        Added value: +"1-based page number; defaults to 1."
      • addedInput schema / properties / policy_snapshot_id / description
        Added value: +"Keep only runs under this execution-policy snapshot."
      • addedInput schema / properties / request_hash / description
        Added value: +"Keep only runs created from this request hash."
      • addedInput schema / properties / schema_snapshot_id / description
        Added value: +"Keep only runs under this schema snapshot."
      • addedInput schema / properties / status / description
        Added value: +"Keep only runs in this lifecycle status."
    • Changedlist_capabilities3 fields changed
      • addedInput schema / properties / binding_ids / description
        Added value: +"Keep only capabilities from these bindings."
      • addedInput schema / properties / kinds / description
        Added value: +"Keep only these capability kinds."
      • addedInput schema / properties / provider_ids / description
        Added value: +"Keep only capabilities from these providers."
    • Changedlist_capability_bindings2 fields changed
      • addedInput schema / properties / provider_id / description
        Added value: +"Keep only bindings of this provider."
      • addedInput schema / properties / scope / description
        Added value: +"Keep only bindings at this scope."
    • Changedlist_connectors3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Connectors per page; defaults to 25."
      • addedInput schema / properties / page / description
        Added value: +"1-based page number; defaults to 1."
      • addedInput schema / properties / status / description
        Added value: +"Keep only connectors in this health status; defaults to all."
    • Changedlist_devices2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Devices per page, up to 200; defaults to 25."
      • addedInput schema / properties / page / description
        Added value: +"1-based page number; defaults to 1."
    • Changedlist_jobs3 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Jobs per page, up to 200; defaults to 25."
      • addedInput schema / properties / page / description
        Added value: +"1-based page number; defaults to 1."
      • changedInput schema / properties / status / description
        Previous value: -"Optional job status filter such as queued or completed."New value: +"Optional job status filter such as queued, running, completed, failed, or cancelled."
    • Changedlist_runs1 field changed
      • addedInput schema / properties / status / description
        Added value: +"Keep only runs in this status."
    • Changedlist_runtime_libraries2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Maximum modules to return, up to 1000; defaults to 1000."
      • addedInput schema / properties / q / description
        Added value: +"Substring match against module names and exported functions."
    • Changedlist_team_members2 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Members per page (default 25 when paginating)."
      • addedInput schema / properties / page / description
        Added value: +"1-based page number; enables the paginated envelope."
    • Changedpreview_test_connector2 fields changed
      • addedInput schema / properties / config / description
        Added value: +"Inline connection settings and credentials to test."
      • addedInput schema / properties / connector_type / description
        Added value: +"Connector type id to test."
    • Changedproduct_agent_run5 fields changed
      • addedInput schema / properties / context / description
        Added value: +"Optional structured context or data for the task."
      • addedInput schema / properties / max_steps / description
        Added value: +"Maximum execution steps, 1-50; defaults to 10."
      • addedInput schema / properties / output_format / description
        Added value: +"Result format: text (default), json, or markdown."
      • addedInput schema / properties / task / description
        Added value: +"What the agent should do, in plain words (min 5 characters)."
      • addedInput schema / properties / tools / description
        Added value: +"Restrict the tools the agent may pick from; defaults to search, simulate, optimize, calculate, summarize."
    • Changedproduct_decision6 fields changed
      • addedInput schema / properties / engine / description
        Added value: +"Simulation engine; auto (default) selects one from the data shape. Options: monte_carlo, lhs, qmc_sobol, bootstrap, mcmc, importance_sampling, time_series, sensitivity."
      • changedInput schema / properties / inputs / description
        Previous value: -"Business inputs with current value and optional low/high bounds."New value: +"Business inputs as {name, value, low?, high?, unit?} objects; low+high turn a value into a triangular uncertainty range."
      • addedInput schema / properties / label / description
        Added value: +"Optional caller label stored with the decision."
      • addedInput schema / properties / objective / description
        Added value: +"Goal label such as maximize_value, minimize_risk, maximize_profit, or minimize_cost; defaults to maximize_value."
      • addedInput schema / properties / risk_tolerance / description
        Added value: +"Loss-probability ceiling for a proceed recommendation: low, medium (default), or high."
      • addedInput schema / properties / scenarios / description
        Added value: +"Scenarios to evaluate, 1000-1000000; defaults to 10000."
    • Changedproduct_forecast5 fields changed
      • addedInput schema / properties / confidence_level / description
        Added value: +"Confidence interval width, 0.5-0.99; defaults to 0.90. The z-value comes from the nearest of 0.90, 0.95, 0.99."
      • addedInput schema / properties / history / description
        Added value: +"Historical values in chronological order, most recent last; 3-1000 points."
      • addedInput schema / properties / horizon / description
        Added value: +"How many periods ahead to forecast, 1-120; defaults to 12."
      • addedInput schema / properties / metric / description
        Added value: +"Name of what you are forecasting, e.g. monthly_revenue."
      • addedInput schema / properties / seasonality / description
        Added value: +"Account for seasonal patterns; defaults to true."
    • Changedproduct_optimize5 fields changed
      • addedInput schema / properties / constraints / description
        Added value: +"Business constraints the answer must respect."
      • addedInput schema / properties / engine / description
        Added value: +"Simulation engine; auto (default) selects one, lhs is recommended for optimization. Options: lhs, monte_carlo, qmc_sobol."
      • addedInput schema / properties / iterations / description
        Added value: +"Search iterations, 100-100000; defaults to 1000."
      • addedInput schema / properties / objective / description
        Added value: +"What to optimize, e.g. 'maximize profit' or 'minimize cost'; the wording sets the search direction."
      • addedInput schema / properties / variables / description
        Added value: +"Variables as {name, min, max, unit?} objects with their allowed ranges."
    • Changedproduct_retrieve5 fields changed
      • addedInput schema / properties / collection_id / description
        Added value: +"ID of a connected data source to search."
      • addedInput schema / properties / documents / description
        Added value: +"Inline documents as {id?, content, metadata?} objects; the set that actually gets ranked."
      • addedInput schema / properties / query / description
        Added value: +"What you are looking for (min 3 characters)."
      • addedInput schema / properties / rerank / description
        Added value: +"Accepted for compatibility; ranking is always the deterministic lexical score."
      • addedInput schema / properties / top_k / description
        Added value: +"Number of results to return, 1-50; defaults to 5."
    • Changedquery_agent_run_checkpoints8 fields changed
      • addedInput schema / properties / checkpoint_id / description
        Added value: +"Fetch exactly this checkpoint."
      • addedInput schema / properties / limit / description
        Added value: +"Checkpoints per page, up to 200; defaults to 25."
      • addedInput schema / properties / page / description
        Added value: +"1-based page number; defaults to 1."
      • addedInput schema / properties / policy_snapshot_id / description
        Added value: +"Keep only checkpoints under this execution-policy snapshot."
      • addedInput schema / properties / request_hash / description
        Added value: +"Keep only checkpoints of runs with this request hash."
      • addedInput schema / properties / run_id / description
        Added value: +"Keep only checkpoints of this run."
      • addedInput schema / properties / schema_snapshot_id / description
        Added value: +"Keep only checkpoints under this schema snapshot."
      • addedInput schema / properties / status / description
        Added value: +"Keep only checkpoints of runs in this status."
    • Changedquery_agent_run_mission_events8 fields changed
      • addedInput schema / properties / event_type / description
        Added value: +"Keep only events of this type, e.g. run_completed."
      • addedInput schema / properties / limit / description
        Added value: +"Events per page, up to 200; defaults to 25."
      • addedInput schema / properties / page / description
        Added value: +"1-based page number; defaults to 1."
      • addedInput schema / properties / policy_snapshot_id / description
        Added value: +"Keep only events under this execution-policy snapshot."
      • addedInput schema / properties / request_hash / description
        Added value: +"Keep only events of runs with this request hash."
      • addedInput schema / properties / run_id / description
        Added value: +"Keep only events of this run."
      • addedInput schema / properties / schema_snapshot_id / description
        Added value: +"Keep only events under this schema snapshot."
      • addedInput schema / properties / status / description
        Added value: +"Keep only events of runs in this status."
    • Changedquery_agent_run_telemetry9 fields changed
      • addedInput schema / properties / limit / description
        Added value: +"Batches per page, up to 200; defaults to 25."
      • addedInput schema / properties / module_name / description
        Added value: +"Keep only telemetry batches from this runtime module."
      • addedInput schema / properties / page / description
        Added value: +"1-based page number; defaults to 1."
      • addedInput schema / properties / policy_snapshot_id / description
        Added value: +"Keep only telemetry under this execution-policy snapshot."
      • addedInput schema / properties / request_hash / description
        Added value: +"Keep only telemetry of runs with this request hash."
      • addedInput schema / properties / run_id / description
        Added value: +"Keep only telemetry of this run."
      • addedInput schema / properties / schema_snapshot_id / description
        Added value: +"Keep only telemetry under this schema snapshot."
      • addedInput schema / properties / status / description
        Added value: +"Keep only telemetry of runs in this status."
      • addedInput schema / properties / telemetry_kind / description
        Added value: +"Keep only telemetry batches of this kind."
    • Changedquery_repository_graph8 fields changed
      • addedInput schema / properties / direction / description
        Added value: +"Edge direction to walk: inbound = dependents, outbound = dependencies; defaults to both."
      • addedInput schema / properties / file_path / description
        Added value: +"Optional seed file to walk the graph from."
      • addedInput schema / properties / max_depth / description
        Added value: +"Traversal depth from the seeds, 1-6; defaults to 2."
      • addedInput schema / properties / max_nodes / description
        Added value: +"Graph node cap, 1-1024; defaults to 128."
      • addedInput schema / properties / repository_id / description
        Added value: +"Saved repository connector id from list_connectors."
      • addedInput schema / properties / snapshot_id / description
        Added value: +"Snapshot id from create_repository_snapshot; required unless workspace_evidence_bundle_ref is given."
      • addedInput schema / properties / symbol_name / description
        Added value: +"Optional seed symbol to walk the graph from."
      • addedInput schema / properties / workspace_evidence_bundle_ref / description
        Added value: +"Triage bundle ref; alternative seed scope to snapshot_id."
    • Changedrefresh_credits3 fields changed
      • addedInput schema / properties / billing_period / description
        Added value: +"Billing month in YYYY-MM form."
      • addedInput schema / properties / credits_used / description
        Added value: +"Credits consumed since the last refresh; defaults to 0."
      • addedInput schema / properties / device_id / description
        Added value: +"Registered device id the credits are issued to."
    • Changedremove_team_member1 field changed
      • addedInput schema / properties / user_id / description
        Added value: +"Member's user_id from list_team_members."
    • Changedrerank8 fields changed
      • addedInput schema / properties / documents / description
        Added value: +"Candidate documents to rank against the query vector."
      • addedInput schema / properties / documents / items / properties / embedding / description
        Added value: +"Document vector; length must equal query_embedding's."
      • addedInput schema / properties / documents / items / properties / id / description
        Added value: +"Caller-assigned document identifier, echoed back."
      • addedInput schema / properties / documents / items / properties / metadata / description
        Added value: +"Optional document metadata echoed back in the ranking."
      • addedInput schema / properties / documents / items / properties / text / description
        Added value: +"Optional document text echoed back in the ranking."
      • addedInput schema / properties / model / description
        Added value: +"Similarity model id from list_models; selects the metric."
      • addedInput schema / properties / query_embedding / description
        Added value: +"Query vector every document embedding is scored against."
      • addedInput schema / properties / top_n / description
        Added value: +"Optional cap on how many top-ranked documents are returned; omit to return all documents ranked."
    • Changedresponses3 fields changed
      • addedInput schema / properties / dimensions / description
        Added value: +"Embedding vector length when the selected model produces embeddings."
      • addedInput schema / properties / input / description
        Added value: +"One string, or a list of independent strings each processed as its own single-turn request."
      • addedInput schema / properties / model / description
        Added value: +"Model id from list_models; selects the output item type."
    • Changedresume_agent_run1 field changed
      • addedInput schema / properties / run_id / description
        Added value: +"Paused run id from create_agent_run or list_agent_runs."
    • Changedretrain_dataset2 fields changed
      • addedInput schema / properties / dataset_id / description
        Added value: +"Dataset ID from onboard_dataset or list_datasets."
      • addedInput schema / properties / epochs / description
        Added value: +"Training epochs, 5-500; defaults to 80."
    • Changedrevoke_api_key1 field changed
      • addedInput schema / properties / key_id / description
        Added value: +"API key id from list_api_keys."
    • Changedrevoke_device1 field changed
      • addedInput schema / properties / registration_id / description
        Added value: +"Device registration id from list_devices."
    • Changedroute_capabilities8 fields changed
      • addedInput schema / properties / artifact_affinities / description
        Added value: +"Prefer capabilities affine to these artifacts."
      • addedInput schema / properties / binding_ids / description
        Added value: +"Restrict candidates to these bindings."
      • addedInput schema / properties / execution_owners / description
        Added value: +"Restrict candidates to these execution owners."
      • addedInput schema / properties / kinds / description
        Added value: +"Restrict candidates to these capability kinds."
      • addedInput schema / properties / max_fallbacks / description
        Added value: +"How many fallback routes to return, 0-10; defaults to 3."
      • addedInput schema / properties / objective / description
        Added value: +"What you want to accomplish, in plain words."
      • addedInput schema / properties / provider_ids / description
        Added value: +"Restrict candidates to these providers."
      • addedInput schema / properties / tags / description
        Added value: +"Prefer capabilities carrying these tags."
    • Changedrun_repository_fix3 fields changed
      • addedInput schema / properties / apply / description
        Added value: +"apply_repository arguments (branch, message, PR fields, write_permission); mode defaults to patch_only."
      • addedInput schema / properties / pipeline / description
        Added value: +"run_repository_pipeline arguments; defaults to {}."
      • addedInput schema / properties / repository_id / description
        Added value: +"Saved repository connector id from list_connectors."
    • Changedrun_repository_pipeline11 fields changed
      • addedInput schema / properties / max_evidence_items / description
        Added value: +"Triage evidence item cap; defaults to 16."
      • addedInput schema / properties / max_snippet_lines / description
        Added value: +"Triage per-snippet line cap; defaults to 40."
      • addedInput schema / properties / model / description
        Added value: +"Optional planner model override for the plan stage."
      • addedInput schema / properties / repository_id / description
        Added value: +"Saved repository connector id from list_connectors."
      • addedInput schema / properties / runs / description
        Added value: +"Simulation scenario count; omit for the complexity-adaptive count."
      • addedInput schema / properties / seed / description
        Added value: +"Simulation seed; defaults to 42."
      • addedInput schema / properties / signals / description
        Added value: +"Triage evidence seeds (see triage_repository)."
      • addedInput schema / properties / snapshot / description
        Added value: +"Inline create_repository_snapshot arguments when no snapshot_id is given."
      • addedInput schema / properties / snapshot_id / description
        Added value: +"Existing snapshot id to reuse."
      • addedInput schema / properties / stop_after / description
        Added value: +"Stage to halt after; defaults to simulate (full chain)."
      • addedInput schema / properties / token_budget / description
        Added value: +"Triage evidence token budget; defaults to 6000."
    • Changedsimulate_repository5 fields changed
      • addedInput schema / properties / decision_plan_id / description
        Added value: +"Plan id from create_repository_decision_plan."
      • addedInput schema / properties / repository_id / description
        Added value: +"Saved repository connector id from list_connectors."
      • addedInput schema / properties / runs / description
        Added value: +"Scenario count, 100-250000; omit for the complexity-adaptive count."
      • addedInput schema / properties / seed / description
        Added value: +"Simulation seed for reproducible results; defaults to 42."
      • addedInput schema / properties / snapshot_id / description
        Added value: +"Snapshot id; resolved from the decision plan when omitted."
    • Changedsimulate_repository_patch4 fields changed
      • addedInput schema / properties / confidence / description
        Added value: +"Optional caller confidence recorded with the simulation."
      • addedInput schema / properties / patch_diff / description
        Added value: +"Unified diff of the in-flight patch to evaluate."
      • addedInput schema / properties / repository_id / description
        Added value: +"Saved repository connector id from list_connectors."
      • addedInput schema / properties / snapshot_id / description
        Added value: +"Snapshot id from create_repository_snapshot."
    • Changedtest_capability_binding8 fields changed
      • addedInput schema / properties / binding_id / description
        Added value: +"Saved binding id to test; omit to preview-test inline."
      • addedInput schema / properties / config / description
        Added value: +"Credentials/options for the inline preview form."
      • addedInput schema / properties / customer_metadata / description
        Added value: +"Metadata for the inline preview form."
      • addedInput schema / properties / execution_owner / description
        Added value: +"Execution owner for the inline preview form."
      • addedInput schema / properties / profile_id / description
        Added value: +"Profile id for the inline preview form."
      • addedInput schema / properties / provider_id / description
        Added value: +"Provider id for the inline preview form."
      • addedInput schema / properties / scope / description
        Added value: +"Scope for the inline preview form."
      • addedInput schema / properties / scope_ref / description
        Added value: +"Scope reference for the inline preview form."
    • Changedtest_connector1 field changed
      • addedInput schema / properties / connector_id / description
        Added value: +"Saved connector id from list_connectors."
    • Changedtokenize2 fields changed
      • addedInput schema / properties / input / description
        Added value: +"UTF-8 text to tokenize."
      • addedInput schema / properties / model / description
        Added value: +"Tokenizer model id from list_models."
    • Changedtriage_repository6 fields changed
      • addedInput schema / properties / max_evidence_items / description
        Added value: +"Evidence item cap, 1-64; defaults to 16."
      • addedInput schema / properties / max_snippet_lines / description
        Added value: +"Per-snippet line cap, 5-200; defaults to 40."
      • addedInput schema / properties / repository_id / description
        Added value: +"Saved repository connector id from list_connectors."
      • addedInput schema / properties / signals / description
        Added value: +"Evidence seeds: issue_text, diagnostics, failing_tests, changed_files, workspace_context."
      • addedInput schema / properties / snapshot_id / description
        Added value: +"Snapshot id from create_repository_snapshot."
      • addedInput schema / properties / token_budget / description
        Added value: +"Total evidence token budget, 256-32000; defaults to 6000."
    • Changedupdate_connector5 fields changed
      • addedInput schema / properties / config / description
        Added value: +"Replacement connection config; resets health status to untested."
      • addedInput schema / properties / connector_id / description
        Added value: +"Saved connector id from list_connectors."
      • addedInput schema / properties / description / description
        Added value: +"New description note."
      • addedInput schema / properties / name / description
        Added value: +"New human-readable name."
      • addedInput schema / properties / visibility / description
        Added value: +"New visibility."
    • Changedupdate_execution_policy4 fields changed
      • addedInput schema / properties / allow_reexecution / description
        Added value: +"Idempotency gate preventing double-actions."
      • addedInput schema / properties / min_confidence / description
        Added value: +"Block executions whose confidence is below this, 0-1."
      • addedInput schema / properties / require_calibration / description
        Added value: +"Require recorded outcomes before auto-execution."
      • addedInput schema / properties / risk_floor / description
        Added value: +"Block executions whose worst-case (p5) loss exceeds this."
    • Changedupdate_me2 fields changed
      • addedInput schema / properties / name / description
        Added value: +"New display name for the calling user."
      • addedInput schema / properties / org_name / description
        Added value: +"New organization name; requires admin or owner role."
    • Changedupdate_team_member_role2 fields changed
      • addedInput schema / properties / role / description
        Added value: +"New org role for the member."
      • addedInput schema / properties / user_id / description
        Added value: +"Target member's user_id from list_team_members."
  2. 140 tool updatesv0.1.0
    • First observedapply_repository
    • First observedapprove_agent_run
    • First observedbatch
    • First observedbrowse_connector
    • First observedcancel_agent_run
    • First observedcancel_job
    • First observedchat_completions
    • First observedcompare
    • First observedconnect_data
    • First observedcount_tokens
    • First observedcreate_agent_run
    • First observedcreate_api_key
    • First observedcreate_billing_checkout
    • First observedcreate_billing_portal
    • First observedcreate_capability_binding
    • First observedcreate_connector
    • First observedcreate_deployment
    • First observedcreate_repository_decision_plan
    • First observedcreate_repository_snapshot
    • First observeddelete_connector
    • First observeddelete_decision
    • First observeddelete_deployment
    • First observeddelete_trigger
    • First observeddisable_skill
    • First observeddisconnect_data
    • First observeddiscover_capability_binding
    • First observedembedding_similarity
    • First observedembeddings
    • First observedenable_skill
    • First observedexecute_capability
    • First observedexecute_decision
    • First observedexecute_runtime_library
    • First observedfire_trigger
    • First observedget_agent_run
    • First observedget_agent_run_checkpoints
    • First observedget_agent_run_events
    • First observedget_agent_run_mission_events
    • First observedget_agent_run_telemetry
    • First observedget_analytics
    • First observedget_audit_log_artifacts
    • First observedget_audit_logs
    • First observedget_billing_info
    • First observedget_capability
    • First observedget_connector
    • First observedget_contract
    • First observedget_data_schema
    • First observedget_data_summary
    • First observedget_dataset_status
    • First observedget_decision
    • First observedget_deployment
    • First observedget_deployment_cost
    • First observedget_execution_policy
    • First observedget_job_result
    • First observedget_job_status
    • First observedget_limits
    • First observedget_me
    • First observedget_repository_intelligence_capabilities
    • First observedget_repository_snapshot
    • First observedget_run
    • First observedget_runtime_benchmarks
    • First observedget_runtime_manifest
    • First observedget_runtime_modules
    • First observedget_runtime_release_validation
    • First observedget_source_schema
    • First observedget_usage
    • First observedingest_data
    • First observedingest_metering_events
    • First observedinvite_team_member
    • First observedlist_agent_runs
    • First observedlist_api_keys
    • First observedlist_capabilities
    • First observedlist_capability_bindings
    • First observedlist_capability_providers
    • First observedlist_connectors
    • First observedlist_data
    • First observedlist_datasets
    • First observedlist_decisions
    • First observedlist_deployment_regions
    • First observedlist_devices
    • First observedlist_distributions
    • First observedlist_execution_policy_snapshots
    • First observedlist_jobs
    • First observedlist_models
    • First observedlist_runs
    • First observedlist_runtime_libraries
    • First observedlist_skills
    • First observedlist_sources
    • First observedlist_team_members
    • First observedlist_templates
    • First observedlist_triggers
    • First observedlog_decision
    • First observedonboard_dataset
    • First observedpause_trigger
    • First observedplan_decision
    • First observedpoll_job
    • First observedpreview_browse_connector
    • First observedpreview_test_connector
    • First observedproduct_agent_run
    • First observedproduct_decision
    • First observedproduct_forecast
    • First observedproduct_optimize
    • First observedproduct_retrieve
    • First observedquery_agent_run_checkpoints
    • First observedquery_agent_run_mission_events
    • First observedquery_agent_run_telemetry
    • First observedquery_batch
    • First observedquery_data
    • First observedquery_repository_graph
    • First observedquery_sql_report
    • First observedrecommend
    • First observedrecord_outcome
    • First observedrefresh_credits
    • First observedrefresh_data
    • First observedregister_source
    • First observedregister_trigger
    • First observedremove_team_member
    • First observedrerank
    • First observedresolve_artifact_bridge
    • First observedresponses
    • First observedresume_agent_run
    • First observedretrain_dataset
    • First observedrevoke_api_key
    • First observedrevoke_device
    • First observedroute_capabilities
    • First observedrun_repository_fix
    • First observedrun_repository_pipeline
    • First observedscore
    • First observedsimulate
    • First observedsimulate_repository
    • First observedsimulate_repository_patch
    • First observedsubmit_job
    • First observedtest_capability_binding
    • First observedtest_connector
    • First observedtest_webhook_delivery
    • First observedtokenize
    • First observedtriage_repository
    • First observedupdate_connector
    • First observedupdate_execution_policy
    • First observedupdate_me
    • First observedupdate_team_member_role

TDQS

A3.8/5.0

Scored across 140 tools

Disambiguation2/5

There are several clusters of tools with unclear boundaries, most notably the decision/simulation family (simulate, plan_decision, product_decision, score, compare, recommend) and the dataset onboarding variants (onboard_dataset, connect_data, register_source, list_data vs list_datasets). Even with detailed descriptions, an agent will frequently struggle to pick the right tool among these overlapping options.

Naming Consistency4/5

The vast majority of tools follow a clear verb_noun snake_case pattern (get_, list_, create_, update_, delete_, run_, simulate_), which is quite consistent across a huge surface. The main deviations are bare single-word tools like simulate, score, compare, batch, recommend, tokenize, and rerank, plus a few odd names like responses and get_me, but these are minor relative to the overall pattern.

Tool Count1/5

140 tools is an extreme count for a single MCP server, far beyond even the 50+ threshold for the lowest score. The surface spans billing, deployment, data connectors, repository intelligence, LLM utilities, simulation, agent runs, team management, audit, triggers, and more, making it impractical for an agent to discover and select tools efficiently.

Completeness4/5

Within its sprawling scope, the server covers most lifecycle operations well: connectors, API keys, team members, agent runs, triggers, decisions, jobs, and deployments all have create/read/update/delete or equivalent coverage. There are minor gaps such as no way to update a trigger's condition or rename a dataset, but agents can generally work around these.

Maintenance

ActivityActive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers