Skip to main content
Glama
orchestra-hq

Orchestra MCP Server

Official
by orchestra-hq

Orchestra MCP Server

A Model Context Protocol (MCP) server for the Orchestra API. End users can connect directly to Orchestra's hosted MCP endpoint and authenticate with their Orchestra API key.

Quick Start

Use Orchestra's hosted MCP endpoint:

  • URL: https://mcp.getorchestra.io/orchestra

  • Required header: Authorization: Bearer <YOUR_ORCHESTRA_API_KEY>

  • API key location: Orchestra workspace settings

Related MCP server: Airflow MCP

Available Tools

Tool

Auth required

Purpose

Category

whats_broken

Yes

Failing and warning pipeline runs in a window, pre-joined to the task runs that failed inside them, with messages, platform links and duration anomalies.

Triage

diagnose

Yes

Deep dive on one task run: parameters, upstream task statuses, log tail and artifact filenames.

Triage

pipeline_context

Yes

A pipeline's metadata, full definition, integrations, recent run outcomes and median succeeded duration.

Triage

get_pipeline

Yes

Fetch a single pipeline. Provide exactly one selector: pipeline_id, alias, or repository together with yaml_path (GET /pipeline).

Pipelines

list_pipelines

Yes

List pipelines (GET /pipelines).

Pipelines

create_pipeline

Yes

Create a pipeline (POST /pipelines).

Pipelines

update_pipeline

Yes

Update a pipeline by selector (PUT /pipelines).

Pipelines

delete_pipeline

Yes

Disabled by default. Delete a pipeline. Provide exactly one selector: pipeline_id, alias, or repository together with yaml_path (DELETE /pipelines). Set ORCHESTRA_ENABLE_DELETE to expose it.

Pipelines

get_pipeline_data

Yes

Get pipeline data (GET /pipelines/data).

Pipelines

start_pipeline

Yes

Start a pipeline run (POST /pipelines/{pipeline_id_or_alias}/start).

Pipelines

pause_pipeline

Yes

Pause or unpause a pipeline (PUT /pipelines/{pipeline_id_or_alias}/pause).

Pipelines

validate_pipeline

No

Validate pipeline schema (POST /pipelines/schema).

Pipelines

migrate_pipeline

Yes

Migrate an Orchestra-backed pipeline to git-backed storage. Identify it with pipeline_id or alias, and omit working_branch when it equals default_branch (PATCH /pipelines/storage-settings).

Pipelines

import_pipeline

Yes

Import a pipeline (POST /pipelines/import).

Pipelines

get_pipeline_run_status

Yes

Get pipeline run status (GET /pipeline_runs/{pipeline_run_id}/status).

Pipeline Runs

list_pipeline_runs

Yes

List pipeline runs with optional filters. status accepts comma-separated values: CREATED, RUNNING, SUCCEEDED, WARNING, FAILED, CANCELLING, CANCELLED (GET /pipeline_runs).

Pipeline Runs

cancel_pipeline_run

Yes

Cancel a running pipeline run by its ID (POST /pipeline_runs/{pipeline_run_id}/cancel).

Pipeline Runs

get_pipeline_run_lineage_url

No

Build the URL of a pipeline run's lineage graph in the Orchestra UI (derived from ORCHESTRA_ENV).

Pipeline Runs

list_task_runs_for_pipeline_run

Yes

List task runs for a pipeline run (GET /pipeline_runs/{pipeline_run_id}/task_runs).

Task Runs

list_task_runs

Yes

List task runs (GET /task_runs).

Task Runs

list_incidents

Yes

List incidents (GET /incidents).

Incidents

get_incident

Yes

Get an incident (GET /incidents/{incident_id}).

Incidents

update_incident

Yes

Update an incident (PATCH /incidents/{incident_id}).

Incidents

list_incident_events

Yes

List an incident's timeline (GET /incidents/{incident_id}/events).

Incidents

get_incident_external_event

Yes

Get an external event's payload (GET /incidents/{incident_id}/events/{incident_event_id}/external_event).

Incidents

merge_incidents

Yes

Merge incidents (POST /incidents/{incident_id}/merge).

Incidents

unmerge_incidents

Yes

Unmerge incidents (POST /incidents/{incident_id}/unmerge).

Incidents

mute_incident

Yes

Mute an incident (POST /incidents/{incident_id}/mute).

Incidents

unmute_incident

Yes

Unmute an incident (POST /incidents/{incident_id}/unmute).

Incidents

create_incident_comment

Yes

Write to an incident's timeline (POST /incidents/{incident_id}/comments).

Incidents

list_operations

Yes

List operations (GET /operations).

Operations

list_assets

Yes

List assets (GET /assets).

Assets

get_asset_by_id

Yes

Get an asset (GET /assets/{asset_id}).

Assets

list_task_run_logs

Yes

List task run logs (GET /pipeline_runs/{pipeline_run_id}/task_runs/{task_run_id}/logs).

Logs

download_task_run_log

Yes

Download a task run log (GET /pipeline_runs/{pipeline_run_id}/task_runs/{task_run_id}/logs/download).

Logs

list_task_run_artifacts

Yes

List task run artifacts (GET /pipeline_runs/{pipeline_run_id}/task_runs/{task_run_id}/artifacts).

Artifacts

download_task_run_artifact

Yes

Download a task run artifact (GET /pipeline_runs/{pipeline_run_id}/task_runs/{task_run_id}/artifacts/download).

Artifacts

list_integration_connections

Yes

List integration connections (GET /integrations/connections).

Integrations

list_environments

Yes

List environments (GET /environments).

Environments

create_environment

Yes

Create an environment (POST /environments).

Environments

get_environment

Yes

Get an environment (GET /environments/{environment_id}).

Environments

update_environment

Yes

Update an environment (PATCH /environments/{environment_id}).

Environments

delete_environment

Yes

Disabled by default. Delete an environment (DELETE /environments/{environment_id}). Set ORCHESTRA_ENABLE_DELETE to expose it.

Environments

get_integration_state_for_state_aware

Yes

Get integration state (GET /state/{integration}).

State

list_accounts

Yes

List workspaces (GET /accounts).

Accounts

list_agent_avatars

Yes

List agent avatars (GET /agents/avatar-catalog).

Agents

create_agent

Yes

Create an agent (POST /agents).

Agents

list_agents

Yes

List agents (GET /agents).

Agents

get_agent

Yes

Get an agent (GET /agents/{agent_id}).

Agents

update_agent

Yes

Update an agent (PATCH /agents/{agent_id}).

Agents

delete_agent

Yes

Disabled by default. Delete an agent (DELETE /agents/{agent_id}). Set ORCHESTRA_ENABLE_DELETE to expose it.

Agents

list_agent_skills

Yes

List an agent's skills (GET /agents/{agent_id}/skills).

Agents

set_agent_skills

Yes

Set an agent's skills (PUT /agents/{agent_id}/skills).

Agents

list_agent_integrations

Yes

List an agent's integrations (GET /agents/{agent_id}/integrations).

Agents

set_agent_integrations

Yes

Set an agent's integrations (PUT /agents/{agent_id}/integrations).

Agents

get_agent_usage

Yes

Get agent token usage (GET /usage).

Agents

list_agent_sessions

Yes

List agent sessions (GET /sessions).

Agent Sessions

create_agent_session

Yes

Start an agent session (POST /sessions).

Agent Sessions

get_agent_session

Yes

Get an agent session (GET /sessions/{session_id}).

Agent Sessions

send_agent_session_message

Yes

Send a message to an agent session (POST /sessions/{session_id}).

Agent Sessions

get_agent_session_history_messages

Yes

Read an agent session's messages (GET /sessions/{session_id}/history/messages).

Agent Sessions

cancel_agent_session_prompt

Yes

Cancel an agent session prompt (POST /sessions/{session_id}/cancel).

Agent Sessions

list_skills

Yes

List skills (GET /skills).

Skills

create_skill

Yes

Create a skill (POST /skills).

Skills

get_skill

Yes

Get a skill (GET /skills/{skill_id}).

Skills

update_skill

Yes

Update a skill (PATCH /skills/{skill_id}).

Skills

delete_skill

Yes

Disabled by default. Delete a skill (DELETE /skills/{skill_id}). Set ORCHESTRA_ENABLE_DELETE to expose it.

Skills

import_skill

Yes

Import a skill from git (POST /skills/import).

Skills

list_audit_events

Yes

List audit events (GET /audit_events).

Audit

get_incident_settings

Yes

Get incident settings (GET /incident_settings).

Incident settings

update_incident_settings

Yes

Update incident settings (PATCH /incident_settings).

Incident settings

list_monitors

Yes

List monitors (GET /monitors).

Monitors

create_monitor

Yes

Create a monitor (POST /monitors).

Monitors

reorder_monitors

Yes

Reorder monitors (POST /monitors/reorder).

Monitors

get_monitor

Yes

Get a monitor (GET /monitors/{monitor_id}).

Monitors

update_monitor

Yes

Update a monitor (PUT /monitors/{monitor_id}).

Monitors

delete_monitor

Yes

Disabled by default. Delete a monitor (DELETE /monitors/{monitor_id}). Set ORCHESTRA_ENABLE_DELETE to expose it.

Monitors

Cursor

Add this to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "orchestra": {
      "url": "https://mcp.getorchestra.io/orchestra",
      "headers": {
        "Authorization": "Bearer <YOUR_ORCHESTRA_API_KEY>"
      }
    }
  }
}

Claude Code

Add the hosted server with:

claude mcp add --transport http --header "Authorization: Bearer <YOUR_ORCHESTRA_API_KEY>" orchestra https://mcp.getorchestra.io/orchestra

Other MCP clients

Any MCP client that supports remote HTTP/SSE servers can connect with this shape:

{
  "mcpServers": {
    "orchestra": {
      "url": "https://mcp.getorchestra.io/orchestra",
      "headers": {
        "Authorization": "Bearer <YOUR_ORCHESTRA_API_KEY>"
      }
    }
  }
}

Managing Multiple Workspaces

If you need to connect to multiple Orchestra workspaces, you can set up separate MCP server connections with workspace-specific API keys:

{
  "mcpServers": {
    "orchestra-data-quality-tests": {
      "url": "https://mcp.getorchestra.io/orchestra",
      "headers": {
        "Authorization": "Bearer <DATA_QUALITY_WORKSPACE_API_KEY>"
      }
    },
    "orchestra-sales-integrations": {
      "url": "https://mcp.getorchestra.io/orchestra",
      "headers": {
        "Authorization": "Bearer <SALES_WORKSPACE_API_KEY>"
      }
    }
  }
}

Run Locally

This section discusses how to run the MCP server locally, and is mainly intended for contributors.

Prerequisites

  • Python 3.11 or higher

  • uv package manager

  • Orchestra API key

Install dependencies

# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install project dependencies
uv sync

Set API key

export ORCHESTRA_API_KEY="your-orchestra-api-key"

(Optional) Select environment for local runs

For local development, the server defaults to app. You can override it with ORCHESTRA_ENV:

export ORCHESTRA_ENV="dev"

Valid values:

  • app (default)

  • stage

  • dev

(Optional) Enable destructive deletion

By default, the destructive delete_pipeline and delete_environment tools are not registered to avoid accidental destructive actions. To expose them, set ORCHESTRA_ENABLE_DELETE before starting the server:

export ORCHESTRA_ENABLE_DELETE="true"

Only the following values are recognized:

  • "true"

  • "TRUE"

  • "1"

Run the server

python -m orchestramcp.server

The server fetches every Orchestra OpenAPI spec on startup and exposes the operations each API flags for the MCP. Set ORCHESTRA_OPENAPI_URL (Orchestra API), ORCHESTRA_PLATFORM_OPENAPI_URL (Orchestra Platform API) or ORCHESTRA_AGENTS_OPENAPI_URL (Orchestra Agents API) to point at a specific spec (e.g. a local file) instead of the environment default. Startup fails if any spec cannot be fetched, rather than serving a partial set of tools.

(Optional) Accept OAuth access tokens

The hosted Lambda can also accept OAuth 2.1 access tokens issued by Orchestra's authorization server, alongside API keys. Set all three variables to turn it on — with any of them unset, every bearer token is treated as an API key:

export ORCHESTRA_OAUTH_ISSUER="https://app.getorchestra.io"
export ORCHESTRA_OAUTH_JWKS_URI="https://app.getorchestra.io/oauth/jwks.json"
export ORCHESTRA_OAUTH_RESOURCE_URL="https://mcp.getorchestra.io/orchestra"

The issuer is per-environment — swap app for stage or dev — and the rest of its metadata, jwks_uri included, is published at <issuer>/.well-known/oauth-authorization-server.

ORCHESTRA_OAUTH_RESOURCE_URL must be the MCP URL exactly as a user types it into their client, path included: it is published as the resource of the RFC 9728 metadata document, and it is the audience every token is checked against. The authorization server has to serve that same identifier — it mints a token only for a resource it is configured for, and stamps aud with its own spelling of it. Verified tokens are forwarded to the Orchestra API unchanged.

Testing the OAuth flow locally

scripts/local_resource_server.py fronts the real Lambda handler with an HTTP socket, so an MCP client can run the whole flow against the production code path:

ORCHESTRA_ENV=dev \
ORCHESTRA_OAUTH_ISSUER=https://dev.getorchestra.io \
ORCHESTRA_OAUTH_JWKS_URI=https://dev.getorchestra.io/oauth/jwks.json \
ORCHESTRA_OAUTH_RESOURCE_URL=https://mcp-dev.getorchestra.io/orchestra \
    uv run python scripts/local_resource_server.py
claude mcp add --transport http orchestra-local http://127.0.0.1:8788/orchestra

Connecting should take you through discovery, client registration and a consent screen, after which tool calls run as your user rather than as an account-wide API key.

The resource URL is the deployed dev identifier rather than the local address, because it has to be one the authorization server serves and one the Orchestra API accepts as an audience — a token minted for 127.0.0.1 is refused by both. The cost is that the metadata pointer in the 401 names the deployed host, so a client that follows it lands somewhere this server is not; discovery then depends on the client falling back to probing the address it connected to. Testing against a deployed environment avoids that, and is also the only way to exercise the edge routing /orchestra/.well-known/*.

Development

  • Run uv run pytest to run tests.

  • Run uv run ruff check . and uv run ruff format . to check and format code.

PRs to main will trigger CI checks in GitHub, main branch merges release to the dev & stage environments, and Github releases relase to the production environment.

Available Tools

49 tools
cancel_pipeline_runCancel Pipeline RunC
Destructive

Cancel a running pipeline run by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
pipeline_run_idYesPipeline run ID.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered structurally. The description adds only that the run must be running, which is mild context. It omits the force-cancel scenario, the 400 rejection on premature force calls, and any idempotency or account-scoping behavior described in the schema.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no waste. However, its extreme brevity for a destructive operation means it may be under-specified rather than perfectly concise.

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

Completeness2/5

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

For a destructive cancel tool with no output schema, the description should surface the force-cancel nuance and account-scoping behavior that an agent needs before invoking. Those details live only in the schema, leaving the top-level description incomplete. The annotations cover safety but not operational 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 coverage is 67%, with the force flag and account header documented in detail inside the schema itself. The description contributes only 'by its ID,' which restates the schema's pipeline_run_id description and adds no new parameter meaning. Since structured fields already do most of the work, a 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 states a specific verb and resource: cancel a running pipeline run, identified by its ID. This is clear enough for an agent to distinguish it from siblings like start_pipeline or pause_pipeline. It stops short of 5 because it does not clarify the relationship to the force-cancel path or contrast with any 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 Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as pause_pipeline or start_pipeline, nor any prerequisite conditions. The description only says it cancels a running run, which the name already implies. No when/when-not information is provided.

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

create_environmentCreate an environmentB

Create a new environment with an initial set of variable values. The first environment created for a workspace is automatically marked as the default.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
valuesYes
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write/safe profile is known. The description usefully adds the side effect that the first environment in a workspace becomes the default, but says nothing about name uniqueness, idempotency, or auth requirements.

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 tight sentences with the core action front-loaded and the default-marking behavior following directly. No filler.

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

Completeness3/5

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

Output schema exists so return values need not be explained, and annotations cover the safety profile. Still, for a create mutation with nested typed values and a low-coverage schema, the description leaves name constraints and value-shape expectations unaddressed.

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 only 33%: 'name' is undocumented and 'values' only carries a nested type description. The phrase 'initial set of variable values' gestures at what values means but adds no syntax, typing constraints, or name rules to compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb (Create) and resource (environment) plus the initial payload it takes, which is clearer than the bare title. It does not, however, differentiate itself from siblings like update_environment or create_pipeline.

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

Usage Guidelines2/5

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

No when-to-use guidance, prerequisites, or alternative routing (e.g., update_environment for existing environments). The default-marking note is contextual but not a usage rule.

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

create_incident_commentWrite to an incident's timelineA

Append a row to an incident's timeline, returning the event it wrote.

eventType says what the row records - COMMENT_ADDED (the default) for an ordinary comment, or AI_DIAGNOSIS_REQUESTED, AI_DIAGNOSIS_COMPLETED and AI_DIAGNOSIS_FAILED to record the start, result or failure of a diagnosis.

agentSessionId names the Orchestra agent session behind the write. The row is then attributed to Orchestra AI and linked to that session rather than to the API key; an agent takes the id from its ORCHESTRA_AGENT_SESSION_ID environment variable. The AI_DIAGNOSIS_* types require it. A session may write several over its life, but posting the same text twice returns the row already written.

description sets the incident's description alongside an AI_DIAGNOSIS_COMPLETED or AI_DIAGNOSIS_FAILED row, and needs edit permission on the incident. It is not applied over a description a person wrote.

The timeline is append-only: nothing can edit or delete a row once it is there.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentYes
eventTypeNoWhat the row records. Defaults to COMMENT_ADDED. The AI_DIAGNOSIS_* types require agentSessionId.COMMENT_ADDED
descriptionNoA summary of the cause to set as the incident's description, written in the same call as the diagnosis. Only accepted with AI_DIAGNOSIS_COMPLETED or AI_DIAGNOSIS_FAILED, and not applied over a description a person wrote.
incident_idYesIncident ID.
agentSessionIdNoThe agent session writing this row. Attributes it to Orchestra AI instead of the API key, and links the timeline back to the session. Agents read this from the ORCHESTRA_AGENT_SESSION_ID environment variable.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations: append-only immutability, idempotent re-post behavior ('posting the same text twice returns the row already written'), edit-permission requirement for description, non-overwrite of human-written descriptions, and attribution to Orchestra AI vs the 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.

Conciseness4/5

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

Front-loads the core action, then groups parameter behavior into focused paragraphs; every sentence carries operational detail. Slightly dense in places but 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?

An output schema exists so return values need not be explained, and the description still notes that the written event is returned. Combined with the mutation semantics and permission notes, 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 already 83% (baseline 3), and the description adds meaning the schema lacks — the ORCHESTRA_AGENT_SESSION_ID source, the required coupling of AI_DIAGNOSIS_* to agentSessionId, and the duplicate-suppression behavior on comment 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?

States a specific verb and resource — 'Append a row to an incident's timeline, returning the event it wrote' — which is a narrow, well-scoped operation distinguishable from sibling mutations like update_incident or merge_incidents.

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 conditions for each eventType, including that the AI_DIAGNOSIS_* types require agentSessionId and that description is only accepted with COMPLETED/FAILED. It stops short of naming alternative tools or when not to comment at all, but the mode-selection guidance is clear.

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

create_monitorCreate a monitorA

Create a monitor: a rule for which failures to group into one incident, and how that incident alerts. match picks the events it claims, groupBy what makes two of them one incident, and action what happens to it - including mute, which claims the events and raises no incident or alert at all. Left out, order puts the new monitor last, so it only claims events no existing monitor claims.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
matchYesWhich events a monitor claims: AND across dimensions, OR within a list. At least one dimension has to be given. A monitor matching every dimension by saying nothing would claim every event on the account, which is never what an author means.
orderNo
actionNoWhat happens to the events this monitor claimed. ``mute`` claims them and sends no alert - the known-broken-thing case. They are still recorded, on incidents the monitor owns, so a mute is silent without being invisible.
enabledNo
groupByYes
triggerNo
descriptionNo
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: a left-out order places the monitor last so it only claims unclaimed events, and mute claims events without raising an incident or alert. It does not cover auth requirements (the account-id header) or duplicate-name 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?

Front-loaded with the definition, then three sentences that each carry distinct information (match/groupBy/action mapping, the mute exception, the order default). No filler and 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?

An output schema exists, so return values need not be explained. For a 9-parameter mutation tool with nested objects, the description covers the semantically hardest concepts well. Gaps are the account-scoping/auth requirement and the less central parameters (trigger, enabled, severity).

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 33%, so the description carries extra burden and partially meets it: it explains match, groupBy, action, the mute flag, and the order default with real meaning ('what makes two of them one incident'). However name, enabled, trigger, severity, assignee, and description are not addressed at all in the 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 and resource and then defines what a monitor actually is (a rule mapping failures to incidents). The distinction from update_monitor/reorder_monitors is implied by 'Create' plus the explanation of creation-time defaults like order. An agent can tell what this tool produces 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 Guidelines3/5

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

Usage is implied through semantics rather than stated: the match description explains the 'at least one dimension' requirement and the watch-out that an empty match would claim every event. But nothing says when to reach for create_monitor versus update_monitor, reorder_monitors, or list_monitors.

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

create_pipelineCreate a pipelineB

Create a new pipeline. The request body includes the pipeline definition as JSON.

Use Validate pipeline schema before creating a pipeline if you want to check the payload without saving it.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesPipeline definition as JSON, matching the pipeline YAML structure (required top-level keys: version, name, pipeline). Validate it with the validate_pipeline tool before submitting.
aliasNo
messageNo
yamlPathNo
publishedYes
repositoryNo
defaultBranchNo
workingBranchNo
messageIsCustomNo
storageProviderNoORCHESTRA
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write-but-not-destructive profile is covered by structured data. The description adds only that the body is; it says nothing about permissions, what 'published' vs draft implies, storage-provider side effects, or account scoping, leaving meaningful behavioral gaps.

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

Conciseness5/5

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

Two short sentences, front-loaded with the action and followed by the one useful prerequisite. No filler and nothing buried.

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

Completeness2/5

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

For an 11-parameter, nested-object mutation with only 18% schema coverage, the description is too thin; the output schema means return values need not be described, but the input-side gaps remain. An agent could not confidently populate the branch/repository/storage parameters from this definition alone.

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

Parameters2/5

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

Schema description coverage is 18% across 11 parameters, so the schema does almost none of the work; the description must compensate and largely doesn't. It only clarifies the 'data' payload shape and points at validate_pipeline, leaving alias, message, yamlPath, published, repository, defaultBranch, workingBranch, messageIsCustom, and storageProvider unexplained in both places.

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 ('Create a new pipeline') and adds that the body carries a JSON pipeline definition, so the agent knows exactly what it produces. It does not, however, disambiguate from close siblings such as import_pipeline, migrate_pipeline, or update_pipeline, which an agent might reasonably confuse with it.

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 a concrete conditional next-step: run validate_pipeline (linked as the schema-validation endpoint) first if you want to check the payload without saving. That is real routing guidance, but it only covers validation, not when to prefer create over import_pipeline/migrate_pipeline for an existing definition.

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

diagnoseDiagnose Task RunA
Read-only

Deep dive on one failed task run: its status and messages, taskParameters and runParameters, the statuses of the upstream tasks it depends on, the tail of its newest log, and its artifact filenames. Task runs are queryable for 7 days only. Over-long parameter values, the log tail and the artifact list are capped, and the response says which parts were cut. Use download_task_run_log or download_task_run_artifact when the tail is not enough.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.
task_run_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, it discloses a retention limit (7 days), truncation caps on parameter values, log tail and artifact list, and — importantly — that the response self-reports which parts were cut. That is a strong, agent-relevant behavioral disclosure that annotations 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?

Front-loaded with purpose, then payload contents, then retention/truncation caveats, then a fallback pointer. Every clause carries information; 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?

With an output schema present the description needn't enumerate return structure, yet it still summarizes what comes back, notes retention limits, truncation behavior, and alternative tools. Nothing an agent needs to call or interpret this 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?

Two parameters at 50% schema coverage. account_id is fully documented in the schema (including API-key vs OAuth scoping), and task_run_id is self-evident from its name, but the description adds nothing about either parameter. Baseline 3 for schema-heavy coverage 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 ('Deep dive on one failed task run') and then enumerates the exact payload — status/messages, taskParameters, runParameters, upstream task statuses, log tail, artifact filenames. This clearly separates it from list_task_runs and get_pipeline_run_status.

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

Usage Guidelines5/5

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

Explicitly routes to the alternatives ('Use download_task_run_log or download_task_run_artifact when the tail is not enough') and states the eligibility window ('queryable for 7 days only'). When-to-use and when-not-to-use are both present.

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

download_task_run_artifactDownload Task Run ArtifactA
Read-only

Download a task run artifact file, returned base64-encoded. Artifacts such as a dbt manifest.json are often tens of MB. At most 3MiB of file content is returned per call; fetch larger files in chunks by passing range_header (e.g. 'bytes=0-3145727') and advancing the range each call.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYes
account_idNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.
task_run_idYes
range_headerNo
pipeline_run_idYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only supply readOnlyHint=true; the description adds the genuinely non-obvious operational facts: the response is base64-encoded, capped at 3MiB per call, and larger files must be paginated with advancing byte ranges. That is exactly the kind of behavior an agent would otherwise get wrong.

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 purpose then the size constraint and the chunking recipe. No filler and nothing buried.

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 correctly supplies the return format and size limit, which is what an agent needs to consume the result. Missing is any hint that filenames come from list_task_run_artifacts and any statement of behavior once the range exceeds the file length.

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 20% (account_id is the sole documented param), so the description has to carry weight: it explains range_header's format and gives a concrete example. The three required identifiers (pipeline_run_id, task_run_id, filename) get no explanation, though their names are largely self-describing, so this partially compensates rather than fully.

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 (Download) and resource (task run artifact file) and adds the return encoding (base64), which cleanly separates it from the sibling download_task_run_log without the agent needing to open a schema.

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 clear conditional guidance for range_header: use chunks when the file exceeds 3MiB, with a concrete example range value. It does not, however, point at list_task_run_artifacts as the way to discover valid filenames, so the entry path is left to inference.

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

download_task_run_logDownload Task Run LogA
Read-only

Download a task run log file, returned base64-encoded. At most 3MiB of file content is returned per call; fetch larger files in chunks by passing range_header (e.g. 'bytes=0-3145727') and advancing the range each call.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYes
account_idNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.
task_run_idYes
range_headerNo
pipeline_run_idYes

TDQS

A3.8/5.0
Behavior4/5

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

readOnlyHint already marks this as a safe read, and the description adds meaningful behavior beyond that: base64 encoding of the payload and a hard 3MiB per-call content cap with a chunking workaround. It does not state whether the log must exist or what happens on an out-of-range request, but the disclosure is well above the 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?

Two tight sentences: the core action plus return format first, then the size constraint and chunking mechanic. No filler, and the most decision-relevant constraint (3MiB cap) 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 read-only download with no output schema, the description covers encoding, size limits, and paging, which is what an agent needs to call it correctly. The gap is provenance of the three required IDs and the distinction from the artifact/log-listing siblings.

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 only 20% (just account_id documented), so the description carries real burden and it does explain range_header semantics and syntax with the byte-range example. It says nothing about filename, task_run_id, or pipeline_run_id (three required IDs), leaving those entirely to inference.

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 ('Download a task run log file') plus the return encoding ('base64-encoded'), which is a genuine fact the agent needs. It does not, however, distinguish itself from near-neighbor siblings like download_task_run_artifact or list_task_run_logs, so the agent must infer the boundary.

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 real operational guidance for the chunking case (3MiB ceiling, advance range_header each call with a concrete example), which is implied usage for large files. It offers no when-to-use guidance relative to list_task_run_logs or download_task_run_artifact, so the routing decision is left to inference.

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

get_asset_by_idGet an assetB
Read-only

Retrieve a single asset by Orchestra asset ID or external ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idYesOrchestra asset ID or external ID.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds nothing beyond that: no statement about not-found behavior, whether external IDs are resolved against a specific integration, or any rate/scope constraint. With annotations carrying the burden, this is thin.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; every clause carries 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?

An output schema exists so return values need no explanation, and readOnlyHint covers safety. For a simple lookup tool this is largely sufficient, missing only error/not-found semantics that an agent might want before calling.

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 account-scoping header is thoroughly documented in the schema itself. The description's mention of 'Orchestra asset ID or external ID' merely restates the asset_id schema description, adding no syntax or format detail. Baseline 3 applies.

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 (retrieve) and resource (a single asset), plus the two identifier forms accepted. The word 'single' implicitly distinguishes it from the sibling list_assets, though no sibling is named 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?

Usage is implied: call it when you already have an asset ID. There is no explicit statement of when to prefer this over list_assets or what happens if the ID is unknown, so guidance is only inferable.

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

get_environmentGet an environmentA
Read-only

Fetch a single environment by its ID, including its variable values.

ParametersJSON Schema
NameRequiredDescriptionDefault
environment_idYes
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, and the description goes beyond them by disclosing that variable values are included in the response — meaningful for a tool that may expose secrets/config. It stops short of noting authorization or account-scoping behavior, but adds real value over the annotation.

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

Conciseness5/5

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

A single front-loaded sentence with zero filler; the resource, identifier, and notable payload detail are all packed in without 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?

An output schema exists so return values need no explanation, and the read-only nature is covered by annotations. The description mentions variable values and the lookup key, which is sufficient for a simple single-fetch tool; only account-scoping nuance is left to the 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 50%: the X-Orchestra-Account-Id header is fully documented in the schema, but environment_id carries only a uuid4 format with no description. The phrase 'by its ID' confirms environment_id's role but adds no format or lookup detail beyond the schema.

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

Purpose4/5

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

States a specific verb (Fetch) and resource (a single environment) scoped by ID, which implicitly distinguishes it from list_environments. It is clear but never names the sibling it differs from, so an agent must infer the distinction itself.

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?

'By its ID' implies the precondition that an environment_id must be known, which is usable guidance, but there is no explicit when-to-use, when-not-to-use, or reference to list_environments for discovery. Usage is implied rather than stated.

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

get_incidentGet an incidentA
Read-only

Fetch a single incident, with its merge relationships, summary counts and related resources.

ParametersJSON Schema
NameRequiredDescriptionDefault
incident_idYesIncident ID.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safe-read profile is covered. The description adds that the response eagerly includes merge relationships and related resources, which hints at payload weight, but it says nothing about authorization scope, mutation, or errors beyond what structured data provides.

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

Conciseness5/5

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

A single front-loaded sentence with no filler; the resource and the notable contents of the response come first. 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 an output schema present and annotations covering the safety profile, the description need not explain return values, and it doesn't over-reach. It is nearly complete for a simple by-ID getter, losing a point only for the absence of any when-to-use framing relative to the large set of incident siblings.

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 (incident_id, X-Orchestra-Account-Id) are documented in the schema itself, including the account-scoping rules. The description adds no parameter meaning beyond that, so the baseline of 3 applies.

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 ('Fetch a single incident') and adds the shape of the payload (merge relationships, summary counts, related resources). The word 'single' implicitly distinguishes it from list_incidents, but it does not explicitly name or contrast any sibling tool.

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?

Usage is only implied: an agent can infer this is the by-ID lookup for one incident versus list_incidents. There is no explicit statement of when to reach for this tool, no prerequisites, and no routing away from merge_incidents, list_incident_events, or update_incident.

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

get_incident_external_eventGet an external event's payloadA
Read-only

Fetch the raw JSON an external system sent for one row of an incident's timeline - a row whose externalEventPath is set. Returns 410 once the payload has expired.

ParametersJSON Schema
NameRequiredDescriptionDefault
incident_idYesIncident ID.
incident_event_idYesTimeline row ID.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output 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, so safety is covered. The description adds real behavioral value beyond that by disclosing that the payload expires and that the tool returns 410 afterward, which an agent needs to interpret failures correctly. Auth/account semantics are handled in the schema rather than here.

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, zero filler, with the key scoping constraint front-loaded and the expiry caveat immediately after. 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?

An output schema exists, so return-value details need not be described, and the 410/expiry caveat covers the main edge case. Combined with the schema and annotations, an agent has what it needs 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?

Schema description coverage is 100%, including a detailed explanation of the account-override header, so the schema carries the parameter burden and the baseline is 3. The description's mention of externalEventPath adds context about which event id is valid but no syntax or format detail 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 (fetch) and a precisely scoped resource (the raw JSON an external system sent for one incident timeline row). The qualifier 'a row whose externalEventPath is set' distinguishes it cleanly from the sibling list_incident_events, so the purpose is unambiguous.

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

Usage Guidelines4/5

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

The description tells the agent the precondition for calling it - the timeline row must have externalEventPath set - which is effective routing guidance. It does not explicitly name an alternative tool or state when not to use it, so it falls 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_integration_state_for_state_awareGet integration stateB
Read-only

Fetch the stored state for the given integration in the workspace the credential resolves to.

ParametersJSON Schema
NameRequiredDescriptionDefault
integrationYes
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3/5.0
Behavior3/5

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

The readOnlyHint annotation already communicates that this is a safe read operation. The description adds useful scoping context about the credential-resolved workspace, but it does not disclose authentication requirements, rate limits, or what kind of state is returned beyond the output schema. With annotations covering safety, this is adequate but not rich.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. It is efficient and easy to parse, though its brevity leaves some contextual gaps that could have been addressed without harming conciseness.

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

Completeness3/5

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

The output schema exists, so return values need not be explained, and the readOnlyHint annotation covers safety. However, the description does not provide usage guidance or help interpret the large integration enum, leaving gaps for an agent choosing among many sibling tools.

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

Parameters2/5

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

Schema description coverage is 50%, and the description does not compensate for the undocumented integration enum. It says only 'for the given integration,' which largely restates the required parameter, while the optional account parameter is already fully described in the schema. No additional syntax, format, or selection guidance is provided.

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: fetching stored state for a given integration. It also scopes the operation to the workspace resolved by the credential, which helps distinguish it from generic listing tools. However, it does not explicitly differentiate itself from sibling tools such as list_integration_connections or get_pipeline_data.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, nor any mention of alternatives or prerequisites. The agent can infer this is a read operation for integration state, but the description does not explain when to choose this tool over siblings or what conditions make it appropriate.

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

get_monitorGet a monitorC
Read-only

Fetch a single monitor's definition.

ParametersJSON Schema
NameRequiredDescriptionDefault
monitor_idYesMonitor ID.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. Beyond that the description adds almost nothing: it doesn't say whether it errors when the monitor is missing, whether the result is cached, or what 'definition' excludes (e.g. runtime status).

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

Conciseness4/5

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

A single short, front-loaded sentence with no padding — efficient and easy to scan. It is arguably too terse for what it omits, but as a structure it wastes nothing.

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

Completeness3/5

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

With an output schema present, return values need not be explained, and the annotations plus full schema coverage carry most of the load. Still, for a lookup tool it says nothing about failure behavior or account-scoping implications beyond what the schema already states.

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 monitor_id and the X-Orchestra-Account-Id scoping/credential semantics fully documented in the schema itself. The description adds no additional parameter meaning, so the baseline 3 applies.

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 (fetch) and resource (a monitor's definition), and the word 'single' implicitly distinguishes it from the sibling list_monitors. It does not, however, name or explicitly contrast with any sibling tool.

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

Usage Guidelines2/5

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

No when-to-use guidance and no explicit alternative is named; the agent must infer from 'single' that list_monitors is the bulk counterpart. There are no prerequisites, exclusions, or conditions stated.

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

get_pipelineGet a pipeline by selectorA
Read-only

Fetch a single pipeline. Provide exactly one selector: pipeline_id, alias, or repository together with yaml_path.

ParametersJSON Schema
NameRequiredDescriptionDefault
aliasNoPipeline alias selector.
branchNoPipeline branch selector (used for git-backed pipeline YAML).
commitNoPipeline commit selector (used for git-backed pipeline YAML).
versionNoPipeline version selector (used for versioned pipeline YAML).
yaml_pathNoPipeline YAML path selector. Must be provided together with `repository`.
repositoryNoRepository selector. Must be provided together with `yaml_path`.
pipeline_idNoPipeline ID selector.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

readOnlyHint=true already covers the safety profile, so the bar is lower, and the description contributes the mutually-exclusive selector constraint that the empty required list does not enforce. It still omits what happens when zero or conflicting selectors are supplied, and whether branch/commit/version can be combined, so it is not fully transparent.

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

Conciseness4/5

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

Two tight sentences with the purpose front-loaded and no filler. The second sentence partly repeats parameter names already visible in the schema, which keeps it from being maximally economical.

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 an output schema present, return values need no explanation, annotations cover read-only safety, and the schema fully documents parameters; the description adds the missing selector-exclusivity rule. It could still note the failure mode for an invalid selector set or point to the sibling used for data/runs retrieval.

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 each selector parameter is documented in the schema, including the repository/yaml_path pairing. The description restates the selector list and adds the exactly-one rule, but supplies no format or semantics beyond what the schema already carries, so the baseline 3 applies.

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?

"Fetch a single pipeline" gives a specific verb and resource, and "single" implicitly contrasts with the sibling list_pipelines. It does not, however, distinguish itself from get_pipeline_data or pipeline_context, which an agent would have to disambiguate on its own.

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 states the invocation rule (provide exactly one selector) and enumerates the valid selector combinations, which is real usage guidance. It gives no when-to-use vs when-not-to-use guidance relative to siblings like get_pipeline_data or list_pipelines, leaving selection inferred.

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

get_pipeline_dataGet pipeline dataA
Read-only

Fetch the full pipeline definition for a pipeline selected by pipeline_id or alias. Optionally specify a version, branch, or commit to load a specific revision.

ParametersJSON Schema
NameRequiredDescriptionDefault
aliasNoPipeline alias selector.
branchNoPipeline branch selector (used for git-backed pipeline YAML).
commitNoPipeline commit selector (used for git-backed pipeline YAML).
versionNoPipeline version selector (used for versioned pipeline YAML).
yaml_pathNoPipeline YAML path selector. Must be provided together with `repository`.
repositoryNoRepository selector. Must be provided together with `yaml_path`.
pipeline_idNoPipeline ID selector.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

readOnlyHint=true already declares this a safe read. The description adds that it returns the full definition and can pin to a specific revision, which is useful, but it says nothing about the git-backed vs versioned YAML distinction or the account-scoping behavior that the schema only hints at. Adequate but not rich.

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

Conciseness4/5

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

Two tight sentences with the primary selector front-loaded and the optional revision path second. No filler, though the second sentence compresses several distinct selector types into one clause.

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?

An output schema exists so return values need not be explained, and the schema fully documents the parameters. The description is complete for the core flow, with only minor gaps around the yaml_path/repository pair and account-override semantics, which the schema already covers.

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 eight selectors. The description repeats the primary ones (pipeline_id, alias, version, branch, commit) without adding format or mutual-exclusion rules, and omits yaml_path/repository pairing entirely. 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?

States a specific verb and resource ('Fetch the full pipeline definition') and clarifies that selection is by pipeline_id or alias, with optional revision selectors. It partially distinguishes itself from siblings like get_pipeline by emphasizing the full definition plus revision loading, though it never names those siblings 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 explains how to select a pipeline and that version/branch/commit load a specific revision, which implies usage. But it gives no guidance on when to prefer this over get_pipeline, list_pipelines, or pipeline_context, and no prerequisites or exclusions are stated.

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

get_pipeline_run_lineage_urlGet Pipeline Run Lineage URLA
Read-only

Build the URL of a pipeline run's lineage graph in the Orchestra UI.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_run_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description does not need to re-establish safety. It adds that the output is a lineage graph URL, but it does not disclose details like whether the pipeline run must exist or how the URL is formatted. With annotations in place, this is acceptable but minimal.

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, direct sentence with no filler. It front-loads the action and target, and every word earns its place.

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

Completeness4/5

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

This is a low-complexity, single-parameter, read-only tool with an output schema available. The description covers the core purpose sufficiently. The only notable gap is not explaining the provenance or format of pipeline_run_id, but the output schema and annotation coverage compensate for most of what an agent needs.

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 carries responsibility for explaining the single parameter, pipeline_run_id. It does not mention where the ID comes from, what format it expects, or how it is used. The parameter name is self-explanatory, but the description still adds no parameter-level 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?

The description uses a specific verb, 'Build', and a clear target, 'the URL of a pipeline run's lineage graph in the Orchestra UI.' This distinguishes it from sibling tools that retrieve statuses, logs, or artifacts, since none of them construct a UI URL.

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

Usage Guidelines2/5

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

The description gives no explicit guidance about when to use this tool versus alternatives like pipeline_context or get_pipeline_run_status. The intended use is implied, but there are no exclusions, prerequisites, or alternative tool mentions.

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

get_pipeline_run_statusGet pipeline run statusB
Read-only

Retrieve status details for a single pipeline run.

ParametersJSON Schema
NameRequiredDescriptionDefault
pipeline_run_idYesPipeline run ID.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, and the description adds no behavioral context beyond that — no mention of what happens if the run ID is unknown, retention windows, or polling semantics. For a trivially safe read tool the annotations carry the safety profile, but the description contributes essentially nothing new.

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

Conciseness5/5

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

A single sentence that states the purpose up front with no filler; the only extra element is a documentation link, which is cheap and potentially useful. Nothing needs trimming.

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?

An output schema exists, so return values need not be described, and both parameters are covered by the schema with annotations covering the safety profile. What is missing is error/edge-case behavior (unknown run ID, permission failure) and how this relates to adjacent per-run tools.

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 pipeline_run_id (uuid4) and X-Orchestra-Account-Id both fully documented in the schema, including the multi-account rules. The description adds no parameter meaning beyond the schema, so the baseline of 3 applies.

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 (Retrieve) and a specific resource (status details for a single pipeline run), and the word 'single' implicitly separates it from list_pipeline_runs. It does not, however, differentiate against other per-run siblings such as get_pipeline_run_lineage_url or list_task_runs_for_pipeline_run.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no prerequisites (e.g., the run must be complete vs. in-flight), and no exclusions or named alternatives. The only hint is the word 'single', which an agent must infer means 'use this instead of list_pipeline_runs'.

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

import_pipelineImport a pipelineC

Import a Git-backed pipeline definition from a repository into Orchestra.

ParametersJSON Schema
NameRequiredDescriptionDefault
aliasNo
yamlPathYes
repositoryYes
defaultBranchYes
workingBranchNo
storageProviderYes
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already establish readOnlyHint=false and destructiveHint=false, so the mutation nature is known. The description adds that the source is Git-backed, but says nothing about whether an existing pipeline is overwritten, what happens on conflict, which credential/account is required, or whether the import is synchronous.

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

Conciseness5/5

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

A single tight sentence with the operation front-loaded and no filler. Nothing in it is wasted, though the terseness is also the source of the gaps elsewhere.

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

Completeness2/5

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

An output schema exists, so return values need not be explained, but for a 7-parameter mutation tool with 14% schema coverage the description is far too thin. It omits conflict/overwrite behavior, auth context, and the meaning of nearly all parameters.

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

Parameters2/5

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

Schema description coverage is only 14% (just X-Orchestra-Account-Id), leaving six parameters undocumented. The description only implies the 'repository' parameter via the phrase 'from a repository' and explains none of yamlPath, defaultBranch, workingBranch, storageProvider, or alias.

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 (Import) and resource (a Git-backed pipeline definition) with a clear source (a repository) and destination (Orchestra). It does not, however, differentiate itself from close siblings such as create_pipeline, migrate_pipeline, or validate_pipeline, which an agent must choose between.

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

Usage Guidelines2/5

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

The description says nothing about when to import rather than create or migrate a pipeline, and gives no prerequisites (e.g. repository access, credential setup). Usage must be inferred entirely from the name and the sibling list.

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

list_accountsList workspacesA
Read-only

Lists the workspaces this credential can act on. An API key is issued to one workspace, so it lists that workspace alone. An OAuth token lists the workspaces chosen when access was granted, limited to those its user is still a member of.

Pass a returned id to select the workspace on calls that act within one (the X-Orchestra-Account-Id header in the API).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only declare readOnlyHint, so the description usefully adds that an API key yields exactly one workspace while an OAuth token yields the granted workspaces still matching the user's membership. It also names the downstream header mechanism (X-Orchestra-Account-Id), which is real behavioral context beyond the annotation.

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 paragraphs, scoping behavior front-loaded ahead of the downstream usage note. Every sentence carries information and none is redundant.

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?

An output schema exists, so return-value structure needn't be re-explained. Combined with the annotation and the credential-dependent scope plus follow-up usage guidance, an agent has everything needed to call and use this 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?

There are zero input parameters, so the baseline is 4. The description adds meaningful semantic context by clarifying that a returned id is the selector used on workspace-scoped calls, tying the output back to how it is consumed.

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 ('Lists the workspaces this credential can act on') and precisely distinguishes how the result set varies by credential type (API key vs OAuth). No sibling tool lists accounts, and the 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 Guidelines4/5

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

It explains the when and why clearly through the credential-type behavior and tells the agent what to do with the result ('Pass a returned id to select the workspace...'). There is no explicit comparison to an alternative, though no analogous sibling exists to route away from.

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

list_assetsList assetsA
Read-only

Retrieve a paginated list of assets for the workspace the credential resolves to.

Assets can be filtered by type, integration, integration account, workspace, database, schema, status, or asset ID. By default, results are sorted by created_in_integration in descending order.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number. Must be greater than or equal to 1.
statusNoFilter by status. Comma-separated values are supported where the parameter accepts multiple values.
asset_idsNoFilter by asset IDs. Provide comma-separated UUIDs for multiple values.
page_sizeNoNumber of items per page. Defaults to 50; maximum 100.
asset_typeNoFilter by asset type. Comma-separated values are supported.
integrationNoIntegration identifier.
schema_nameNoFilter by schema name.
sort_columnNoColumn used to sort assets.created_in_integration
workspace_idNoFilter by integration workspace ID.
database_nameNoFilter by database name.
sort_directionNoSort direction.desc
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.
integration_account_idNoFilter by the account identifier in the integration.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, which the description does not contradict. Beyond that it adds useful behavior: results are paginated, scoped to the credential's workspace, and default-sorted by created_in_integration descending. It does not cover pagination limits or how the account-override header behaves, keeping it out of 5 territory.

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 what the tool returns before the filtering and sorting details. There is no filler or repetition of the title.

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 an output schema present, the description need not explain return values, and the rich param schema covers inputs. It gives enough context on scope, filters, and default ordering to call the tool correctly, though it omits any note on pagination boundaries or the account-override parameter's semantics.

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 13 parameters including defaults, enums, and comma-separated multi-value syntax. The description's filter list merely mirrors the schema at a high level and adds no format or syntax detail, so the baseline 3 applies.

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 ('Retrieve a paginated list of assets') plus the scope ('for the workspace the credential resolves to'). It is clearly a list operation distinct from get_asset_by_id, though it never names siblings explicitly, 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 Guidelines3/5

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

The description enumerates the dimensions you can filter by, which implies when to reach for this tool, but it gives no explicit when-to-use vs. when-not guidance and does not route the agent to alternatives such as get_asset_by_id for a single lookup.

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

list_audit_eventsList audit eventsA
Read-only

List the audit trail for the workspace the credential resolves to, newest first: who did what, to which resource, and what changed.

occurred_after is required and sets how far back the trail is read; every other filter narrows within that window.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number. Must be greater than or equal to 1.
actionNoFilter by action. Comma-separated values are supported. One of: ACCOUNT_CREATED, ACCOUNT_DELETED, ACCOUNT_SETTINGS_UPDATED, ACCOUNT_UPDATED, AGENT_CREATED, AGENT_DELETED, AGENT_UPDATED, API_KEY_ROTATED, ASSET_CREATED, ASSET_DELETED, ASSET_DEPENDENCIES_CREATED, ASSET_UPDATED, ENVIRONMENT_CREATED, ENV...
actor_idNoOnly events performed by this actor, matched on the recorded actor id.
page_sizeNoNumber of items per page. Defaults to 25; maximum 100.
resource_idNoOnly events on this resource, by its id or YAML name.
resource_typeNoFilter by the type of resource acted on. Comma-separated values are supported. One of: ACCOUNT, AGENT, API_KEY, ASSET, ENVIRONMENT, GIT_CONNECTION, GROUP, INCIDENT, INTEGRATION_CONNECTION, INTEGRATION_STATE, INVITE, IP_RESTRICTIONS, MONITOR, ORGANISATION, PIPELINE, PIPELINE_RUN, PRODUCT, SKILL, TASK...
occurred_afterYesOnly events at or after this time, as an ISO 8601 timestamp (e.g. 2026-09-01T00:00:00Z). Required.
occurred_beforeNoOnly events at or before this time, as an ISO 8601 timestamp.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

readOnlyHint=true already declares the safety profile, and the description adds useful context beyond it: results are workspace-scoped to the credential and returned newest-first, and the required timestamp establishes the read window rather than the query being open-ended. It does not mention pagination behavior or result volume, which keeps it short of 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?

Two sentences, no filler. The scope and ordering lead, and the parameter-interaction rule follows in the second sentence where it is most actionable.

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?

An output schema exists so return values need no explanation, and all nine parameters are schema-documented. The description supplies scope, ordering, and filter-window semantics, but omits any pointer to sibling tools or a note on how the credential/account-id header interacts with the workspace scoping it mentions.

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 earns above baseline by explaining the semantic relationship between parameters - occurred_after defines the window and all other filters narrow within it, i.e. conjunctive filtering - which an agent cannot infer from the per-field descriptions 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?

States a specific verb and resource (list the audit trail) plus scope ('for the workspace the credential resolves to'), ordering ('newest first'), and payload content ('who did what, to which resource, and what changed'). An agent can distinguish this from siblings like list_incident_events without opening either schema.

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

Usage Guidelines4/5

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

Explains the mechanics of use: 'occurred_after' is required and sets the read window, while every other filter narrows within it. That is clear operating context, but the description never names an alternative tool or a when-not condition against siblings such as list_incident_events.

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

list_environmentsList environmentsA
Read-only

List the environments for the workspace the credential resolves to. Returns environment metadata only — fetch a single environment by ID to retrieve its variable values.

ParametersJSON Schema
NameRequiredDescriptionDefault
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output 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=true, so the safety profile is covered. The description adds genuinely useful context beyond that: what is returned (metadata only) and what is deliberately excluded (variable values), which is a real behavioral boundary an agent would otherwise discover only from a failed follow-up call.

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 zero filler, and the scope limitation is front-loaded before the pointer to the sibling tool. 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?

An output schema exists, so return values need no prose explanation, and the single parameter is fully covered by the schema. For a simple read-only list tool, nothing an agent needs in order 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% and the single optional parameter is fully documented in the schema itself, including the account-key vs OAuth-token semantics. The description adds nothing about the X-Orchestra-Account-Id override, 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?

States a specific verb ('List') and resource ('environments') plus the scoping constraint ('for the workspace the credential resolves to'), which separates it from unqualified list tools. The second sentence explicitly contrasts it with the get_environment sibling, so an agent can route between the two without opening either schema.

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

Usage Guidelines4/5

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

The description tells the agent when to use this tool rather than get_environment: list for metadata, fetch by ID for variable values. It does not state exclusions (e.g., pagination limits or when listing is inappropriate), so it stops short of explicit when-not guidance.

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

list_incident_eventsList an incident's timelineA
Read-only

Fetch the timeline for a single incident, newest first. Paginated from the start - a grouped incident accumulates one event per attached failure, so the history runs to hundreds of rows well before anyone triages it.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number. Must be greater than or equal to 1.
page_sizeNoNumber of items per page. Defaults to 25; maximum 100.
incident_idYesIncident ID.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true; the description goes further by disclosing the sort order, that pagination starts from the beginning, and a genuinely useful scale warning that grouped incidents accumulate one event per attached failure and can reach hundreds of rows. That volume context is exactly what annotations cannot convey.

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

Conciseness4/5

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

Two sentences, front-loaded with the core action and ordering. The second sentence is longer than strictly needed but earns its place by warning about row volume before an agent commits to fetching.

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?

An output schema exists, so return values need not be explained. Combined with full schema coverage, the description supplies scope, ordering, pagination behavior, and volume context, leaving little an agent would need that isn't 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 description coverage is 100% and all four parameters are documented in the schema itself, so the baseline is 3. The description's mention of pagination and newest-first ordering adds only marginal semantic value beyond the documented page/page_size fields.

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 ('Fetch the timeline for a single incident') plus the ordering ('newest first'), so an agent can tell it apart from get_incident and list_incidents. It doesn't explicitly name a sibling it is not, which keeps it 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 Guidelines3/5

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

Usage is implied (inspect a single incident's history chronologically), but there is no explicit when-to-use versus get_incident or list_incidents, and no prerequisites or exclusions. Adequate but leaves routing to inference.

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

list_incidentsList incidentsA
Read-only

List incidents for the workspace the credential resolves to, most severe first, with merged children nested under their parent.

Filters apply to top-level incidents only - a child is always returned alongside its parent, so a filtered list still shows the full incident rather than part of one. Use name to filter incidents by a case-insensitive substring match on the incident name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFilter by a case-insensitive substring match on the incident name.
pageNoPage number. Must be greater than or equal to 1.
statusNoFilter by status. Comma-separated values are supported.
severityNoFilter by severity. Comma-separated values are supported.
page_sizeNoNumber of items per page. Defaults to 10; maximum 100.
include_archivedNoInclude archived incidents. Defaults to false.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=true, but the description adds real behavioral traits: result ordering (most severe first), the merged-parent/child nesting structure, and the important constraint that children are always returned with their parent so filtering still yields a complete incident. This goes well beyond the safety hint.

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?

Purpose is front-loaded in the first clause, followed by the scope/ordering details and then the filter caveat. Efficient with no filler, though the second sentence is dense and slightly repetitive about filtering.

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?

An output schema exists, so return values need not be explained, and the description still covers the key structural nuance (nesting and filter scope). All parameters are schema-documented; the only gap is that it doesn't tie the tool to specific sibling workflows or note pagination behavior.

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 seven parameters are already documented. The description merely restates the `name` substring-match semantics already in the schema and says nothing extra about status, severity, paging, or include_archived, so it adds little beyond structured data.

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 incidents) plus scope (workspace the credential resolves to), ordering (most severe first), and merged-child nesting. This clearly distinguishes it from list_incident_events and get_incident, which operate on events and single incidents respectively.

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 clear usage context: filters apply to top-level incidents only, and `name` supports case-insensitive substring matching. It does not name sibling alternatives (e.g. get_incident, list_incident_events) or state when-not-to-use, 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.

list_integration_connectionsList integration connectionsA
Read-only

List the integration connections configured for the workspace the credential resolves to. Returns connection metadata only — secret auth parameters are never included in the response. Optionally filter by integration or authStatus.

ParametersJSON Schema
NameRequiredDescriptionDefault
authStatusNo
integrationNo
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

readOnlyHint=true already tells the agent this is a safe read, but the description adds genuine behavioral value: the result is scoped to the workspace the credential resolves to, and secret auth parameters are never returned. That return-content guarantee is not derivable from annotations or schema.

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 short sentences, front-loaded with the scope and resource, then the safety guarantee, then the filters. Each sentence carries information; no filler or restatement of the title.

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 an output schema present the description need not explain return values, yet it still discloses the metadata-only guarantee. Workspace scoping and filtering are covered; the only gap is the absence of guidance on the account-override interaction, which the schema itself handles.

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 33%, with the two filter parameters carrying no schema-level prose. The description names integration and authStatus as filters, which is useful, but adds nothing about how multiple filters combine or what the enum values mean.

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 (list integration connections) scoped to the credential's workspace, which is clear and actionable. It does not explicitly contrast itself with siblings such as get_integration_state_for_state_aware or list_accounts, so an agent must infer the boundary.

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 sentence 'Optionally filter by integration or authStatus' implies the intended usage context, but there is no explicit when-to-use vs. when-not guidance and no named alternative tool for related queries about integration state.

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

list_monitorsList monitorsB
Read-only

List the workspace's monitors in evaluation order. Where two monitors claim the same event, the one with the lower order wins.

ParametersJSON Schema
NameRequiredDescriptionDefault
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes this is a safe read. The description adds genuinely useful behavior the annotation cannot convey: precedence when monitors claim the same event (lower `order` wins). It does not cover pagination or ordering guarantees beyond that, but the output schema exists to describe returns.

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 tight sentences with the primary purpose front-loaded and the tie-break rule following immediately. No filler or restatement of the title.

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?

Annotations cover the safety profile and an output schema exists, so the description needn't explain returns. The evaluation-order/tie-break rule is the key semantic an agent needs for this list tool; only filtering or pagination behavior is left unstated.

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?

There is one optional parameter (X-Orchestra-Account-Id) with 100% schema description coverage, so the schema fully documents account selection semantics. The description adds nothing about it, which is the correct baseline when the schema carries the load.

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

Purpose4/5

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

States a specific verb (list) and resource (monitors), plus the meaningful detail that results come in evaluation order. It reads clearly against siblings like get_monitor and reorder_monitors, though it never names them explicitly.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no exclusions, and no mention of the related siblings (get_monitor, reorder_monitors, update_monitor) that an agent might confuse with this call. Usage is only implied by the verb 'list'.

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

list_operationsList operationsA
Read-only

Retrieve a paginated list of task operations for the workspace the credential resolves to.

From 2026-10-01 the default changed from the last 7 days to the last 24 hours. Pass time_from and time_to explicitly to control the window.

Use operation filters to narrow results by operation type, integration, external ID, operation status, or task run ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number. Must be greater than or equal to 1.
statusNoFilter by status.
time_toNoEnd of the time window as an ISO 8601 datetime.
page_sizeNoNumber of items per page. Defaults to 50; maximum 100.
time_fromNoStart of the time window as an ISO 8601 datetime.
external_idNoExternal system identifier to filter by.
integrationNoIntegration identifier.
task_run_idNoTask run ID.
operation_typeNoFilter by operation type. Comma-separated values are supported.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior5/5

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

With readOnlyHint already declaring a safe read, the description adds substantial non-obvious behavior: the 24-hour default window, the 7-day maximum range per request, the 2023-01-01 floor on time_from, and a documented default change effective 2026-10-01. These are exactly the gotchas an agent could not infer from schema or 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 purpose sentence is front-loaded and the note block is well-organized with the time-window rules grouped together. It is slightly long for the amount of information, but every clause (defaults, limits, migration date) 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?

Given an output schema exists, return values need not be explained, and the description covers filtering, time-window constraints, credential/account scoping, and pagination. What remains unstated is result ordering and what an 'operation' entity represents, which is minor for a list tool with rich schema support.

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 cross-parameter semantics the schema lacks: the interaction between time_from and time_to, the 7-day cap when both are passed, and the default 24-hour window when neither is. That is real added meaning beyond the field-level descriptions.

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 ('Retrieve a paginated list of task operations') plus the scope ('the workspace the credential resolves to'). It is distinct from siblings like list_task_runs and list_pipeline_runs by naming 'operations', though it does not explicitly contrast itself with the nearest 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?

Gives clear operational context: when to pass time_from/time_to, what happens when neither is provided, and which filters are available to narrow results. It does not say when to prefer this tool over alternatives such as list_task_runs, so it stops short of full 5-level routing guidance.

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

list_pipeline_runsList Pipeline RunsA
Read-only

List pipeline runs with optional filters. status accepts comma-separated values: CREATED, RUNNING, SUCCEEDED, WARNING, FAILED, CANCELLING, CANCELLED.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number. Must be greater than or equal to 1.
statusNoFilter by status. Comma-separated values are supported where the parameter accepts multiple values.
time_toNoEnd of the time window as an ISO 8601 datetime.
page_sizeNoNumber of items per page. Defaults to 50; maximum 100.
time_fromNoStart of the time window as an ISO 8601 datetime.
environmentsNoFilter by environment IDs. Provide comma-separated UUIDs for multiple values.
pipeline_idsNoFilter by pipeline IDs. Provide comma-separated UUIDs for multiple values.
pipeline_run_idsNoFilter by pipeline run IDs. Provide comma-separated UUIDs for multiple values.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

The readOnlyHint annotation already covers the safety profile, so the description doesn't need to emphasize read-only behavior. It adds the detail that status accepts comma-separated values and enumerates them, but does not disclose other behavioral aspects like pagination defaults or sorting, which are left to the schema. This is adequate given the annotation.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the core action first and then provides the most critical parameter detail. There is no redundant wording, and every word earns its place.

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

Completeness4/5

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

Given the presence of a full output schema and comprehensive parameter descriptions in the input schema, the description is sufficient for an agent to understand the tool's purpose and key filter. It doesn't mention pagination or time windows, but those are documented in the schema. The only minor gap is lack of sibling differentiation, which is covered under usage guidelines.

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 covers all 9 parameters with descriptions, so the baseline is 3. The description adds specific value by enumerating the allowed status values (CREATED, RUNNING, SUCCEEDED, etc.), which the schema does not list. This extra semantic detail enhances parameter understanding beyond the schema.

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

Purpose4/5

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

The description states a specific verb ('List') and resource ('pipeline runs') and mentions optional filters, clearly distinguishing it from sibling tools like get_pipeline_run_status or cancel_pipeline_run. It lacks an explicit statement of the return type, but the title and phrasing are unambiguous.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives, such as get_pipeline_run_status for a single run or list_task_runs for tasks. It only describes the action without contextualizing selection criteria or exclusions.

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

list_pipelinesList pipelinesA
Read-only

List pipelines for the workspace the credential resolves to.

Always pass page and page_size to receive a paginated response with page, page_size, total, and results fields, sorted by pipeline name. Use name to filter pipelines by a case-insensitive substring match on the pipeline name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFilter by a case-insensitive substring match on the pipeline name.
pageNoPage number. Must be greater than or equal to 1.
page_sizeNoNumber of items per page. Defaults to 50; maximum 100.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds real behavioral context beyond that: passing page/page_size changes the response shape (paginated envelope with page, page_size, total, results), results are sorted by pipeline name, and name matching is case-insensitive substring. That is meaningful disclosure of how the call behaves.

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 short sentences, front-loaded with the scope statement followed by the two operational tips. Little waste, though the pagination-field enumeration slightly overlaps with the output schema.

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?

An output schema exists, so return values need not be re-explained; the description still adds the sorting and paging-shape behavior, which is enough for an agent to call it correctly. Nothing critical is missing, though an explicit pointer away from get_pipeline would round it out.

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 including the account-id header is already documented in the schema. The description largely restates schema content (case-insensitive substring, pagination fields) with no extra syntax, defaults, or interaction notes, so the baseline 3 applies.

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 (list pipelines) and adds a scope qualifier: the workspace the credential resolves to. It does not explicitly distinguish itself from siblings like get_pipeline or list_pipeline_runs, but the workspace/credential scoping is concrete enough for an agent to recognize it as the enumeration entry point.

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?

Gives prescriptive guidance on how to call the tool ('Always pass page and page_size') and how to narrow results with `name`, which is useful operational context. However, it never says when to choose this over alternatives such as get_pipeline for a single pipeline, so the when/when-not dimension is only implied.

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

list_task_run_artifactsList task run artifactsB
Read-only

List artifacts linked to a task run, such as dbt manifest.json, run_results.json, catalog.json, and sources.json files.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_run_idYesTask run ID.
pipeline_run_idYesPipeline run ID.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes this is a safe read, so the bar is lower. The description adds useful domain context by naming which dbt artifacts appear, but says nothing about pagination, result limits, or what happens when a run produced no artifacts.

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

Conciseness5/5

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

A single sentence with the core purpose front-loaded and the illustrative artifact list appended as concrete payoff. No filler and nothing redundant.

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?

An output schema exists, so return values need not be explained, and the two required IDs are fully documented in the schema. For a simple list tool this is nearly sufficient; only the routing versus the download sibling 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 task_run_id, pipeline_run_id, and the account-id header are all documented in the schema; the description adds no syntax or format detail beyond that. Baseline 3 applies when the schema does the heavy lifting.

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?

Names a specific verb ('List') and resource ('artifacts linked to a task run') and concretely enumerates the artifact types (dbt manifest.json, run_results.json, catalog.json, sources.json). It does not explicitly distinguish itself from the sibling download_task_run_artifact, but the list-vs-download distinction is inferable from the verb.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, no prerequisites, and never mentions the closely related sibling download_task_run_artifact (which fetches a single artifact) or list_task_run_logs. The agent must infer the choice from tool names alone.

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

list_task_run_logsList task run logsA
Read-only

List log files linked to a task run. Use the returned filenames with the download endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_run_idYesTask run ID.
pipeline_run_idYesPipeline run ID.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds a small amount of behavioral value by disclosing that the result is a set of filenames rather than log content, but it says nothing about pagination, filtering, ordering, or behavior when a run has no logs. Adequate but thin against 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?

Two short sentences, zero filler, with the core action front-loaded and the follow-up workflow hint second. 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?

An output schema exists, so return-value explanation is not required, and the description covers the purpose plus the next step in the workflow. It is close to complete for a simple read-only list tool, with only minor gaps (no mention of empty results or ordering).

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 task_run_id, pipeline_run_id, and the account-override header are already fully documented in the schema. The description adds no parameter-level meaning beyond what the schema provides, so the baseline 3 applies.

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 ('List log files linked to a task run'), which is enough to distinguish it from the neighboring list_task_run_artifacts tool. It does not explicitly name that sibling, but the 'log files' scoping 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 second sentence gives actionable chaining guidance: the returned filenames are meant to be fed to the download endpoint (download_task_run_log). It gives clear context for what to do with the result, though it does not state when this tool should be preferred over siblings or any prerequisites/exclusions.

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

list_task_runsList task runsA
Read-only

Retrieve a paginated list of task runs for the workspace the credential resolves to.

From 2026-10-01 the default changed from the last 7 days to the last 24 hours. Pass time_from and time_to explicitly to control the window.

Filter by multiple statuses, integrations, pipeline IDs, or task run IDs using comma-separated values. For example, status=SUCCEEDED,FAILED&integration=HTTP,SNOWFLAKE returns task runs matching either status and either integration.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number. Must be greater than or equal to 1.
statusNoFilter by status. Comma-separated values are supported where the parameter accepts multiple values.
time_toNoEnd of the time window as an ISO 8601 datetime.
page_sizeNoNumber of items per page. Defaults to 50; maximum 100.
time_fromNoStart of the time window as an ISO 8601 datetime.
integrationNoIntegration identifier.
pipeline_idsNoFilter by pipeline IDs. Provide comma-separated UUIDs for multiple values.
task_run_idsNoFilter by task run IDs. Provide comma-separated UUIDs for multiple values.
include_supersededNoInclude superseded task runs, which are the earlier attempts of a task that was retried. Set to false to return only the latest attempt of each task.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, so safety profile is clear. The description adds non-obvious operational context beyond the schema: the 24-hour default window, the 7-day max range, the 2023-01-01 floor, and especially the 2026-10-01 default change from 7 days to 24 hours. These are the kind of behavioral traits an agent can't derive from 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.

Conciseness4/5

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

Front-loaded with purpose and scope, then a clearly delineated Note for time-window rules and a final example of multi-value filtering. Well-structured; slightly long, but each block carries distinct 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 an output schema exists (so return shape need not be explained) and annotations cover the read-only safety profile, the description fills the remaining gaps: default time window, historical default change, max range, and multi-value filter syntax. An 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.

Parameters3/5

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

Schema description coverage is already 100%, and the schema documents page_size, include_superseded, time bounds, and ID filters fully. The description adds the comma-separated multi-value semantics for status and integration (useful, since the schema only says 'where the parameter accepts multiple values'), but otherwise mostly restates schema-defined behavior. Baseline 3 is appropriate given the schema already carries the load.

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 ('retrieve a paginated list of task runs') and scopes it to the workspace the credential resolves to. It does not explicitly contrast itself with the sibling 'list_task_runs_for_pipeline_run', so a reader must infer the distinction from context.

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 clearly explains when default behavior applies (last 24 hours if no time range is given), the 7-day maximum window when both bounds are set, and the explicit recommendation to pass time_from/time_to to control the window. It does not, however, name when to use this tool instead of the pipeline-run-scoped variant.

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

list_task_runs_for_pipeline_runList task runs for a pipeline runA
Read-only

Retrieve task runs belonging to a single pipeline run. This endpoint uses page_size default 10 and maximum 50.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number. Must be greater than or equal to 1.
page_sizeNoNumber of items per page. Defaults to 10; maximum 50.
pipeline_run_idYesPipeline run ID.
include_supersededNoInclude superseded task runs, which are the earlier attempts of a task that was retried. Set to false to return only the latest attempt of each task.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes this is a safe read, lowering the disclosure burden. The description's pagination statement (default 10, max 50) largely repeats the page_size schema description rather than adding new behavioral context like ordering or total-count semantics.

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

Conciseness4/5

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

Two tight sentences with the core purpose front-loaded and no filler. The second sentence is somewhat redundant with the schema's page_size description, slightly diminishing its 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?

With an output schema covering return shape, read-only annotations, and full parameter documentation, the definition is complete enough to call the tool correctly. It only lacks sibling routing guidance for choosing between this and list_task_runs.

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 five parameters, including the non-obvious include_superseded flag and the X-Orchestra-Account-Id header, are already documented in the schema. The description only echoes page_size defaults, adding nothing beyond structured fields, so the baseline 3 applies.

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 (Retrieve) and resource (task runs) scoped to 'a single pipeline run', which separates it by scope from the sibling list_task_runs. It stops short of naming an alternative explicitly, so it is clear but not maximally differentiating.

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

Usage Guidelines3/5

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

The phrase 'belonging to a single pipeline run' implies when this tool applies versus a broad listing, but there is no explicit when-to-use, when-not-to-use, or named alternative such as list_task_runs. Usage is inferable rather than stated.

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

merge_incidentsMerge incidentsA

Merge the incidents named in the request body into the incident in the path. Merging is one level deep - merging an incident that already has a parent, or naming one that has incidents merged into it, is rejected rather than nesting further.

ParametersJSON Schema
NameRequiredDescriptionDefault
incidentIdsYes
incident_idYesIncident ID to merge the named incidents into.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavior beyond that: merging is one level deep and certain merges are rejected rather than nested. It stops short of noting that the operation is reversible via unmerge, which would matter for a mutation.

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

Conciseness4/5

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

Two sentences, front-loaded with the core action and followed by the nesting constraint. No filler, though the second sentence is somewhat dense.

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?

An output schema exists, so return values need not be explained, and the description covers the tricky semantic (non-nesting merge) plus the account fallback is documented in the schema. The only real gap is the absence of any pointer to unmerge_incidents as the inverse/recovery path.

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 67%: incident_id and X-Orchestra-Account-Id carry descriptions, while incidentIds does not. The description frames the array as 'the incidents named in the request body,' implying plurality, but adds no format/count details (e.g., the max of 5) beyond the schema. Baseline 3 fits since the schema does most of the work.

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 gives a specific verb+resource ('merge the incidents ... into the incident in the path') and clarifies the source/target roles, so the agent can tell it apart from update_incident or list_incidents. However, it never names the most confusable sibling, unmerge_incidents, which would have sharpened the distinction.

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 states the operational constraint (one-level-deep merging; rejections for nesting) but gives no explicit guidance on when to prefer this over sibling operations such as unmerge_incidents or update_incident. Usage is implied by the merge semantics rather than stated.

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

migrate_pipelineUpdate pipeline storage settingsB

Migrate an Orchestra-backed pipeline to git-backed storage. Identify it with pipeline_id or alias, and omit working_branch when it equals default_branch.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
aliasNoPipeline alias selector.
repositoryYes
pipeline_idNoPipeline ID selector.
defaultBranchYes
workingBranchNo
storageProviderYes
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

Annotations only tell the agent readOnlyHint=false and destructiveHint=false. The description adds no behavioral context beyond the intent: it does not say whether the migration is reversible, whether the pipeline is unavailable while migrating, what happens to existing content, or what permissions/credentials are needed for the target repository.

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

Conciseness4/5

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

Two tight sentences with the core action front-loaded and the parameter exceptions trailing. No filler or repetition.

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?

An output schema exists, so return values need not be explained, and the annotations cover the safety profile. However, for an 8-parameter mutation with only 38% schema coverage, the description omits prerequisites, credential requirements for the target repository, and the effect of the migration.

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 low (38%), so the description needs to compensate. It clarifies the selector parameters (pipeline_id/alias) and one non-obvious rule for working_branch vs default_branch, but leaves repository, path, storageProvider, and defaultBranch semantics unexplained.

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

Purpose4/5

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

States a specific verb (migrate) and resource (pipeline) plus the direction of the change: Orchestra-backed storage to git-backed storage. This clearly separates it from update_pipeline or create_pipeline, though it does not name a 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?

The description gives operational guidance on identifying the target ('pipeline_id or alias') and a conditional rule ('omit working_branch when it equals default_branch'), which is real usage help. It does not say when to choose this tool over update_pipeline or the other pipeline-mutating siblings.

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

mute_incidentMute an incidentA

Silence further alerts on this incident until the account's alert budget next refills. Already muted is a no-op.

ParametersJSON Schema
NameRequiredDescriptionDefault
incident_idYesIncident ID.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: idempotent no-op behavior on repeat calls and a clear temporal boundary (until the account's alert budget next refills). It does not mention auth/permission nuances, but the schema already documents the account-override semantics.

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-loaded with the core action and effect, with zero filler. Every clause (duration, idempotency) 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?

An output schema exists, so return values needn't be explained, and both parameters are fully documented in the schema. For a simple mute mutation the description is nearly complete, with the only gap being no explicit routing to the mute/unmute/update incident siblings.

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%, including an in-depth explanation of the X-Orchestra-Account-Id override, so the schema carries the parameter burden. The description adds nothing about either parameter, which is acceptable given full coverage but leaves no incremental value; baseline 3 applies.

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 ('Silence further alerts on this incident'), which is clearly a mute action rather than a generic update. It adds the temporal scope (until the alert budget refills) that disambiguates from a permanent change, though it never names the obvious counterpart unmute_incident to sharpen distinction.

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

Usage Guidelines2/5

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

The description gives no guidance on when to choose this over siblings such as update_incident, merge_incidents, or unmute_incident. The only usage-relevant statement is the idempotency note ('Already muted is a no-op'), which is behavioral rather than a when-to-use routing hint.

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

pause_pipelinePause or unpause a pipelineA

Pause or unpause a pipeline by alias or pipeline ID. A paused pipeline's schedules, sensors, trigger events, and start_pipeline calls do not start new runs.

ParametersJSON Schema
NameRequiredDescriptionDefault
pausedYes
pipeline_id_or_aliasYesPipeline ID or alias.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered structurally. The description adds genuinely useful behavioral context beyond that: exactly what a paused state suppresses (schedules, sensors, trigger events, start_pipeline calls), confirming pausing is non-destructive and reversible. It omits any note on permissions or the effect on already-running runs.

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 tight sentences: the action and identifier first, then the behavioral consequence. No filler and everything 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?

An output schema exists, so return values need not be described, and the effect of pausing is well covered. The main gap is that the bidirectional behavior of the `paused` flag is left for the agent to infer from the parameter name.

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 67% and the schema already documents pipeline_id_or_alias and the account-id header. The description restates the alias/ID acceptance but adds no format or validation detail, and never explains the `paused` boolean semantics (true=pause, false=unpause). 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 pair (pause/unpause) and resource (pipeline) and the identifier it accepts. It is clearly distinguishable from siblings like start_pipeline or cancel_pipeline_run, which involve different operations on the same resource.

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

Usage Guidelines3/5

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

The description implies when this operation is relevant by explaining what pausing does, but it gives no explicit when-to-use guidance, no exclusions, and does not name alternatives (e.g., cancel_pipeline_run for stopping in-flight runs). Usage must be inferred.

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

pipeline_contextPipeline ContextA
Read-only

What an agent needs before editing or reasoning about a pipeline: its metadata, its full definition (the pipeline YAML structure as JSON), the integrations its tasks use, its recent run outcomes, and the median duration of its succeeded runs. Takes a pipeline ID or an alias. Run history covers the last 7 days, the widest window the API serves.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.
pipeline_id_or_aliasYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, so the description adds meaningful behavioral detail: it discloses the return payload (metadata, YAML as JSON, integrations, run outcomes, median duration) and the data freshness limit (last 7 days, the widest window the API serves). It does not cover auth requirements beyond the schema's account_id note or failure behavior, but the added scope and window information is substantive.

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 purpose and contents, then the parameter form, then the run-window constraint. Every sentence adds 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?

An output schema exists, so the description need not explain return structure, and it sufficiently covers what is returned, the accepted identifier form, and the run history window. Minor gaps remain around run-count limits or error behavior, but the definition is complete enough 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 50%: account_id is fully documented in the schema, but the required pipeline_id_or_alias has no schema description. The description compensates by stating 'Takes a pipeline ID or an alias,' which adds the alias option beyond the bare string type.

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 resource (a pipeline) and enumerates exactly what the tool returns: metadata, full definition as JSON, integrations, recent run outcomes, and median succeeded-run duration. This composite scope clearly distinguishes it from siblings like get_pipeline or get_pipeline_data, which cover only subsets.

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?

'What an agent needs before editing or reasoning about a pipeline' gives explicit usage context. However, it does not name alternatives or state when not to use this tool versus get_pipeline, get_pipeline_data, or list_pipeline_runs.

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

reorder_monitorsReorder monitorsA

Set the evaluation order of the workspace's monitors. monitorIds must name every monitor exactly once; each monitor's order becomes its position in the list.

ParametersJSON Schema
NameRequiredDescriptionDefault
monitorIdsYes
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact – that this is a full-list replacement where every monitor must appear exactly once – but does not say what happens to ordering-dependent behavior (e.g., active alerts or in-flight evaluations) after reordering.

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 tight sentences with the core action front-loaded and the call constraint immediately after. 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?

An output schema exists, so return values need not be described. For a mutation tool whose annotations carry the safety profile, the description supplies the essential calling contract (full-list, exactly-once) plus account scoping via the schema. 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 50%: X-Orchestra-Account-Id is fully documented in the schema, but monitorIds (array of uuid4) has no schema description. The description compensates by explaining the array's semantics – it must contain every monitor exactly once and its index becomes each monitor's order position.

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

Purpose4/5

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

The description names a specific verb and resource ('Set the evaluation order of the workspace's monitors'), which clearly separates it from sibling mutations like update_monitor (field edits) and reads like list_monitors. It stops short of explicitly naming an alternative sibling, so it is clear but not fully differentiated.

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?

Usage is implied rather than stated: the reader infers this is for bulk reordering rather than editing a single monitor. The 'must name every monitor exactly once' constraint is a real precondition, but there is no explicit when-to-use/when-not guidance or mention of alternatives such as update_monitor.

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

start_pipelineStart a pipeline runA

Start a pipeline run. The pipeline can be identified by alias or pipeline ID.

All request body fields are optional. Use branch and commit for Git-backed pipelines, versionNumber for Orchestra-backed published versions, and runInputs for values required by pipeline inputs. The response includes a pipelineRunId you can use to poll run status.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo
pipeline_id_or_aliasYesPipeline ID or alias.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the safety profile is covered. The description adds that all body fields are optional and that the response carries a pipelineRunId for polling, which is useful, but it omits auth/scope behavior, idempotency, and side effects of an actual run.

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, front-loaded with purpose, then field guidance, then the response contract. Every sentence adds value and there is no filler, though the field-routing sentence is dense.

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?

An output schema exists, so return values need not be detailed, and the description appropriately limits itself to noting pipelineRunId for polling. For a 3-parameter trigger tool with a nested body, the routing guidance is sufficient, but several body fields and any precondition on pipeline state remain undocumented.

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 67% schema coverage, the description compensates by explaining the semantics of the key optional groups: branch/commit for Git-backed pipelines, versionNumber for Orchestra-backed published versions, and runInputs for pipeline input values. It leaves ciRunId, taskIds, retryFromFailed, environment, and environmentOverrides unexplained, so it is helpful but not exhaustive.

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 ("Start a pipeline run") and identifies the two ways the pipeline can be addressed, which cleanly separates it from siblings like cancel_pipeline_run, validate_pipeline, and update_pipeline. It does not explicitly name a sibling, so it falls just 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 Guidelines3/5

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

Usage is implied by the field-routing guidance (branch/commit for Git-backed, versionNumber for published versions, runInputs for inputs), which tells the agent how to invoke it. However, it never says when to prefer this tool over alternatives or what preconditions exist (e.g., pipeline must be unpaused), so guidance is incomplete.

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

unmerge_incidentsUnmerge incidentsA

Detach the incidents named in the request body from the incident in the path, restoring each as a standalone incident. The exact inverse of merge.

ParametersJSON Schema
NameRequiredDescriptionDefault
incidentIdsYes
incident_idYesIncident ID to detach the named incidents from.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, indicating a non-destructive mutation. The description adds that incidents become standalone, which is useful behavioral context. However, it does not state whether the operation requires specific permissions, what happens if an incident is not part of the given incident_id, or any rate limits, leaving gaps 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.

Conciseness5/5

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

Two tight sentences that front-load the action and scope, with the inverse-of-merge statement adding efficient orientation. No wasted words.

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

Completeness3/5

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

With an output schema present, return values need not be explained. However, for a mutation tool with partial schema coverage and no explicit usage guidance or permission details, the description is minimal but sufficient to call the tool correctly, though it could do more to clarify constraints and outcomes.

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 67%, with incident_id and X-Orchestra-Account-Id documented in the schema. The description adds the concept of detaching from a path incident and restoring targets as standalone, but does not clarify the relationship between incidentIds (targets) and incident_id beyond what the schema already indicates, nor does it compensate for the undocumented incidentIds parameter.

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 (detach) and resource (incidents named in body from incident in path) and clarifies the effect (restore as standalone). It does not explicitly name the sibling merge_incidents, though 'The exact inverse of merge' implicitly references it, which provides some sibling linkage but not by name.

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?

Usage is implied by the inverse-of-merge framing, which helps an agent understand the operation. However, there is no explicit when-to-use context, no exclusions, and the alternative merge_incidents is not named. Adequate but with clear routing gaps.

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

unmute_incidentUnmute an incidentA

Lift this incident's mute early. A no-op if it was never muted, or already lapsed.

ParametersJSON Schema
NameRequiredDescriptionDefault
incident_idYesIncident ID.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations declare non-read-only/non-destructive, and the description adds genuine value beyond them by disclosing idempotent behavior ('A no-op if it was never muted, or already lapsed'), which tells the agent not to fear redundant calls. It stops short of naming auth/permission constraints, 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?

Two tight sentences, zero filler, with the core action and the idempotency caveat front-loaded. 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?

An output schema exists so return values need no explanation, and annotations cover the safety profile. Combined with the idempotency note, the description is nearly complete for this simple, single-required-param mutation, missing only usage routing against siblings.

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 incident_id and the account-override header. The description adds no parameter-level detail, which is the correct baseline when the schema does the heavy lifting.

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+resource ('Lift this incident's mute early'), making the operation unmistakable and clearly differentiating it from the sibling mute_incident. An agent can tell instantly what this does.

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

Usage Guidelines3/5

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

Usage is implied by the semantics rather than stated: the no-op behavior tells the agent it is safe to call regardless of mute state, but the description never says when to prefer this over update_incident or other incident mutations. Adequate but with a clear gap.

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

update_environmentUpdate an environmentA

Update an environment's name, default flag, and variable values. Only the fields supplied are changed; omitted fields are left untouched. The supplied values replace the existing values in full — they are not merged. Marking an environment as the default automatically unsets the previous default environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
valuesNo
defaultEnvNo
environment_idYes
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare it is a non-read-only, non-destructive mutation, and the description adds genuinely non-obvious behavior beyond that: values are replaced wholesale rather than merged, and setting the default unsets the prior default. It does not discuss permissions, error behavior, or reversibility, so it falls short of 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 tight sentences, front-loaded with the operation scope before the edge-case semantics. No filler, no repetition of the title, and each sentence adds a distinct fact.

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?

An output schema exists so return values need no explanation, and annotations already convey the safety profile; the description supplies the mutation semantics an agent needs. Minor gaps remain around null handling for `name` and the account-id header, but nothing critical is missing for a correct 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 description coverage is only 20%, so the description must carry the load, and it does the most important part: it explains the replace-vs-merge semantics of `values` and the side effect of `defaultEnv`, which the schema cannot express. It leaves environment_id and the account-id header undocumented, so it does not fully compensate.

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 ('Update') and resource ('an environment') and enumerates the mutable fields: name, default flag, and variable values. It is clearly distinguishable from create/get/list_environment siblings by implication, though it never names an alternative 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?

The clause 'Only the fields supplied are changed; omitted fields are left untouched' implicitly tells the agent when this tool is appropriate (partial edits) versus create_environment, but there is no explicit when-to-use/when-not-to-use statement or prerequisite guidance.

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

update_incidentUpdate an incidentA

Change an incident's status, severity or name. A field left out of the request body keeps its stored value. assignee is not settable via the public API yet.

Returns the detail shape - a patch writes timeline rows of its own, so the caller's event count is out of date the moment the change lands.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
statusNo
severityNo
descriptionNo
incident_idYesIncident ID.
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, destructiveHint=false) by disclosing patch semantics (omitted fields retain stored values), the API limitation on `assignee`, and a non-obvious side effect: the write creates its own timeline rows so the caller's event count is immediately stale. That is exactly the kind of surprise an agent needs warned about.

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: the mutation scope leads, the patch-semantics rule follows, and the return/side-effect note closes. No filler, and the caveats are front-loaded rather than buried.

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?

Since an output schema exists, the brief return-shape note plus the stale-event-count warning is sufficient. Minor gaps remain: the updatable `description` field is unmentioned and no permission/authorization context is given for a mutation, but nothing critical for correct invocation 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 only 33%, so the description must compensate; it names status, severity and name but not the settable `description`, and gives no enum values or format hints for those fields. It does add the `assignee` exclusion, which the schema does not encode. Baseline-adjacent 3 given partial compensation for a coverage gap.

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

Purpose4/5

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

States a concrete verb and resource plus the three main mutable fields (status, severity, name), which is specific enough to distinguish it from read tools like get_incident. However it omits the settable `description` field and does not distinguish itself from mutation siblings such as merge_incidents, unmerge_incidents or mute_incident.

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?

Usage is implied (a patch-style update of an existing incident) and it usefully rules out `assignee` as not settable via the public API, but it never states when to prefer this tool over merge_incidents, mute_incident, or update-adjacent siblings, nor any prerequisites.

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

update_monitorUpdate a monitorA

Replace a monitor's definition with the one in the body. A field left out takes its default rather than keeping its stored value, except order, which keeps the monitor's place.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
matchYesWhich events a monitor claims: AND across dimensions, OR within a list. At least one dimension has to be given. A monitor matching every dimension by saying nothing would claim every event on the account, which is never what an author means.
orderNo
actionNoWhat happens to the events this monitor claimed. ``mute`` claims them and sends no alert - the known-broken-thing case. They are still recorded, on incidents the monitor owns, so a mute is silent without being invisible.
enabledNo
groupByYes
triggerNo
monitor_idYesMonitor ID.
descriptionNo
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

The annotations only give readOnlyHint=false and destructiveHint=false. The description adds genuinely useful behavior the annotations lack: omitted fields reset to defaults (not preserved), with `order` as the sole exception. This is the key hazard of a PUT-style tool and it is disclosed clearly.

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

Conciseness5/5

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

Two tightly written sentences, zero waste, and the most consequential fact (replace-and-reset semantics) 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?

An output schema exists so return values need no explanation, and the destructive replacement behavior is covered. It does not address auth/account scoping (delegated to the X-Orchestra-Account-Id param description) or the merge-vs-replace impact on nested objects, but is largely complete for a mutation 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 40% across 10 nested params, so the schema does not carry the burden alone. The description explains omission/default behavior generically and singles out `order`, which is valuable, but adds no meaning for name, match, groupBy, action, trigger, etc.

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+resource combination ('Replace a monitor's definition'), and the replacement semantics make it clearly distinct from create_monitor/get_monitor. It stops short of naming a sibling tool, but the operation is unambiguous.

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

Usage Guidelines3/5

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

Replacement semantics imply this is for overwriting an existing monitor, but there is no explicit when-to-use / when-not guidance and no routing to siblings like create_monitor or reorder_monitors. Usage is inferable rather than stated.

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

update_pipelineUpdate a pipeline by selectorA

Update an existing Orchestra-backed pipeline. Select it with pipeline_id or alias in the request body. Git-backed pipelines cannot be updated through this endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesPipeline definition as JSON, matching the pipeline YAML structure (required top-level keys: version, name, pipeline). Validate it with the validate_pipeline tool before submitting.
aliasNo
publishedYes
pipelineIdNo
X-Orchestra-Account-IdNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, so safety is partly covered. The description adds the Git-backed exclusion, but does not say whether supplying `data` fully replaces the existing definition, whether changes are reversible, what permissions are needed, or what happens to omitted fields. For a mutation tool this leaves real behavioral questions open.

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-loaded with the action, then the selector, then the exclusion. No padding or restated boilerplate.

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?

An output schema exists so return values need no explanation, and the selector story is mostly told. However, with only 40% schema coverage on a 5-parameter mutation tool, the description does not compensate for undocumented `published` semantics, selector precedence, or whether the update is a full replacement.

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 40%, so `alias`, `pipelineId`, and `published` are undocumented in the schema. The description confirms the selector concept but uses `pipeline_id` while the schema property is `pipelineId`, and it never states precedence when both selectors are supplied.

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 (Update) and resource (an existing Orchestra-backed pipeline), and explicitly narrows scope by excluding Git-backed pipelines, which lets an agent distinguish it from sibling pipeline mutations like create_pipeline or migrate_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?

Gives a clear when-not condition ('Git-backed pipelines cannot be updated through this endpoint') and names the selector mechanism. It stops short of routing between alternatives such as migrate_pipeline or import_pipeline when a Git-backed update is needed.

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

validate_pipelineValidate PipelineA
Read-only

Validate a full pipeline definition document without creating or updating a pipeline. Use it to check a definition before create_pipeline or update_pipeline.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.
canonicalizeNoWhen true, a valid response also includes the pipeline serialised in Orchestra's canonical camelCase form under a 'pipeline' key.
pipeline_definitionYesFull pipeline definition document as JSON, matching the pipeline YAML structure, e.g. {"version": "v1", "name": "...", "pipeline": {...task groups...}}. Pass the whole document — version, name and pipeline are required top-level keys; the task groups go under the nested 'pipeline' key. Same document create_pipeline accepts.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output 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, and the description reinforces this by stating no pipeline is created or updated, giving the agent confidence there are no side effects. It does not add further behavioral detail (e.g., error reporting shape or rate limits), but the side-effect disclosure is the key trait for a validation call.

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, zero filler, with the non-mutating scope front-loaded before the routing advice. 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 a rich input schema, an output schema, and a readOnly annotation, the description supplies what remains: the tool's non-persisting nature and its place relative to create/update. It is essentially complete, though it could note that validation returns diagnostics rather than a persisted object.

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 three parameters (account_id, canonicalize, pipeline_definition) are already documented in the schema, including the canonicalization behavior and account-resolution rules. The description adds no per-parameter meaning beyond what the schema 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?

States a specific verb (validate) and resource (full pipeline definition document) and immediately scopes it as non-persisting: 'without creating or updating a pipeline.' This cleanly distinguishes it from the sibling write tools create_pipeline and update_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?

Explicitly states when to use it: 'to check a definition before create_pipeline or update_pipeline,' naming both alternatives by name. It lacks an explicit when-not condition (e.g., 'do not use to persist changes'), but the routing 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.

whats_brokenWhat's BrokenA
Read-only

Start here for 'what is broken' or 'why did last night's run fail'. Returns every failing and warning pipeline run in the window, already joined to the task runs that failed inside it, with each task's message, externalMessage, platformLink and duration-vs-baseline anomalies. Retried attempts are excluded. Windows wider than 168 hours are clamped to that, the widest the API serves. Follow up on a single task run with diagnose.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idNoAct on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers.
environmentNo
window_hoursNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true, and the description adds real behavioral substance beyond them: retried attempts are excluded, results include messages, externalMessage, platformLink and duration-vs-baseline anomalies, and over-wide windows are clamped server-side. It does not describe pagination or result-size limits, so it falls short of 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?

Front-loaded with the trigger questions, then the returned payload, then the exclusion rule, then the clamp, then the sibling hand-off. Four tight sentences, each carrying distinct information with no restatement of the name or annotations.

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?

An output schema exists, so return values need not be spelled out, yet the description adds the useful detail about what is joined in. The one gap is the undocumented environment parameter, which neither schema nor description explains.

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 only 33%: account_id is well documented in the schema, environment is undocumented in both places, and window_hours has a default but no schema description. The description compensates for window_hours by explaining the 168-hour clamp, but leaves environment entirely unexplained.

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

Purpose5/5

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

Opens with the exact user questions it answers ('what is broken', 'why did last night's run fail') and states a specific resource: every failing and warning pipeline run in the window, joined to failed task runs. It is clearly distinguishable from diagnose, which it names as the single-task-run follow-up.

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 entry-point guidance ('Start here') plus an explicit alternative ('Follow up on a single task run with diagnose'). It also states the window boundary condition (wider than 168 hours is clamped), so the agent knows the tool's limits before calling.

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. 4 tool updatesv0.1.2
    • Changedcreate_monitor5 fields changed
      • addedInput schema / properties / groupBy / items / anyOf
        Added value: +[
        +  {
        +    "description": "What makes two events this monitor claimed one incident.\n\nEvery value but ``MONITOR`` resolves to a typed column that already exists on\n``incident_events``. ``MONITOR`` means \"everything this monitor claims is one\nincident\", which is served by ``monitor_id`` on the incident instead.",
        +    "enum": [
        +      "asset",
        +      "task",
        +      "pipeline",
        +      "connection",
        +      "monitor"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "pattern": "^\\$",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / properties / groupBy / items / description
        Removed value: -"What makes two events this monitor claimed one incident.\n\nEvery value but ``MONITOR`` resolves to a typed column that already exists on\n``incident_events``. ``MONITOR`` means \"everything this monitor claims is one\nincident\", which is served by ``monitor_id`` on the incident instead."
      • removedInput schema / properties / groupBy / items / enum
        Removed value: -[
        -  "asset",
        -  "task",
        -  "pipeline",
        -  "connection",
        -  "monitor"
        -]
      • removedInput schema / properties / groupBy / items / type
        Removed value: -"string"
      • addedInput schema / properties / groupBy / maxItems
        Added value: +32
    • Addedget_incident_external_event
    • Changedupdate_monitor5 fields changed
      • addedInput schema / properties / groupBy / items / anyOf
        Added value: +[
        +  {
        +    "description": "What makes two events this monitor claimed one incident.\n\nEvery value but ``MONITOR`` resolves to a typed column that already exists on\n``incident_events``. ``MONITOR`` means \"everything this monitor claims is one\nincident\", which is served by ``monitor_id`` on the incident instead.",
        +    "enum": [
        +      "asset",
        +      "task",
        +      "pipeline",
        +      "connection",
        +      "monitor"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "pattern": "^\\$",
        +    "type": "string"
        +  }
        +]
      • removedInput schema / properties / groupBy / items / description
        Removed value: -"What makes two events this monitor claimed one incident.\n\nEvery value but ``MONITOR`` resolves to a typed column that already exists on\n``incident_events``. ``MONITOR`` means \"everything this monitor claims is one\nincident\", which is served by ``monitor_id`` on the incident instead."
      • removedInput schema / properties / groupBy / items / enum
        Removed value: -[
        -  "asset",
        -  "task",
        -  "pipeline",
        -  "connection",
        -  "monitor"
        -]
      • removedInput schema / properties / groupBy / items / type
        Removed value: -"string"
      • addedInput schema / properties / groupBy / maxItems
        Added value: +32
    • Changedvalidate_pipeline5 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / account_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "uuid4",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Act on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers."
        +}
      • addedInput schema / properties / pipeline_definition / additionalProperties
        Added value: +true
      • removedInput schema / properties / pipeline_definition / title
        Removed value: -"Pipeline Definition"
      • addedInput schema / properties / pipeline_definition / type
        Added value: +"object"
  2. 12 tool updatesv0.1.1
    • Changedcreate_incident_comment1 field changed
      • addedInput schema / properties / description
        Added value: +{
        +  "anyOf": [
        +    {
        +      "maxLength": 500,
        +      "minLength": 1,
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "description": "A summary of the cause to set as the incident's description, written in the same call as the diagnosis. Only accepted with AI_DIAGNOSIS_COMPLETED or AI_DIAGNOSIS_FAILED, and not applied over a description a person wrote."
        +}
    • Changedcreate_monitor6 fields changed
      • changedInput schema / properties / match / properties / integrations / items / enum
        Previous value: -[
        -  "AIRBYTE_CLOUD",
        -  "AIRBYTE_SERVER",
        -  "AIRFLOW",
        -  "ARCH",
        -  "ALTERYX_SERVER",
        -  "ANTHROPIC",
        -  "AWS_EC2",
        -  "AWS_ECS",
        -  "AWS_EMR",
        -  "AWS_EKS",
        -  "AWS_FIREHOSE",
        -  "AWS_GLUE",
        -  "AWS_LAMBDA",
        -  "AWS_RDS",
        -  "AWS_REDSHIFT",
        -  "AWS_S3",
        -  "AWS_BEDROCK",
        -  "AWS_SAGEMAKER",
        -  "AWS_SECRETS_MANAGER",
        -  "AWS_SES",
        -  "AWS_STEP_FUNCTIONS",
        -  "AZURE",
        -  "AZURE_CONTAINER_APPS",
        -  "AZURE_DATA_FACTORY",
        -  "AZURE_DATA_LAKE_STORAGE",
        -  "AZURE_KEY_VAULT",
        -  "AZURE_KUBERNETES_SERVICE",
        -  "AZURE_LOGIC_APPS",
        -  "AZURE_SYNAPSE_ANALYTICS",
        -  "AZURE_VM",
        -  "BAUPLAN",
        -  "BOOMI",
        -  "CDATA",
        -  "CENSUS",
        -  "CLICKHOUSE",
        -  "COALESCE",
        -  "COUNT",
        -  "DATADOG",
        -  "DATABRICKS",
        -  "DATAPROC",
        -  "DATAZEN",
        -  "DBT",
        -  "DBT_CORE",
        -  "DLT",
        -  "DOMO",
        -  "DREMIO",
        -  "DUCKDB",
        -  "EMAIL",
        -  "ESTUARY",
        -  "ETLEAP",
        -  "FABRIC",
        -  "FABRIC_SYNAPSE",
        -  "FIVETRAN",
        -  "FORTRA",
        -  "GCP_BIG_QUERY",
        -  "GCP_CLOUD_RUN",
        -  "GCP_CLOUD_FUNCTIONS",
        -  "GCP_CLOUD_STORAGE",
        -  "GCP_DATAFLOW",
        -  "GCP_DATAFORM",
        -  "GCP_DATASTREAM",
        -  "GCP_LOOKER",
        -  "GKE",
        -  "GITHUB_ACTIONS",
        -  "GOOGLE_CLOUD",
        -  "HEVO",
        -  "HEX",
        -  "HIGHTOUCH",
        -  "HTTP",
        -  "HUBSPOT",
        -  "INFORMATICA_IICS",
        -  "INFORMATICA_POWERCENTER",
        -  "KAFKA",
        -  "KEBOOLA",
        -  "KLEENE",
        -  "LIGHTDASH",
        -  "LINUX_SSH",
        -  "MATILLION",
        -  "MATILLION_ETL",
        -  "METAPLANE",
        -  "MICROSOFT_TEAMS",
        -  "MICROSTRATEGY",
        -  "MONGODB",
        -  "MOTHERDUCK",
        -  "MYSQL",
        -  "N8N",
        -  "NIMBLE",
        -  "NOTION",
        -  "OMNI",
        -  "OPEN_AI",
        -  "ORCHESTRA",
        -  "PARADIME",
        -  "PAGER_DUTY",
        -  "PINECONE",
        -  "PORTABLE",
        -  "POSTGRES",
        -  "POWER_AUTOMATE",
        -  "POWER_BI",
        -  "PREFECT_CLOUD",
        -  "PYTHON",
        -  "QLIK",
        -  "QLIK_REPLICATE",
        -  "QUICKBOOKS",
        -  "RENDER",
        -  "RIVERY",
        -  "RUDDERSTACK",
        -  "SALESFORCE",
        -  "SAP",
        -  "SFTP",
        -  "SHAREPOINT",
        -  "SIGMA",
        -  "SISENSE",
        -  "SLACK",
        -  "SNOWFLAKE",
        -  "SNOWPLOW",
        -  "SODA",
        -  "SQL_MESH",
        -  "SQL_SERVER",
        -  "STITCH",
        -  "STREAMKAP",
        -  "TABLEAU_CLOUD",
        -  "TALEND_CLOUD",
        -  "THOUGHTSPOT",
        -  "TOBIKO_CLOUD",
        -  "WEAVIATE",
        -  "WEBHOOK",
        -  "WELD",
        -  "WINDOWS_SSH"
        -]New value: +[
        +  "AIRBYTE_CLOUD",
        +  "AIRBYTE_SERVER",
        +  "AIRFLOW",
        +  "ARCH",
        +  "ALTERYX_SERVER",
        +  "ANTHROPIC",
        +  "AWS_EC2",
        +  "AWS_ECS",
        +  "AWS_EMR",
        +  "AWS_EKS",
        +  "AWS_FIREHOSE",
        +  "AWS_GLUE",
        +  "AWS_LAMBDA",
        +  "AWS_RDS",
        +  "AWS_REDSHIFT",
        +  "AWS_S3",
        +  "AWS_BEDROCK",
        +  "AWS_SAGEMAKER",
        +  "AWS_SECRETS_MANAGER",
        +  "AWS_SES",
        +  "AWS_STEP_FUNCTIONS",
        +  "AZURE",
        +  "AZURE_CONTAINER_APPS",
        +  "AZURE_DATA_FACTORY",
        +  "AZURE_DATA_LAKE_STORAGE",
        +  "AZURE_KEY_VAULT",
        +  "AZURE_KUBERNETES_SERVICE",
        +  "AZURE_LOGIC_APPS",
        +  "AZURE_SYNAPSE_ANALYTICS",
        +  "AZURE_VM",
        +  "BAUPLAN",
        +  "BOOMI",
        +  "CDATA",
        +  "CENSUS",
        +  "CLICKHOUSE",
        +  "COALESCE",
        +  "COUNT",
        +  "DATADOG",
        +  "DATABRICKS",
        +  "DATAPROC",
        +  "DATAZEN",
        +  "DBT",
        +  "DBT_CORE",
        +  "DLT",
        +  "DOMO",
        +  "DREMIO",
        +  "DUCKDB",
        +  "EMAIL",
        +  "ESTUARY",
        +  "ETLEAP",
        +  "FABRIC",
        +  "FABRIC_SYNAPSE",
        +  "FIVETRAN",
        +  "FORTRA",
        +  "GCP_BIG_QUERY",
        +  "GCP_CLOUD_RUN",
        +  "GCP_CLOUD_FUNCTIONS",
        +  "GCP_CLOUD_STORAGE",
        +  "GCP_DATAFLOW",
        +  "GCP_DATAFORM",
        +  "GCP_DATASTREAM",
        +  "GCP_LOOKER",
        +  "GKE",
        +  "GITHUB_ACTIONS",
        +  "GOOGLE_CLOUD",
        +  "HEVO",
        +  "HEX",
        +  "HIGHTOUCH",
        +  "HTTP",
        +  "HUBSPOT",
        +  "INFORMATICA_IICS",
        +  "INFORMATICA_POWERCENTER",
        +  "KAFKA",
        +  "KEBOOLA",
        +  "KLEENE",
        +  "LIGHTDASH",
        +  "LINUX_SSH",
        +  "MARIADB",
        +  "MATILLION",
        +  "MATILLION_ETL",
        +  "METAPLANE",
        +  "MICROSOFT_TEAMS",
        +  "MICROSTRATEGY",
        +  "MONGODB",
        +  "MOTHERDUCK",
        +  "MYSQL",
        +  "N8N",
        +  "NIMBLE",
        +  "NOTION",
        +  "OMNI",
        +  "OPEN_AI",
        +  "ORCHESTRA",
        +  "PARADIME",
        +  "PAGER_DUTY",
        +  "PINECONE",
        +  "PORTABLE",
        +  "POSTGRES",
        +  "POWER_AUTOMATE",
        +  "POWER_BI",
        +  "PREFECT_CLOUD",
        +  "PYTHON",
        +  "QLIK",
        +  "QLIK_REPLICATE",
        +  "QUICKBOOKS",
        +  "RENDER",
        +  "RIVERY",
        +  "RUDDERSTACK",
        +  "SALESFORCE",
        +  "SAP",
        +  "SFTP",
        +  "SHAREPOINT",
        +  "SIGMA",
        +  "SISENSE",
        +  "SLACK",
        +  "SNOWFLAKE",
        +  "SNOWPLOW",
        +  "SODA",
        +  "SQL_MESH",
        +  "SQL_SERVER",
        +  "STITCH",
        +  "STREAMKAP",
        +  "TABLEAU_CLOUD",
        +  "TALEND_CLOUD",
        +  "THOUGHTSPOT",
        +  "TOBIKO_CLOUD",
        +  "WEAVIATE",
        +  "WEBHOOK",
        +  "WELD",
        +  "WINDOWS_SSH"
        +]
      • addedInput schema / properties / match / properties / labels
        Added value: +{
        +  "additionalProperties": {
        +    "items": {
        +      "additionalProperties": false,
        +      "description": "One place on an event body a label is read from, and the values that match there.",
        +      "properties": {
        +        "path": {
        +          "type": "string"
        +        },
        +        "values": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "minItems": 1,
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "path",
        +        "values"
        +      ],
        +      "type": "object"
        +    },
        +    "minItems": 1,
        +    "type": "array"
        +  },
        +  "maxProperties": 32,
        +  "propertyNames": {
        +    "maxLength": 64,
        +    "minLength": 1,
        +    "pattern": "^[a-zA-Z0-9_.:/-]+$",
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • addedInput schema / properties / order / anyOf
        Added value: +[
        +  {
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedInput schema / properties / order / default
        Removed value: -0
      • removedInput schema / properties / order / type
        Removed value: -"integer"
      • removedInput schema / properties / window
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "format": "duration",
        -      "gt": "PT0S",
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
    • Changeddiagnose1 field changed
      • addedInput schema / properties / account_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "uuid4",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Act on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers."
        +}
    • Changeddownload_task_run_artifact1 field changed
      • addedInput schema / properties / account_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "uuid4",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Act on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers."
        +}
    • Changeddownload_task_run_log1 field changed
      • addedInput schema / properties / account_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "uuid4",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Act on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers."
        +}
    • Changedget_integration_state_for_state_aware1 field changed
      • changedInput schema / properties / integration / enum
        Previous value: -[
        -  "AIRBYTE_CLOUD",
        -  "AIRBYTE_SERVER",
        -  "AIRFLOW",
        -  "ARCH",
        -  "ALTERYX_SERVER",
        -  "ANTHROPIC",
        -  "AWS_EC2",
        -  "AWS_ECS",
        -  "AWS_EMR",
        -  "AWS_EKS",
        -  "AWS_FIREHOSE",
        -  "AWS_GLUE",
        -  "AWS_LAMBDA",
        -  "AWS_RDS",
        -  "AWS_REDSHIFT",
        -  "AWS_S3",
        -  "AWS_BEDROCK",
        -  "AWS_SAGEMAKER",
        -  "AWS_SECRETS_MANAGER",
        -  "AWS_SES",
        -  "AWS_STEP_FUNCTIONS",
        -  "AZURE",
        -  "AZURE_CONTAINER_APPS",
        -  "AZURE_DATA_FACTORY",
        -  "AZURE_DATA_LAKE_STORAGE",
        -  "AZURE_KEY_VAULT",
        -  "AZURE_KUBERNETES_SERVICE",
        -  "AZURE_LOGIC_APPS",
        -  "AZURE_SYNAPSE_ANALYTICS",
        -  "AZURE_VM",
        -  "BAUPLAN",
        -  "BOOMI",
        -  "CDATA",
        -  "CENSUS",
        -  "CLICKHOUSE",
        -  "COALESCE",
        -  "COUNT",
        -  "DATADOG",
        -  "DATABRICKS",
        -  "DATAPROC",
        -  "DATAZEN",
        -  "DBT",
        -  "DBT_CORE",
        -  "DLT",
        -  "DOMO",
        -  "DREMIO",
        -  "DUCKDB",
        -  "EMAIL",
        -  "ESTUARY",
        -  "ETLEAP",
        -  "FABRIC",
        -  "FABRIC_SYNAPSE",
        -  "FIVETRAN",
        -  "FORTRA",
        -  "GCP_BIG_QUERY",
        -  "GCP_CLOUD_RUN",
        -  "GCP_CLOUD_FUNCTIONS",
        -  "GCP_CLOUD_STORAGE",
        -  "GCP_DATAFLOW",
        -  "GCP_DATAFORM",
        -  "GCP_DATASTREAM",
        -  "GCP_LOOKER",
        -  "GKE",
        -  "GITHUB_ACTIONS",
        -  "GOOGLE_CLOUD",
        -  "HEVO",
        -  "HEX",
        -  "HIGHTOUCH",
        -  "HTTP",
        -  "HUBSPOT",
        -  "INFORMATICA_IICS",
        -  "INFORMATICA_POWERCENTER",
        -  "KAFKA",
        -  "KEBOOLA",
        -  "KLEENE",
        -  "LIGHTDASH",
        -  "LINUX_SSH",
        -  "MATILLION",
        -  "MATILLION_ETL",
        -  "METAPLANE",
        -  "MICROSOFT_TEAMS",
        -  "MICROSTRATEGY",
        -  "MONGODB",
        -  "MOTHERDUCK",
        -  "MYSQL",
        -  "N8N",
        -  "NIMBLE",
        -  "NOTION",
        -  "OMNI",
        -  "OPEN_AI",
        -  "ORCHESTRA",
        -  "PARADIME",
        -  "PAGER_DUTY",
        -  "PINECONE",
        -  "PORTABLE",
        -  "POSTGRES",
        -  "POWER_AUTOMATE",
        -  "POWER_BI",
        -  "PREFECT_CLOUD",
        -  "PYTHON",
        -  "QLIK",
        -  "QLIK_REPLICATE",
        -  "QUICKBOOKS",
        -  "RENDER",
        -  "RIVERY",
        -  "RUDDERSTACK",
        -  "SALESFORCE",
        -  "SAP",
        -  "SFTP",
        -  "SHAREPOINT",
        -  "SIGMA",
        -  "SISENSE",
        -  "SLACK",
        -  "SNOWFLAKE",
        -  "SNOWPLOW",
        -  "SODA",
        -  "SQL_MESH",
        -  "SQL_SERVER",
        -  "STITCH",
        -  "STREAMKAP",
        -  "TABLEAU_CLOUD",
        -  "TALEND_CLOUD",
        -  "THOUGHTSPOT",
        -  "TOBIKO_CLOUD",
        -  "WEAVIATE",
        -  "WEBHOOK",
        -  "WELD",
        -  "WINDOWS_SSH"
        -]New value: +[
        +  "AIRBYTE_CLOUD",
        +  "AIRBYTE_SERVER",
        +  "AIRFLOW",
        +  "ARCH",
        +  "ALTERYX_SERVER",
        +  "ANTHROPIC",
        +  "AWS_EC2",
        +  "AWS_ECS",
        +  "AWS_EMR",
        +  "AWS_EKS",
        +  "AWS_FIREHOSE",
        +  "AWS_GLUE",
        +  "AWS_LAMBDA",
        +  "AWS_RDS",
        +  "AWS_REDSHIFT",
        +  "AWS_S3",
        +  "AWS_BEDROCK",
        +  "AWS_SAGEMAKER",
        +  "AWS_SECRETS_MANAGER",
        +  "AWS_SES",
        +  "AWS_STEP_FUNCTIONS",
        +  "AZURE",
        +  "AZURE_CONTAINER_APPS",
        +  "AZURE_DATA_FACTORY",
        +  "AZURE_DATA_LAKE_STORAGE",
        +  "AZURE_KEY_VAULT",
        +  "AZURE_KUBERNETES_SERVICE",
        +  "AZURE_LOGIC_APPS",
        +  "AZURE_SYNAPSE_ANALYTICS",
        +  "AZURE_VM",
        +  "BAUPLAN",
        +  "BOOMI",
        +  "CDATA",
        +  "CENSUS",
        +  "CLICKHOUSE",
        +  "COALESCE",
        +  "COUNT",
        +  "DATADOG",
        +  "DATABRICKS",
        +  "DATAPROC",
        +  "DATAZEN",
        +  "DBT",
        +  "DBT_CORE",
        +  "DLT",
        +  "DOMO",
        +  "DREMIO",
        +  "DUCKDB",
        +  "EMAIL",
        +  "ESTUARY",
        +  "ETLEAP",
        +  "FABRIC",
        +  "FABRIC_SYNAPSE",
        +  "FIVETRAN",
        +  "FORTRA",
        +  "GCP_BIG_QUERY",
        +  "GCP_CLOUD_RUN",
        +  "GCP_CLOUD_FUNCTIONS",
        +  "GCP_CLOUD_STORAGE",
        +  "GCP_DATAFLOW",
        +  "GCP_DATAFORM",
        +  "GCP_DATASTREAM",
        +  "GCP_LOOKER",
        +  "GKE",
        +  "GITHUB_ACTIONS",
        +  "GOOGLE_CLOUD",
        +  "HEVO",
        +  "HEX",
        +  "HIGHTOUCH",
        +  "HTTP",
        +  "HUBSPOT",
        +  "INFORMATICA_IICS",
        +  "INFORMATICA_POWERCENTER",
        +  "KAFKA",
        +  "KEBOOLA",
        +  "KLEENE",
        +  "LIGHTDASH",
        +  "LINUX_SSH",
        +  "MARIADB",
        +  "MATILLION",
        +  "MATILLION_ETL",
        +  "METAPLANE",
        +  "MICROSOFT_TEAMS",
        +  "MICROSTRATEGY",
        +  "MONGODB",
        +  "MOTHERDUCK",
        +  "MYSQL",
        +  "N8N",
        +  "NIMBLE",
        +  "NOTION",
        +  "OMNI",
        +  "OPEN_AI",
        +  "ORCHESTRA",
        +  "PARADIME",
        +  "PAGER_DUTY",
        +  "PINECONE",
        +  "PORTABLE",
        +  "POSTGRES",
        +  "POWER_AUTOMATE",
        +  "POWER_BI",
        +  "PREFECT_CLOUD",
        +  "PYTHON",
        +  "QLIK",
        +  "QLIK_REPLICATE",
        +  "QUICKBOOKS",
        +  "RENDER",
        +  "RIVERY",
        +  "RUDDERSTACK",
        +  "SALESFORCE",
        +  "SAP",
        +  "SFTP",
        +  "SHAREPOINT",
        +  "SIGMA",
        +  "SISENSE",
        +  "SLACK",
        +  "SNOWFLAKE",
        +  "SNOWPLOW",
        +  "SODA",
        +  "SQL_MESH",
        +  "SQL_SERVER",
        +  "STITCH",
        +  "STREAMKAP",
        +  "TABLEAU_CLOUD",
        +  "TALEND_CLOUD",
        +  "THOUGHTSPOT",
        +  "TOBIKO_CLOUD",
        +  "WEAVIATE",
        +  "WEBHOOK",
        +  "WELD",
        +  "WINDOWS_SSH"
        +]
    • Changedlist_assets1 field changed
      • changedInput schema / properties / integration / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "AIRBYTE_CLOUD",
        -      "AIRBYTE_SERVER",
        -      "AIRFLOW",
        -      "ARCH",
        -      "ALTERYX_SERVER",
        -      "ANTHROPIC",
        -      "AWS_EC2",
        -      "AWS_ECS",
        -      "AWS_EMR",
        -      "AWS_EKS",
        -      "AWS_FIREHOSE",
        -      "AWS_GLUE",
        -      "AWS_LAMBDA",
        -      "AWS_RDS",
        -      "AWS_REDSHIFT",
        -      "AWS_S3",
        -      "AWS_BEDROCK",
        -      "AWS_SAGEMAKER",
        -      "AWS_SECRETS_MANAGER",
        -      "AWS_SES",
        -      "AWS_STEP_FUNCTIONS",
        -      "AZURE",
        -      "AZURE_CONTAINER_APPS",
        -      "AZURE_DATA_FACTORY",
        -      "AZURE_DATA_LAKE_STORAGE",
        -      "AZURE_KEY_VAULT",
        -      "AZURE_KUBERNETES_SERVICE",
        -      "AZURE_LOGIC_APPS",
        -      "AZURE_SYNAPSE_ANALYTICS",
        -      "AZURE_VM",
        -      "BAUPLAN",
        -      "BOOMI",
        -      "CDATA",
        -      "CENSUS",
        -      "CLICKHOUSE",
        -      "COALESCE",
        -      "COUNT",
        -      "DATADOG",
        -      "DATABRICKS",
        -      "DATAPROC",
        -      "DATAZEN",
        -      "DBT",
        -      "DBT_CORE",
        -      "DLT",
        -      "DOMO",
        -      "DREMIO",
        -      "DUCKDB",
        -      "EMAIL",
        -      "ESTUARY",
        -      "ETLEAP",
        -      "FABRIC",
        -      "FABRIC_SYNAPSE",
        -      "FIVETRAN",
        -      "FORTRA",
        -      "GCP_BIG_QUERY",
        -      "GCP_CLOUD_RUN",
        -      "GCP_CLOUD_FUNCTIONS",
        -      "GCP_CLOUD_STORAGE",
        -      "GCP_DATAFLOW",
        -      "GCP_DATAFORM",
        -      "GCP_DATASTREAM",
        -      "GCP_LOOKER",
        -      "GKE",
        -      "GITHUB_ACTIONS",
        -      "GOOGLE_CLOUD",
        -      "HEVO",
        -      "HEX",
        -      "HIGHTOUCH",
        -      "HTTP",
        -      "HUBSPOT",
        -      "INFORMATICA_IICS",
        -      "INFORMATICA_POWERCENTER",
        -      "KAFKA",
        -      "KEBOOLA",
        -      "KLEENE",
        -      "LIGHTDASH",
        -      "LINUX_SSH",
        -      "MATILLION",
        -      "MATILLION_ETL",
        -      "METAPLANE",
        -      "MICROSOFT_TEAMS",
        -      "MICROSTRATEGY",
        -      "MONGODB",
        -      "MOTHERDUCK",
        -      "MYSQL",
        -      "N8N",
        -      "NIMBLE",
        -      "NOTION",
        -      "OMNI",
        -      "OPEN_AI",
        -      "ORCHESTRA",
        -      "PARADIME",
        -      "PAGER_DUTY",
        -      "PINECONE",
        -      "PORTABLE",
        -      "POSTGRES",
        -      "POWER_AUTOMATE",
        -      "POWER_BI",
        -      "PREFECT_CLOUD",
        -      "PYTHON",
        -      "QLIK",
        -      "QLIK_REPLICATE",
        -      "QUICKBOOKS",
        -      "RENDER",
        -      "RIVERY",
        -      "RUDDERSTACK",
        -      "SALESFORCE",
        -      "SAP",
        -      "SFTP",
        -      "SHAREPOINT",
        -      "SIGMA",
        -      "SISENSE",
        -      "SLACK",
        -      "SNOWFLAKE",
        -      "SNOWPLOW",
        -      "SODA",
        -      "SQL_MESH",
        -      "SQL_SERVER",
        -      "STITCH",
        -      "STREAMKAP",
        -      "TABLEAU_CLOUD",
        -      "TALEND_CLOUD",
        -      "THOUGHTSPOT",
        -      "TOBIKO_CLOUD",
        -      "WEAVIATE",
        -      "WEBHOOK",
        -      "WELD",
        -      "WINDOWS_SSH"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "AIRBYTE_CLOUD",
        +      "AIRBYTE_SERVER",
        +      "AIRFLOW",
        +      "ARCH",
        +      "ALTERYX_SERVER",
        +      "ANTHROPIC",
        +      "AWS_EC2",
        +      "AWS_ECS",
        +      "AWS_EMR",
        +      "AWS_EKS",
        +      "AWS_FIREHOSE",
        +      "AWS_GLUE",
        +      "AWS_LAMBDA",
        +      "AWS_RDS",
        +      "AWS_REDSHIFT",
        +      "AWS_S3",
        +      "AWS_BEDROCK",
        +      "AWS_SAGEMAKER",
        +      "AWS_SECRETS_MANAGER",
        +      "AWS_SES",
        +      "AWS_STEP_FUNCTIONS",
        +      "AZURE",
        +      "AZURE_CONTAINER_APPS",
        +      "AZURE_DATA_FACTORY",
        +      "AZURE_DATA_LAKE_STORAGE",
        +      "AZURE_KEY_VAULT",
        +      "AZURE_KUBERNETES_SERVICE",
        +      "AZURE_LOGIC_APPS",
        +      "AZURE_SYNAPSE_ANALYTICS",
        +      "AZURE_VM",
        +      "BAUPLAN",
        +      "BOOMI",
        +      "CDATA",
        +      "CENSUS",
        +      "CLICKHOUSE",
        +      "COALESCE",
        +      "COUNT",
        +      "DATADOG",
        +      "DATABRICKS",
        +      "DATAPROC",
        +      "DATAZEN",
        +      "DBT",
        +      "DBT_CORE",
        +      "DLT",
        +      "DOMO",
        +      "DREMIO",
        +      "DUCKDB",
        +      "EMAIL",
        +      "ESTUARY",
        +      "ETLEAP",
        +      "FABRIC",
        +      "FABRIC_SYNAPSE",
        +      "FIVETRAN",
        +      "FORTRA",
        +      "GCP_BIG_QUERY",
        +      "GCP_CLOUD_RUN",
        +      "GCP_CLOUD_FUNCTIONS",
        +      "GCP_CLOUD_STORAGE",
        +      "GCP_DATAFLOW",
        +      "GCP_DATAFORM",
        +      "GCP_DATASTREAM",
        +      "GCP_LOOKER",
        +      "GKE",
        +      "GITHUB_ACTIONS",
        +      "GOOGLE_CLOUD",
        +      "HEVO",
        +      "HEX",
        +      "HIGHTOUCH",
        +      "HTTP",
        +      "HUBSPOT",
        +      "INFORMATICA_IICS",
        +      "INFORMATICA_POWERCENTER",
        +      "KAFKA",
        +      "KEBOOLA",
        +      "KLEENE",
        +      "LIGHTDASH",
        +      "LINUX_SSH",
        +      "MARIADB",
        +      "MATILLION",
        +      "MATILLION_ETL",
        +      "METAPLANE",
        +      "MICROSOFT_TEAMS",
        +      "MICROSTRATEGY",
        +      "MONGODB",
        +      "MOTHERDUCK",
        +      "MYSQL",
        +      "N8N",
        +      "NIMBLE",
        +      "NOTION",
        +      "OMNI",
        +      "OPEN_AI",
        +      "ORCHESTRA",
        +      "PARADIME",
        +      "PAGER_DUTY",
        +      "PINECONE",
        +      "PORTABLE",
        +      "POSTGRES",
        +      "POWER_AUTOMATE",
        +      "POWER_BI",
        +      "PREFECT_CLOUD",
        +      "PYTHON",
        +      "QLIK",
        +      "QLIK_REPLICATE",
        +      "QUICKBOOKS",
        +      "RENDER",
        +      "RIVERY",
        +      "RUDDERSTACK",
        +      "SALESFORCE",
        +      "SAP",
        +      "SFTP",
        +      "SHAREPOINT",
        +      "SIGMA",
        +      "SISENSE",
        +      "SLACK",
        +      "SNOWFLAKE",
        +      "SNOWPLOW",
        +      "SODA",
        +      "SQL_MESH",
        +      "SQL_SERVER",
        +      "STITCH",
        +      "STREAMKAP",
        +      "TABLEAU_CLOUD",
        +      "TALEND_CLOUD",
        +      "THOUGHTSPOT",
        +      "TOBIKO_CLOUD",
        +      "WEAVIATE",
        +      "WEBHOOK",
        +      "WELD",
        +      "WINDOWS_SSH"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedlist_integration_connections1 field changed
      • changedInput schema / properties / integration / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "AIRBYTE_CLOUD",
        -      "AIRBYTE_SERVER",
        -      "AIRFLOW",
        -      "ARCH",
        -      "ALTERYX_SERVER",
        -      "ANTHROPIC",
        -      "AWS_EC2",
        -      "AWS_ECS",
        -      "AWS_EMR",
        -      "AWS_EKS",
        -      "AWS_FIREHOSE",
        -      "AWS_GLUE",
        -      "AWS_LAMBDA",
        -      "AWS_RDS",
        -      "AWS_REDSHIFT",
        -      "AWS_S3",
        -      "AWS_BEDROCK",
        -      "AWS_SAGEMAKER",
        -      "AWS_SECRETS_MANAGER",
        -      "AWS_SES",
        -      "AWS_STEP_FUNCTIONS",
        -      "AZURE",
        -      "AZURE_CONTAINER_APPS",
        -      "AZURE_DATA_FACTORY",
        -      "AZURE_DATA_LAKE_STORAGE",
        -      "AZURE_KEY_VAULT",
        -      "AZURE_KUBERNETES_SERVICE",
        -      "AZURE_LOGIC_APPS",
        -      "AZURE_SYNAPSE_ANALYTICS",
        -      "AZURE_VM",
        -      "BAUPLAN",
        -      "BOOMI",
        -      "CDATA",
        -      "CENSUS",
        -      "CLICKHOUSE",
        -      "COALESCE",
        -      "COUNT",
        -      "DATADOG",
        -      "DATABRICKS",
        -      "DATAPROC",
        -      "DATAZEN",
        -      "DBT",
        -      "DBT_CORE",
        -      "DLT",
        -      "DOMO",
        -      "DREMIO",
        -      "DUCKDB",
        -      "EMAIL",
        -      "ESTUARY",
        -      "ETLEAP",
        -      "FABRIC",
        -      "FABRIC_SYNAPSE",
        -      "FIVETRAN",
        -      "FORTRA",
        -      "GCP_BIG_QUERY",
        -      "GCP_CLOUD_RUN",
        -      "GCP_CLOUD_FUNCTIONS",
        -      "GCP_CLOUD_STORAGE",
        -      "GCP_DATAFLOW",
        -      "GCP_DATAFORM",
        -      "GCP_DATASTREAM",
        -      "GCP_LOOKER",
        -      "GKE",
        -      "GITHUB_ACTIONS",
        -      "GOOGLE_CLOUD",
        -      "HEVO",
        -      "HEX",
        -      "HIGHTOUCH",
        -      "HTTP",
        -      "HUBSPOT",
        -      "INFORMATICA_IICS",
        -      "INFORMATICA_POWERCENTER",
        -      "KAFKA",
        -      "KEBOOLA",
        -      "KLEENE",
        -      "LIGHTDASH",
        -      "LINUX_SSH",
        -      "MATILLION",
        -      "MATILLION_ETL",
        -      "METAPLANE",
        -      "MICROSOFT_TEAMS",
        -      "MICROSTRATEGY",
        -      "MONGODB",
        -      "MOTHERDUCK",
        -      "MYSQL",
        -      "N8N",
        -      "NIMBLE",
        -      "NOTION",
        -      "OMNI",
        -      "OPEN_AI",
        -      "ORCHESTRA",
        -      "PARADIME",
        -      "PAGER_DUTY",
        -      "PINECONE",
        -      "PORTABLE",
        -      "POSTGRES",
        -      "POWER_AUTOMATE",
        -      "POWER_BI",
        -      "PREFECT_CLOUD",
        -      "PYTHON",
        -      "QLIK",
        -      "QLIK_REPLICATE",
        -      "QUICKBOOKS",
        -      "RENDER",
        -      "RIVERY",
        -      "RUDDERSTACK",
        -      "SALESFORCE",
        -      "SAP",
        -      "SFTP",
        -      "SHAREPOINT",
        -      "SIGMA",
        -      "SISENSE",
        -      "SLACK",
        -      "SNOWFLAKE",
        -      "SNOWPLOW",
        -      "SODA",
        -      "SQL_MESH",
        -      "SQL_SERVER",
        -      "STITCH",
        -      "STREAMKAP",
        -      "TABLEAU_CLOUD",
        -      "TALEND_CLOUD",
        -      "THOUGHTSPOT",
        -      "TOBIKO_CLOUD",
        -      "WEAVIATE",
        -      "WEBHOOK",
        -      "WELD",
        -      "WINDOWS_SSH"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "AIRBYTE_CLOUD",
        +      "AIRBYTE_SERVER",
        +      "AIRFLOW",
        +      "ARCH",
        +      "ALTERYX_SERVER",
        +      "ANTHROPIC",
        +      "AWS_EC2",
        +      "AWS_ECS",
        +      "AWS_EMR",
        +      "AWS_EKS",
        +      "AWS_FIREHOSE",
        +      "AWS_GLUE",
        +      "AWS_LAMBDA",
        +      "AWS_RDS",
        +      "AWS_REDSHIFT",
        +      "AWS_S3",
        +      "AWS_BEDROCK",
        +      "AWS_SAGEMAKER",
        +      "AWS_SECRETS_MANAGER",
        +      "AWS_SES",
        +      "AWS_STEP_FUNCTIONS",
        +      "AZURE",
        +      "AZURE_CONTAINER_APPS",
        +      "AZURE_DATA_FACTORY",
        +      "AZURE_DATA_LAKE_STORAGE",
        +      "AZURE_KEY_VAULT",
        +      "AZURE_KUBERNETES_SERVICE",
        +      "AZURE_LOGIC_APPS",
        +      "AZURE_SYNAPSE_ANALYTICS",
        +      "AZURE_VM",
        +      "BAUPLAN",
        +      "BOOMI",
        +      "CDATA",
        +      "CENSUS",
        +      "CLICKHOUSE",
        +      "COALESCE",
        +      "COUNT",
        +      "DATADOG",
        +      "DATABRICKS",
        +      "DATAPROC",
        +      "DATAZEN",
        +      "DBT",
        +      "DBT_CORE",
        +      "DLT",
        +      "DOMO",
        +      "DREMIO",
        +      "DUCKDB",
        +      "EMAIL",
        +      "ESTUARY",
        +      "ETLEAP",
        +      "FABRIC",
        +      "FABRIC_SYNAPSE",
        +      "FIVETRAN",
        +      "FORTRA",
        +      "GCP_BIG_QUERY",
        +      "GCP_CLOUD_RUN",
        +      "GCP_CLOUD_FUNCTIONS",
        +      "GCP_CLOUD_STORAGE",
        +      "GCP_DATAFLOW",
        +      "GCP_DATAFORM",
        +      "GCP_DATASTREAM",
        +      "GCP_LOOKER",
        +      "GKE",
        +      "GITHUB_ACTIONS",
        +      "GOOGLE_CLOUD",
        +      "HEVO",
        +      "HEX",
        +      "HIGHTOUCH",
        +      "HTTP",
        +      "HUBSPOT",
        +      "INFORMATICA_IICS",
        +      "INFORMATICA_POWERCENTER",
        +      "KAFKA",
        +      "KEBOOLA",
        +      "KLEENE",
        +      "LIGHTDASH",
        +      "LINUX_SSH",
        +      "MARIADB",
        +      "MATILLION",
        +      "MATILLION_ETL",
        +      "METAPLANE",
        +      "MICROSOFT_TEAMS",
        +      "MICROSTRATEGY",
        +      "MONGODB",
        +      "MOTHERDUCK",
        +      "MYSQL",
        +      "N8N",
        +      "NIMBLE",
        +      "NOTION",
        +      "OMNI",
        +      "OPEN_AI",
        +      "ORCHESTRA",
        +      "PARADIME",
        +      "PAGER_DUTY",
        +      "PINECONE",
        +      "PORTABLE",
        +      "POSTGRES",
        +      "POWER_AUTOMATE",
        +      "POWER_BI",
        +      "PREFECT_CLOUD",
        +      "PYTHON",
        +      "QLIK",
        +      "QLIK_REPLICATE",
        +      "QUICKBOOKS",
        +      "RENDER",
        +      "RIVERY",
        +      "RUDDERSTACK",
        +      "SALESFORCE",
        +      "SAP",
        +      "SFTP",
        +      "SHAREPOINT",
        +      "SIGMA",
        +      "SISENSE",
        +      "SLACK",
        +      "SNOWFLAKE",
        +      "SNOWPLOW",
        +      "SODA",
        +      "SQL_MESH",
        +      "SQL_SERVER",
        +      "STITCH",
        +      "STREAMKAP",
        +      "TABLEAU_CLOUD",
        +      "TALEND_CLOUD",
        +      "THOUGHTSPOT",
        +      "TOBIKO_CLOUD",
        +      "WEAVIATE",
        +      "WEBHOOK",
        +      "WELD",
        +      "WINDOWS_SSH"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedlist_operations1 field changed
      • changedInput schema / properties / integration / anyOf
        Previous value: -[
        -  {
        -    "enum": [
        -      "AIRBYTE_CLOUD",
        -      "AIRBYTE_SERVER",
        -      "AIRFLOW",
        -      "ARCH",
        -      "ALTERYX_SERVER",
        -      "ANTHROPIC",
        -      "AWS_EC2",
        -      "AWS_ECS",
        -      "AWS_EMR",
        -      "AWS_EKS",
        -      "AWS_FIREHOSE",
        -      "AWS_GLUE",
        -      "AWS_LAMBDA",
        -      "AWS_RDS",
        -      "AWS_REDSHIFT",
        -      "AWS_S3",
        -      "AWS_BEDROCK",
        -      "AWS_SAGEMAKER",
        -      "AWS_SECRETS_MANAGER",
        -      "AWS_SES",
        -      "AWS_STEP_FUNCTIONS",
        -      "AZURE",
        -      "AZURE_CONTAINER_APPS",
        -      "AZURE_DATA_FACTORY",
        -      "AZURE_DATA_LAKE_STORAGE",
        -      "AZURE_KEY_VAULT",
        -      "AZURE_KUBERNETES_SERVICE",
        -      "AZURE_LOGIC_APPS",
        -      "AZURE_SYNAPSE_ANALYTICS",
        -      "AZURE_VM",
        -      "BAUPLAN",
        -      "BOOMI",
        -      "CDATA",
        -      "CENSUS",
        -      "CLICKHOUSE",
        -      "COALESCE",
        -      "COUNT",
        -      "DATADOG",
        -      "DATABRICKS",
        -      "DATAPROC",
        -      "DATAZEN",
        -      "DBT",
        -      "DBT_CORE",
        -      "DLT",
        -      "DOMO",
        -      "DREMIO",
        -      "DUCKDB",
        -      "EMAIL",
        -      "ESTUARY",
        -      "ETLEAP",
        -      "FABRIC",
        -      "FABRIC_SYNAPSE",
        -      "FIVETRAN",
        -      "FORTRA",
        -      "GCP_BIG_QUERY",
        -      "GCP_CLOUD_RUN",
        -      "GCP_CLOUD_FUNCTIONS",
        -      "GCP_CLOUD_STORAGE",
        -      "GCP_DATAFLOW",
        -      "GCP_DATAFORM",
        -      "GCP_DATASTREAM",
        -      "GCP_LOOKER",
        -      "GKE",
        -      "GITHUB_ACTIONS",
        -      "GOOGLE_CLOUD",
        -      "HEVO",
        -      "HEX",
        -      "HIGHTOUCH",
        -      "HTTP",
        -      "HUBSPOT",
        -      "INFORMATICA_IICS",
        -      "INFORMATICA_POWERCENTER",
        -      "KAFKA",
        -      "KEBOOLA",
        -      "KLEENE",
        -      "LIGHTDASH",
        -      "LINUX_SSH",
        -      "MATILLION",
        -      "MATILLION_ETL",
        -      "METAPLANE",
        -      "MICROSOFT_TEAMS",
        -      "MICROSTRATEGY",
        -      "MONGODB",
        -      "MOTHERDUCK",
        -      "MYSQL",
        -      "N8N",
        -      "NIMBLE",
        -      "NOTION",
        -      "OMNI",
        -      "OPEN_AI",
        -      "ORCHESTRA",
        -      "PARADIME",
        -      "PAGER_DUTY",
        -      "PINECONE",
        -      "PORTABLE",
        -      "POSTGRES",
        -      "POWER_AUTOMATE",
        -      "POWER_BI",
        -      "PREFECT_CLOUD",
        -      "PYTHON",
        -      "QLIK",
        -      "QLIK_REPLICATE",
        -      "QUICKBOOKS",
        -      "RENDER",
        -      "RIVERY",
        -      "RUDDERSTACK",
        -      "SALESFORCE",
        -      "SAP",
        -      "SFTP",
        -      "SHAREPOINT",
        -      "SIGMA",
        -      "SISENSE",
        -      "SLACK",
        -      "SNOWFLAKE",
        -      "SNOWPLOW",
        -      "SODA",
        -      "SQL_MESH",
        -      "SQL_SERVER",
        -      "STITCH",
        -      "STREAMKAP",
        -      "TABLEAU_CLOUD",
        -      "TALEND_CLOUD",
        -      "THOUGHTSPOT",
        -      "TOBIKO_CLOUD",
        -      "WEAVIATE",
        -      "WEBHOOK",
        -      "WELD",
        -      "WINDOWS_SSH"
        -    ],
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "enum": [
        +      "AIRBYTE_CLOUD",
        +      "AIRBYTE_SERVER",
        +      "AIRFLOW",
        +      "ARCH",
        +      "ALTERYX_SERVER",
        +      "ANTHROPIC",
        +      "AWS_EC2",
        +      "AWS_ECS",
        +      "AWS_EMR",
        +      "AWS_EKS",
        +      "AWS_FIREHOSE",
        +      "AWS_GLUE",
        +      "AWS_LAMBDA",
        +      "AWS_RDS",
        +      "AWS_REDSHIFT",
        +      "AWS_S3",
        +      "AWS_BEDROCK",
        +      "AWS_SAGEMAKER",
        +      "AWS_SECRETS_MANAGER",
        +      "AWS_SES",
        +      "AWS_STEP_FUNCTIONS",
        +      "AZURE",
        +      "AZURE_CONTAINER_APPS",
        +      "AZURE_DATA_FACTORY",
        +      "AZURE_DATA_LAKE_STORAGE",
        +      "AZURE_KEY_VAULT",
        +      "AZURE_KUBERNETES_SERVICE",
        +      "AZURE_LOGIC_APPS",
        +      "AZURE_SYNAPSE_ANALYTICS",
        +      "AZURE_VM",
        +      "BAUPLAN",
        +      "BOOMI",
        +      "CDATA",
        +      "CENSUS",
        +      "CLICKHOUSE",
        +      "COALESCE",
        +      "COUNT",
        +      "DATADOG",
        +      "DATABRICKS",
        +      "DATAPROC",
        +      "DATAZEN",
        +      "DBT",
        +      "DBT_CORE",
        +      "DLT",
        +      "DOMO",
        +      "DREMIO",
        +      "DUCKDB",
        +      "EMAIL",
        +      "ESTUARY",
        +      "ETLEAP",
        +      "FABRIC",
        +      "FABRIC_SYNAPSE",
        +      "FIVETRAN",
        +      "FORTRA",
        +      "GCP_BIG_QUERY",
        +      "GCP_CLOUD_RUN",
        +      "GCP_CLOUD_FUNCTIONS",
        +      "GCP_CLOUD_STORAGE",
        +      "GCP_DATAFLOW",
        +      "GCP_DATAFORM",
        +      "GCP_DATASTREAM",
        +      "GCP_LOOKER",
        +      "GKE",
        +      "GITHUB_ACTIONS",
        +      "GOOGLE_CLOUD",
        +      "HEVO",
        +      "HEX",
        +      "HIGHTOUCH",
        +      "HTTP",
        +      "HUBSPOT",
        +      "INFORMATICA_IICS",
        +      "INFORMATICA_POWERCENTER",
        +      "KAFKA",
        +      "KEBOOLA",
        +      "KLEENE",
        +      "LIGHTDASH",
        +      "LINUX_SSH",
        +      "MARIADB",
        +      "MATILLION",
        +      "MATILLION_ETL",
        +      "METAPLANE",
        +      "MICROSOFT_TEAMS",
        +      "MICROSTRATEGY",
        +      "MONGODB",
        +      "MOTHERDUCK",
        +      "MYSQL",
        +      "N8N",
        +      "NIMBLE",
        +      "NOTION",
        +      "OMNI",
        +      "OPEN_AI",
        +      "ORCHESTRA",
        +      "PARADIME",
        +      "PAGER_DUTY",
        +      "PINECONE",
        +      "PORTABLE",
        +      "POSTGRES",
        +      "POWER_AUTOMATE",
        +      "POWER_BI",
        +      "PREFECT_CLOUD",
        +      "PYTHON",
        +      "QLIK",
        +      "QLIK_REPLICATE",
        +      "QUICKBOOKS",
        +      "RENDER",
        +      "RIVERY",
        +      "RUDDERSTACK",
        +      "SALESFORCE",
        +      "SAP",
        +      "SFTP",
        +      "SHAREPOINT",
        +      "SIGMA",
        +      "SISENSE",
        +      "SLACK",
        +      "SNOWFLAKE",
        +      "SNOWPLOW",
        +      "SODA",
        +      "SQL_MESH",
        +      "SQL_SERVER",
        +      "STITCH",
        +      "STREAMKAP",
        +      "TABLEAU_CLOUD",
        +      "TALEND_CLOUD",
        +      "THOUGHTSPOT",
        +      "TOBIKO_CLOUD",
        +      "WEAVIATE",
        +      "WEBHOOK",
        +      "WELD",
        +      "WINDOWS_SSH"
        +    ],
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
    • Changedpipeline_context1 field changed
      • addedInput schema / properties / account_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "uuid4",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Act on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers."
        +}
    • Changedupdate_monitor6 fields changed
      • changedInput schema / properties / match / properties / integrations / items / enum
        Previous value: -[
        -  "AIRBYTE_CLOUD",
        -  "AIRBYTE_SERVER",
        -  "AIRFLOW",
        -  "ARCH",
        -  "ALTERYX_SERVER",
        -  "ANTHROPIC",
        -  "AWS_EC2",
        -  "AWS_ECS",
        -  "AWS_EMR",
        -  "AWS_EKS",
        -  "AWS_FIREHOSE",
        -  "AWS_GLUE",
        -  "AWS_LAMBDA",
        -  "AWS_RDS",
        -  "AWS_REDSHIFT",
        -  "AWS_S3",
        -  "AWS_BEDROCK",
        -  "AWS_SAGEMAKER",
        -  "AWS_SECRETS_MANAGER",
        -  "AWS_SES",
        -  "AWS_STEP_FUNCTIONS",
        -  "AZURE",
        -  "AZURE_CONTAINER_APPS",
        -  "AZURE_DATA_FACTORY",
        -  "AZURE_DATA_LAKE_STORAGE",
        -  "AZURE_KEY_VAULT",
        -  "AZURE_KUBERNETES_SERVICE",
        -  "AZURE_LOGIC_APPS",
        -  "AZURE_SYNAPSE_ANALYTICS",
        -  "AZURE_VM",
        -  "BAUPLAN",
        -  "BOOMI",
        -  "CDATA",
        -  "CENSUS",
        -  "CLICKHOUSE",
        -  "COALESCE",
        -  "COUNT",
        -  "DATADOG",
        -  "DATABRICKS",
        -  "DATAPROC",
        -  "DATAZEN",
        -  "DBT",
        -  "DBT_CORE",
        -  "DLT",
        -  "DOMO",
        -  "DREMIO",
        -  "DUCKDB",
        -  "EMAIL",
        -  "ESTUARY",
        -  "ETLEAP",
        -  "FABRIC",
        -  "FABRIC_SYNAPSE",
        -  "FIVETRAN",
        -  "FORTRA",
        -  "GCP_BIG_QUERY",
        -  "GCP_CLOUD_RUN",
        -  "GCP_CLOUD_FUNCTIONS",
        -  "GCP_CLOUD_STORAGE",
        -  "GCP_DATAFLOW",
        -  "GCP_DATAFORM",
        -  "GCP_DATASTREAM",
        -  "GCP_LOOKER",
        -  "GKE",
        -  "GITHUB_ACTIONS",
        -  "GOOGLE_CLOUD",
        -  "HEVO",
        -  "HEX",
        -  "HIGHTOUCH",
        -  "HTTP",
        -  "HUBSPOT",
        -  "INFORMATICA_IICS",
        -  "INFORMATICA_POWERCENTER",
        -  "KAFKA",
        -  "KEBOOLA",
        -  "KLEENE",
        -  "LIGHTDASH",
        -  "LINUX_SSH",
        -  "MATILLION",
        -  "MATILLION_ETL",
        -  "METAPLANE",
        -  "MICROSOFT_TEAMS",
        -  "MICROSTRATEGY",
        -  "MONGODB",
        -  "MOTHERDUCK",
        -  "MYSQL",
        -  "N8N",
        -  "NIMBLE",
        -  "NOTION",
        -  "OMNI",
        -  "OPEN_AI",
        -  "ORCHESTRA",
        -  "PARADIME",
        -  "PAGER_DUTY",
        -  "PINECONE",
        -  "PORTABLE",
        -  "POSTGRES",
        -  "POWER_AUTOMATE",
        -  "POWER_BI",
        -  "PREFECT_CLOUD",
        -  "PYTHON",
        -  "QLIK",
        -  "QLIK_REPLICATE",
        -  "QUICKBOOKS",
        -  "RENDER",
        -  "RIVERY",
        -  "RUDDERSTACK",
        -  "SALESFORCE",
        -  "SAP",
        -  "SFTP",
        -  "SHAREPOINT",
        -  "SIGMA",
        -  "SISENSE",
        -  "SLACK",
        -  "SNOWFLAKE",
        -  "SNOWPLOW",
        -  "SODA",
        -  "SQL_MESH",
        -  "SQL_SERVER",
        -  "STITCH",
        -  "STREAMKAP",
        -  "TABLEAU_CLOUD",
        -  "TALEND_CLOUD",
        -  "THOUGHTSPOT",
        -  "TOBIKO_CLOUD",
        -  "WEAVIATE",
        -  "WEBHOOK",
        -  "WELD",
        -  "WINDOWS_SSH"
        -]New value: +[
        +  "AIRBYTE_CLOUD",
        +  "AIRBYTE_SERVER",
        +  "AIRFLOW",
        +  "ARCH",
        +  "ALTERYX_SERVER",
        +  "ANTHROPIC",
        +  "AWS_EC2",
        +  "AWS_ECS",
        +  "AWS_EMR",
        +  "AWS_EKS",
        +  "AWS_FIREHOSE",
        +  "AWS_GLUE",
        +  "AWS_LAMBDA",
        +  "AWS_RDS",
        +  "AWS_REDSHIFT",
        +  "AWS_S3",
        +  "AWS_BEDROCK",
        +  "AWS_SAGEMAKER",
        +  "AWS_SECRETS_MANAGER",
        +  "AWS_SES",
        +  "AWS_STEP_FUNCTIONS",
        +  "AZURE",
        +  "AZURE_CONTAINER_APPS",
        +  "AZURE_DATA_FACTORY",
        +  "AZURE_DATA_LAKE_STORAGE",
        +  "AZURE_KEY_VAULT",
        +  "AZURE_KUBERNETES_SERVICE",
        +  "AZURE_LOGIC_APPS",
        +  "AZURE_SYNAPSE_ANALYTICS",
        +  "AZURE_VM",
        +  "BAUPLAN",
        +  "BOOMI",
        +  "CDATA",
        +  "CENSUS",
        +  "CLICKHOUSE",
        +  "COALESCE",
        +  "COUNT",
        +  "DATADOG",
        +  "DATABRICKS",
        +  "DATAPROC",
        +  "DATAZEN",
        +  "DBT",
        +  "DBT_CORE",
        +  "DLT",
        +  "DOMO",
        +  "DREMIO",
        +  "DUCKDB",
        +  "EMAIL",
        +  "ESTUARY",
        +  "ETLEAP",
        +  "FABRIC",
        +  "FABRIC_SYNAPSE",
        +  "FIVETRAN",
        +  "FORTRA",
        +  "GCP_BIG_QUERY",
        +  "GCP_CLOUD_RUN",
        +  "GCP_CLOUD_FUNCTIONS",
        +  "GCP_CLOUD_STORAGE",
        +  "GCP_DATAFLOW",
        +  "GCP_DATAFORM",
        +  "GCP_DATASTREAM",
        +  "GCP_LOOKER",
        +  "GKE",
        +  "GITHUB_ACTIONS",
        +  "GOOGLE_CLOUD",
        +  "HEVO",
        +  "HEX",
        +  "HIGHTOUCH",
        +  "HTTP",
        +  "HUBSPOT",
        +  "INFORMATICA_IICS",
        +  "INFORMATICA_POWERCENTER",
        +  "KAFKA",
        +  "KEBOOLA",
        +  "KLEENE",
        +  "LIGHTDASH",
        +  "LINUX_SSH",
        +  "MARIADB",
        +  "MATILLION",
        +  "MATILLION_ETL",
        +  "METAPLANE",
        +  "MICROSOFT_TEAMS",
        +  "MICROSTRATEGY",
        +  "MONGODB",
        +  "MOTHERDUCK",
        +  "MYSQL",
        +  "N8N",
        +  "NIMBLE",
        +  "NOTION",
        +  "OMNI",
        +  "OPEN_AI",
        +  "ORCHESTRA",
        +  "PARADIME",
        +  "PAGER_DUTY",
        +  "PINECONE",
        +  "PORTABLE",
        +  "POSTGRES",
        +  "POWER_AUTOMATE",
        +  "POWER_BI",
        +  "PREFECT_CLOUD",
        +  "PYTHON",
        +  "QLIK",
        +  "QLIK_REPLICATE",
        +  "QUICKBOOKS",
        +  "RENDER",
        +  "RIVERY",
        +  "RUDDERSTACK",
        +  "SALESFORCE",
        +  "SAP",
        +  "SFTP",
        +  "SHAREPOINT",
        +  "SIGMA",
        +  "SISENSE",
        +  "SLACK",
        +  "SNOWFLAKE",
        +  "SNOWPLOW",
        +  "SODA",
        +  "SQL_MESH",
        +  "SQL_SERVER",
        +  "STITCH",
        +  "STREAMKAP",
        +  "TABLEAU_CLOUD",
        +  "TALEND_CLOUD",
        +  "THOUGHTSPOT",
        +  "TOBIKO_CLOUD",
        +  "WEAVIATE",
        +  "WEBHOOK",
        +  "WELD",
        +  "WINDOWS_SSH"
        +]
      • addedInput schema / properties / match / properties / labels
        Added value: +{
        +  "additionalProperties": {
        +    "items": {
        +      "additionalProperties": false,
        +      "description": "One place on an event body a label is read from, and the values that match there.",
        +      "properties": {
        +        "path": {
        +          "type": "string"
        +        },
        +        "values": {
        +          "items": {
        +            "type": "string"
        +          },
        +          "minItems": 1,
        +          "type": "array"
        +        }
        +      },
        +      "required": [
        +        "path",
        +        "values"
        +      ],
        +      "type": "object"
        +    },
        +    "minItems": 1,
        +    "type": "array"
        +  },
        +  "maxProperties": 32,
        +  "propertyNames": {
        +    "maxLength": 64,
        +    "minLength": 1,
        +    "pattern": "^[a-zA-Z0-9_.:/-]+$",
        +    "type": "string"
        +  },
        +  "type": "object"
        +}
      • addedInput schema / properties / order / anyOf
        Added value: +[
        +  {
        +    "type": "integer"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • removedInput schema / properties / order / default
        Removed value: -0
      • removedInput schema / properties / order / type
        Removed value: -"integer"
      • removedInput schema / properties / window
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "format": "duration",
        -      "gt": "PT0S",
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
    • Changedwhats_broken1 field changed
      • addedInput schema / properties / account_id
        Added value: +{
        +  "anyOf": [
        +    {
        +      "format": "uuid4",
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ],
        +  "default": null,
        +  "description": "Act on this account rather than the one the credential resolves to. Omit it to use the credential's own account. An API key is issued to a single account, so it may only name that account; an OAuth token may name any account its grant covers."
        +}
  3. 48 tool updatesv0.1.0
    • First observedcancel_pipeline_run
    • First observedcreate_environment
    • First observedcreate_incident_comment
    • First observedcreate_monitor
    • First observedcreate_pipeline
    • First observeddiagnose
    • First observeddownload_task_run_artifact
    • First observeddownload_task_run_log
    • First observedget_asset_by_id
    • First observedget_environment
    • First observedget_incident
    • First observedget_integration_state_for_state_aware
    • First observedget_monitor
    • First observedget_pipeline
    • First observedget_pipeline_data
    • First observedget_pipeline_run_lineage_url
    • First observedget_pipeline_run_status
    • First observedimport_pipeline
    • First observedlist_accounts
    • First observedlist_assets
    • First observedlist_audit_events
    • First observedlist_environments
    • First observedlist_incident_events
    • First observedlist_incidents
    • First observedlist_integration_connections
    • First observedlist_monitors
    • First observedlist_operations
    • First observedlist_pipeline_runs
    • First observedlist_pipelines
    • First observedlist_task_run_artifacts
    • First observedlist_task_run_logs
    • First observedlist_task_runs
    • First observedlist_task_runs_for_pipeline_run
    • First observedmerge_incidents
    • First observedmigrate_pipeline
    • First observedmute_incident
    • First observedpause_pipeline
    • First observedpipeline_context
    • First observedreorder_monitors
    • First observedstart_pipeline
    • First observedunmerge_incidents
    • First observedunmute_incident
    • First observedupdate_environment
    • First observedupdate_incident
    • First observedupdate_monitor
    • First observedupdate_pipeline
    • First observedvalidate_pipeline
    • First observedwhats_broken

TDQS

B3.4/5.0

Scored across 49 tools

Disambiguation4/5

Most tools have clearly distinct purposes, but the pipeline retrieval trio (get_pipeline, get_pipeline_data, pipeline_context) and the task-run list variants (list_task_runs vs list_task_runs_for_pipeline_run) create some overlap. Descriptions help differentiate, but an agent could still misselect among them.

Naming Consistency4/5

Predominantly consistent verb_noun pattern (get_, list_, create_, update_, etc.), with a few outliers like whats_broken, pipeline_context, and diagnose that break the pattern. Overall the naming is readable and mostly predictable.

Tool Count2/5

49 tools is well above the recommended 3-15 range and is heavy even for a broad orchestration platform. Many tools could be consolidated or omitted, and the sheer count risks overwhelming an agent and increasing selection errors.

Completeness4/5

Covers core CRUD and lifecycle operations for pipelines, incidents, monitors, environments, and task runs, but lacks delete operations for several resources (e.g., delete_pipeline, delete_monitor, delete_environment) and manual incident creation. Agents can work around most gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables users to interact with Apache Airflow orchestration platform through natural language to query pipeline statuses, troubleshoot DAG failures, trigger DAGs, and analyze configurations.
    11
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables interaction with an Airbyte instance through natural language, supporting workspaces, sources, destinations, connections, jobs, logs, tags, streams, and connector definitions.
    36
    77 PyPI
    5
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables natural language interaction with Apache Airflow for querying DAGs, monitoring execution, and troubleshooting failures.
    1
    MIT