Skip to main content
Glama

Opsphere — DevOps & SRE Intelligence

Datadog Synthetics execution results

dd_synthetics_results
Read-only

Execution results (pass/fail) for a Datadog Synthetic test in a time window — NOT config status live/paused. Prefer publicId (e.g. yg3-kef-xsw); or nameContains to resolve. Optional resultId for full detail of one run. Do NOT call the Datadog API outside Opsphere when this tool is available.

Input Schema

NameRequiredDescriptionDefault
toNoEnd window: now or ISO timestamp
fromNoStart window: now-1h, now-14h30m, or ISO timestamp
limitNoMax results to return
probeDcNoFilter by probe location(s), e.g. ["aws:us-east-1"]
publicIdNoSynthetic test public_id (preferred)
resultIdNoIf set, fetch full detail for this result_id
context_idNoOptional explicit Connection Hub work context (ctx_*). Omit to use the conversation's active workspace; global Hub tools ignore it.
nameContainsNoCase-insensitive substring of test name if publicId unknown

Output Schema

NameRequiredDescriptionDefault
okYes
dataYes
contractVersionYes
dataSchemaVersionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed16 schema fields changed
    • changedInput schema / properties / from / description
      Previous value: -"Start window, e.g. now-1h or ISO timestamp"New value: +"Start window: now-1h, now-14h30m, or ISO timestamp"
    • changedInput schema / properties / to / description
      Previous value: -"End window, e.g. now or ISO timestamp"New value: +"End window: now or ISO timestamp"
    • changedOutput schema / properties / data / additionalProperties
      Previous value: -falseNew value: +true
    • addedOutput schema / properties / data / properties / detail
      Added value: +{
      +  "$ref": "#/properties/data/properties/results/items/additionalProperties"
      +}
    • addedOutput schema / properties / data / properties / error
      Added value: +{
      +  "type": "string"
      +}
    • removedOutput schema / properties / data / properties / finishedAt
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / data / properties / locations
      Removed value: -{
      -  "items": {
      -    "additionalProperties": false,
      -    "properties": {
      -      "location": {
      -        "type": "string"
      -      },
      -      "passed": {
      -        "type": "boolean"
      -      }
      -    },
      -    "required": [
      -      "location"
      -    ],
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • removedOutput schema / properties / data / properties / name
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / data / properties / publicId
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / data / properties / results
      Added value: +{
      +  "items": {
      +    "additionalProperties": {
      +      "anyOf": [
      +        {
      +          "type": "string"
      +        },
      +        {
      +          "type": "number"
      +        },
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        },
      +        {
      +          "items": {
      +            "$ref": "#/properties/data/properties/results/items/additionalProperties"
      +          },
      +          "type": "array"
      +        },
      +        {
      +          "additionalProperties": {
      +            "$ref": "#/properties/data/properties/results/items/additionalProperties"
      +          },
      +          "type": "object"
      +        }
      +      ]
      +    },
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / data / properties / startedAt
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / data / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / data / properties / suggestions
      Added value: +{
      +  "items": {
      +    "$ref": "#/properties/data/properties/results/items/additionalProperties"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / data / properties / summary
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "failed": {
      +      "type": "number"
      +    },
      +    "no_data": {
      +      "type": "number"
      +    },
      +    "passed": {
      +      "type": "number"
      +    },
      +    "total": {
      +      "type": "number"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / data / properties / test
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "config_status": {
      +      "type": "string"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "public_id": {
      +      "type": "string"
      +    },
      +    "type": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
    • addedOutput schema / properties / data / properties / window
      Added value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "from": {
      +      "type": [
      +        "string",
      +        "number"
      +      ]
      +    },
      +    "to": {
      +      "type": [
      +        "string",
      +        "number"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "from",
      +    "to"
      +  ],
      +  "type": "object"
      +}
  2. Changed18 schema fields changed
    • changedOutput schema / properties / data / additionalProperties
      Previous value: -trueNew value: +false
    • removedOutput schema / properties / data / properties / data
      Removed value: -{
      -  "items": {
      -    "additionalProperties": true,
      -    "properties": {},
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • addedOutput schema / properties / data / properties / finishedAt
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / data / properties / gaps
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / data / properties / links
      Removed value: -{
      -  "$ref": "#/properties/data/properties/data/items"
      -}
    • addedOutput schema / properties / data / properties / locations
      Added value: +{
      +  "items": {
      +    "additionalProperties": false,
      +    "properties": {
      +      "location": {
      +        "type": "string"
      +      },
      +      "passed": {
      +        "type": "boolean"
      +      }
      +    },
      +    "required": [
      +      "location"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • removedOutput schema / properties / data / properties / meta
      Removed value: -{
      -  "$ref": "#/properties/data/properties/data/items"
      -}
    • addedOutput schema / properties / data / properties / name
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / data / properties / partial
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / data / properties / publicId
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / data / properties / resultId
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / data / properties / startedAt
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / data / properties / status
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / data / properties / truncated
      Added value: +{
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / data / properties / warnings
      Added value: +{
      +  "items": {
      +    "type": "string"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / data / required
      Added value: +[
      +  "partial",
      +  "truncated",
      +  "warnings",
      +  "gaps"
      +]
    • addedOutput schema / properties / dataSchemaVersion
      Added value: +{
      +  "const": 2,
      +  "type": "number"
      +}
    • changedOutput schema / required
      Previous value: -[
      -  "contractVersion",
      -  "ok",
      -  "data"
      -]New value: +[
      +  "contractVersion",
      +  "dataSchemaVersion",
      +  "ok",
      +  "data"
      +]
  3. First observed

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, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real behavioral context beyond them: the semantic boundary between execution results and test configuration state, the mode switch where resultId returns full detail for a single run rather than a list, and the constraint to use Opsphere rather than the public Datadog API.

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 the core purpose and its main disambiguation in the first clause, then identifier guidance and the resultId caveat. Every sentence carries information, though the dash-heavy compression and the closing policy sentence make it slightly denser than it needs to be.

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 and all 8 parameters are documented in-schema, so return format and parameter detail need not be restated. The description closes the two gaps that matter for correct invocation — what the results represent versus config status, and how to identify the test. It could still note default limit/pagination behavior for multi-test queries.

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 that by ranking the two resolver parameters ('Prefer publicId ... or nameContains') and by explaining that resultId changes the call from a list of runs to full detail of one run — semantics the schema only hints at.

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: execution results (pass/fail) for a Datadog Synthetic test within a time window, and explicitly carves out what it is NOT (config status live/paused). That negation does most of the sibling differentiation against dd_synthetics_summary and synthetics_summary_by_location, though neither is named directly.

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 identifier-resolution guidance ('Prefer publicId ... or nameContains to resolve') and an escalation path ('Optional resultId for full detail of one run'), plus a policy directive against calling the Datadog API directly. However there is no explicit statement of when to reach for this tool versus dd_synthetics_summary or synthetics_summary_by_location, so routing between Datadog synthetics siblings 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources