Skip to main content
Glama

PixelFlow

Verify tracking

verify_tracking

Check that tracking works on one site by loading one of its pages in a headless browser and reading the events received since checked_from. Returns whether tracking works, the first failing step with its cause and fix, whether the page could be loaded, and any ad platform pixel added to the site outside PixelFlow that double counts events. A passing check marks site setup as complete. The result includes next_action, the same as get_site_status. Refused until an ad platform is connected. Rate limited per site. Use it after installing PixelFlow, after connecting a pixel, or when the user reports missing events.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "site_id": "<site_id>"
    },
    "name": "verify_tracking"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlNoPublished page on this site's domain to load, such as https://example.com/pricing. Default the home page. Preview and staging hosts are refused.
site_idYesSite to act on, as returned by list_sites.

Output Schema

NameRequiredDescriptionDefault
fixYesWhat to change to pass that step.
docsYesHelp articles for this result: `title` (string) and `url` (string, uri).
causeYesWhy that step failed, in plain words.
domainYesWebsite domain.
site_idYesSite id.
page_checkYesWhether the headless browser could load and inspect the page. When status is not passed, the result relies only on events received since checked_from; with none, is_successful is false and failed_step is null.
failed_stepYesFirst step that failed. script_missing: the PixelFlow script is not on the page. script_error: the script loaded but failed to run. pixel_missing: no ad platform pixel is connected. token_unusable: the ad platform rejected the pixel's access token. consent_blocked: events were blocked because visitors did not give consent. no_event_received: the script is on the page but no event has been received yet. null on success, or when the page could not be loaded and no recent events exist.
next_actionYesThe one open setup step. null once setup and every Get Started item that applies to this site are complete.
checked_fromYesStart of the recent period whose events the check reads.
is_successfulYesWhether tracking works end to end: an event from the site was received and accepted since checked_from.
setup_completedYesWhether site setup is now marked complete.
duplicate_trackingYesAd platform pixels added to the site outside PixelFlow, seen on this page load: `ad_platform` (string, such as facebook) and `evidence` (string, the script URL seen). Each one double counts events, because PixelFlow already sends both the browser pixel and the Conversions API for that ad platform.
has_conversion_eventYesWhether an event other than PageView arrived since checked_from.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed16 schema fields changed
    • addedOutput schema / properties / cause / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / cause / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / domain / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / domain / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / failed_step / anyOf
      Added value: +[
      +  {
      +    "enum": [
      +      "script_missing",
      +      "script_error",
      +      "pixel_missing",
      +      "token_unusable",
      +      "consent_blocked",
      +      "no_event_received"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / failed_step / enum
      Removed value: -[
      -  "script_missing",
      -  "script_error",
      -  "pixel_missing",
      -  "token_unusable",
      -  "consent_blocked",
      -  "no_event_received",
      -  null
      -]
    • removedOutput schema / properties / failed_step / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / fix / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / fix / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • removedOutput schema / properties / next_action / additionalProperties
      Removed value: -false
    • addedOutput schema / properties / next_action / anyOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "action": {
      +        "description": "Step to do now.",
      +        "enum": [
      +          "ask_platform",
      +          "wordpress_connect",
      +          "ask_domain",
      +          "ask_currency",
      +          "connect_ad_platform",
      +          "install",
      +          "verify",
      +          "triggers",
      +          "get_started"
      +        ],
      +        "type": "string"
      +      },
      +      "ad_platform": {
      +        "description": "Ad platform to connect, for connect_ad_platform. Set only when a saved pixel cannot send yet; absent when the user still has to pick an ad platform.",
      +        "type": "string"
      +      },
      +      "install": {
      +        "additionalProperties": false,
      +        "description": "For install: the steps and snippet for this site, the same as get_install_instructions returns for task install. When it is set, there is no tool.",
      +        "properties": {
      +          "docs": {
      +            "description": "Help articles for this result: `title` (string) and `url` (string, uri).",
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "title": {
      +                  "type": "string"
      +                },
      +                "url": {
      +                  "format": "uri",
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "title",
      +                "url"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "native_pixel_search": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Phase activate only: text to search the site's code for to find an ad platform pixel already on the site. null otherwise."
      +          },
      +          "rules_to_follow": {
      +            "anyOf": [
      +              {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "How to show the snippet to the user; follow them when you present it. null when the result has no snippet."
      +          },
      +          "snippet": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "HTML snippet with this site's public site id and key, to paste into the site. null on platforms with a PixelFlow plugin."
      +          },
      +          "steps": {
      +            "anyOf": [
      +              {
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ],
      +            "description": "Numbered steps for this task on this platform."
      +          }
      +        },
      +        "required": [
      +          "steps",
      +          "snippet",
      +          "rules_to_follow",
      +          "native_pixel_search",
      +          "docs"
      +        ],
      +        "type": "object"
      +      },
      +      "phase": {
      +        "description": "Plugin install phase, for install.",
      +        "enum": [
      +          "connect",
      +          "activate"
      +        ],
      +        "type": "string"
      +      },
      +      "progress": {
      +        "description": "Position in setup, such as Step 4 of 7. total depends on the site: plugin platforms add a step, and sites that set up conversions add another.",
      +        "type": "string"
      +      },
      +      "say": {
      +        "description": "Suggested wording for the user. Words for the user only; the tool for this step is in next_action.tool.",
      +        "type": "string"
      +      },
      +      "step": {
      +        "description": "Position in setup, such as Step 4 of 7. total depends on the site: plugin platforms add a step, and sites that set up conversions add another.",
      +        "type": "integer"
      +      },
      +      "steps": {
      +        "description": "Every setup step: `step` (integer), `label` (string), `state` (enum: done, current, later).",
      +        "items": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "label": {
      +              "type": "string"
      +            },
      +            "state": {
      +              "enum": [
      +                "done",
      +                "current",
      +                "later"
      +              ],
      +              "type": "string"
      +            },
      +            "step": {
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "step",
      +            "label",
      +            "state"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "target": {
      +        "description": "get_connect_link target, for connect_ad_platform.",
      +        "enum": [
      +          "ad_platform"
      +        ],
      +        "type": "string"
      +      },
      +      "task": {
      +        "description": "get_install_instructions task, for install.",
      +        "enum": [
      +          "install"
      +        ],
      +        "type": "string"
      +      },
      +      "tool": {
      +        "description": "Tool that performs this step. Absent when the step needs no tool or when install is attached.",
      +        "type": "string"
      +      },
      +      "total": {
      +        "description": "Position in setup, such as Step 4 of 7. total depends on the site: plugin platforms add a step, and sites that set up conversions add another.",
      +        "type": "integer"
      +      }
      +    },
      +    "required": [
      +      "action",
      +      "say",
      +      "step",
      +      "total",
      +      "progress",
      +      "steps"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / next_action / properties
      Removed value: -{
      -  "action": {
      -    "description": "Step to do now.",
      -    "enum": [
      -      "ask_platform",
      -      "wordpress_connect",
      -      "ask_domain",
      -      "ask_currency",
      -      "connect_ad_platform",
      -      "install",
      -      "verify",
      -      "triggers",
      -      "get_started"
      -    ],
      -    "type": "string"
      -  },
      -  "ad_platform": {
      -    "description": "Ad platform to connect, for connect_ad_platform. Set only when a saved pixel cannot send yet; absent when the user still has to pick an ad platform.",
      -    "type": "string"
      -  },
      -  "install": {
      -    "additionalProperties": false,
      -    "description": "For install: the steps and snippet for this site, the same as get_install_instructions returns for task install. When it is set, there is no tool.",
      -    "properties": {
      -      "docs": {
      -        "description": "Help articles for this result: `title` (string) and `url` (string, uri).",
      -        "items": {
      -          "additionalProperties": false,
      -          "properties": {
      -            "title": {
      -              "type": "string"
      -            },
      -            "url": {
      -              "format": "uri",
      -              "type": "string"
      -            }
      -          },
      -          "required": [
      -            "title",
      -            "url"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "native_pixel_search": {
      -        "description": "Phase activate only: text to search the site's code for to find an ad platform pixel already on the site. null otherwise.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "rules_to_follow": {
      -        "description": "How to show the snippet to the user; follow them when you present it. null when the result has no snippet.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "snippet": {
      -        "description": "HTML snippet with this site's public site id and key, to paste into the site. null on platforms with a PixelFlow plugin.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "steps": {
      -        "description": "Numbered steps for this task on this platform.",
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "steps",
      -      "snippet",
      -      "rules_to_follow",
      -      "native_pixel_search",
      -      "docs"
      -    ],
      -    "type": "object"
      -  },
      -  "phase": {
      -    "description": "Plugin install phase, for install.",
      -    "enum": [
      -      "connect",
      -      "activate"
      -    ],
      -    "type": "string"
      -  },
      -  "progress": {
      -    "description": "Position in setup, such as Step 4 of 7. total depends on the site: plugin platforms add a step, and sites that set up conversions add another.",
      -    "type": "string"
      -  },
      -  "say": {
      -    "description": "Suggested wording for the user. Words for the user only; the tool for this step is in next_action.tool.",
      -    "type": "string"
      -  },
      -  "step": {
      -    "description": "Position in setup, such as Step 4 of 7. total depends on the site: plugin platforms add a step, and sites that set up conversions add another.",
      -    "type": "integer"
      -  },
      -  "steps": {
      -    "description": "Every setup step: `step` (integer), `label` (string), `state` (enum: done, current, later).",
      -    "items": {
      -      "additionalProperties": false,
      -      "properties": {
      -        "label": {
      -          "type": "string"
      -        },
      -        "state": {
      -          "enum": [
      -            "done",
      -            "current",
      -            "later"
      -          ],
      -          "type": "string"
      -        },
      -        "step": {
      -          "type": "integer"
      -        }
      -      },
      -      "required": [
      -        "step",
      -        "label",
      -        "state"
      -      ],
      -      "type": "object"
      -    },
      -    "type": "array"
      -  },
      -  "target": {
      -    "description": "get_connect_link target, for connect_ad_platform.",
      -    "enum": [
      -      "ad_platform"
      -    ],
      -    "type": "string"
      -  },
      -  "task": {
      -    "description": "get_install_instructions task, for install.",
      -    "enum": [
      -      "install"
      -    ],
      -    "type": "string"
      -  },
      -  "tool": {
      -    "description": "Tool that performs this step. Absent when the step needs no tool or when install is attached.",
      -    "type": "string"
      -  },
      -  "total": {
      -    "description": "Position in setup, such as Step 4 of 7. total depends on the site: plugin platforms add a step, and sites that set up conversions add another.",
      -    "type": "integer"
      -  }
      -}
    • removedOutput schema / properties / next_action / required
      Removed value: -[
      -  "action",
      -  "say",
      -  "step",
      -  "total",
      -  "progress",
      -  "steps"
      -]
    • removedOutput schema / properties / next_action / type
      Removed value: -[
      -  "object",
      -  "null"
      -]
    • addedOutput schema / properties / page_check / properties / cause / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / page_check / properties / cause / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
  2. Changed6 schema fields changed
    • removedInput schema / properties / event_type
      Removed value: -{
      -  "description": "Optional. An event Stripe, Calendly, or the platform checkout already sends, such as Purchase or Schedule",
      -  "type": "string"
      -}
    • removedInput schema / properties / site
      Removed value: -{
      -  "description": "Domain, id, or external id from list_sites",
      -  "type": "string"
      -}
    • addedInput schema / properties / site_id
      Added value: +{
      +  "description": "Site to act on, as returned by list_sites.",
      +  "type": "integer"
      +}
    • changedInput schema / properties / url / description
      Previous value: -"Optional page on this Site domain. A preview host is refused"New value: +"Published page on this site's domain to load, such as https://example.com/pricing. Default the home page. Preview and staging hosts are refused."
    • changedInput schema / required
      Previous value: -[
      -  "site"
      -]New value: +[
      +  "site_id"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "cause": {
      +      "description": "Why that step failed, in plain words.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "checked_from": {
      +      "description": "Start of the recent period whose events the check reads.",
      +      "format": "date-time",
      +      "type": "string"
      +    },
      +    "docs": {
      +      "description": "Help articles for this result: `title` (string) and `url` (string, uri).",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "title": {
      +            "type": "string"
      +          },
      +          "url": {
      +            "format": "uri",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "title",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "domain": {
      +      "description": "Website domain.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "duplicate_tracking": {
      +      "description": "Ad platform pixels added to the site outside PixelFlow, seen on this page load: `ad_platform` (string, such as facebook) and `evidence` (string, the script URL seen). Each one double counts events, because PixelFlow already sends both the browser pixel and the Conversions API for that ad platform.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "ad_platform": {
      +            "type": "string"
      +          },
      +          "evidence": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "ad_platform",
      +          "evidence"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "failed_step": {
      +      "description": "First step that failed. script_missing: the PixelFlow script is not on the page. script_error: the script loaded but failed to run. pixel_missing: no ad platform pixel is connected. token_unusable: the ad platform rejected the pixel's access token. consent_blocked: events were blocked because visitors did not give consent. no_event_received: the script is on the page but no event has been received yet. null on success, or when the page could not be loaded and no recent events exist.",
      +      "enum": [
      +        "script_missing",
      +        "script_error",
      +        "pixel_missing",
      +        "token_unusable",
      +        "consent_blocked",
      +        "no_event_received",
      +        null
      +      ],
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "fix": {
      +      "description": "What to change to pass that step.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "has_conversion_event": {
      +      "description": "Whether an event other than PageView arrived since checked_from.",
      +      "type": "boolean"
      +    },
      +    "is_successful": {
      +      "description": "Whether tracking works end to end: an event from the site was received and accepted since checked_from.",
      +      "type": "boolean"
      +    },
      +    "next_action": {
      +      "additionalProperties": false,
      +      "description": "The one open setup step. null once setup and every Get Started item that applies to this site are complete.",
      +      "properties": {
      +        "action": {
      +          "description": "Step to do now.",
      +          "enum": [
      +            "ask_platform",
      +            "wordpress_connect",
      +            "ask_domain",
      +            "ask_currency",
      +            "connect_ad_platform",
      +            "install",
      +            "verify",
      +            "triggers",
      +            "get_started"
      +          ],
      +          "type": "string"
      +        },
      +        "ad_platform": {
      +          "description": "Ad platform to connect, for connect_ad_platform. Set only when a saved pixel cannot send yet; absent when the user still has to pick an ad platform.",
      +          "type": "string"
      +        },
      +        "install": {
      +          "additionalProperties": false,
      +          "description": "For install: the steps and snippet for this site, the same as get_install_instructions returns for task install. When it is set, there is no tool.",
      +          "properties": {
      +            "docs": {
      +              "description": "Help articles for this result: `title` (string) and `url` (string, uri).",
      +              "items": {
      +                "additionalProperties": false,
      +                "properties": {
      +                  "title": {
      +                    "type": "string"
      +                  },
      +                  "url": {
      +                    "format": "uri",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "title",
      +                  "url"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "native_pixel_search": {
      +              "description": "Phase activate only: text to search the site's code for to find an ad platform pixel already on the site. null otherwise.",
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": [
      +                "array",
      +                "null"
      +              ]
      +            },
      +            "rules_to_follow": {
      +              "description": "How to show the snippet to the user; follow them when you present it. null when the result has no snippet.",
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": [
      +                "array",
      +                "null"
      +              ]
      +            },
      +            "snippet": {
      +              "description": "HTML snippet with this site's public site id and key, to paste into the site. null on platforms with a PixelFlow plugin.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            },
      +            "steps": {
      +              "description": "Numbered steps for this task on this platform.",
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          },
      +          "required": [
      +            "steps",
      +            "snippet",
      +            "rules_to_follow",
      +            "native_pixel_search",
      +            "docs"
      +          ],
      +          "type": "object"
      +        },
      +        "phase": {
      +          "description": "Plugin install phase, for install.",
      +          "enum": [
      +            "connect",
      +            "activate"
      +          ],
      +          "type": "string"
      +        },
      +        "progress": {
      +          "description": "Position in setup, such as Step 4 of 7. total depends on the site: plugin platforms add a step, and sites that set up conversions add another.",
      +          "type": "string"
      +        },
      +        "say": {
      +          "description": "Suggested wording for the user. Words for the user only; the tool for this step is in next_action.tool.",
      +          "type": "string"
      +        },
      +        "step": {
      +          "description": "Position in setup, such as Step 4 of 7. total depends on the site: plugin platforms add a step, and sites that set up conversions add another.",
      +          "type": "integer"
      +        },
      +        "steps": {
      +          "description": "Every setup step: `step` (integer), `label` (string), `state` (enum: done, current, later).",
      +          "items": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "label": {
      +                "type": "string"
      +              },
      +              "state": {
      +                "enum": [
      +                  "done",
      +                  "current",
      +                  "later"
      +                ],
      +                "type": "string"
      +              },
      +              "step": {
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "step",
      +              "label",
      +              "state"
      +            ],
      +            "type": "object"
      +          },
      +          "type": "array"
      +        },
      +        "target": {
      +          "description": "get_connect_link target, for connect_ad_platform.",
      +          "enum": [
      +            "ad_platform"
      +          ],
      +          "type": "string"
      +        },
      +        "task": {
      +          "description": "get_install_instructions task, for install.",
      +          "enum": [
      +            "install"
      +          ],
      +          "type": "string"
      +        },
      +        "tool": {
      +          "description": "Tool that performs this step. Absent when the step needs no tool or when install is attached.",
      +          "type": "string"
      +        },
      +        "total": {
      +          "description": "Position in setup, such as Step 4 of 7. total depends on the site: plugin platforms add a step, and sites that set up conversions add another.",
      +          "type": "integer"
      +        }
      +      },
      +      "required": [
      +        "action",
      +        "say",
      +        "step",
      +        "total",
      +        "progress",
      +        "steps"
      +      ],
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "page_check": {
      +      "additionalProperties": false,
      +      "description": "Whether the headless browser could load and inspect the page. When status is not passed, the result relies only on events received since checked_from; with none, is_successful is false and failed_step is null.",
      +      "properties": {
      +        "cause": {
      +          "description": "Why the page could not be loaded. null when status is passed.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "status": {
      +          "description": "passed: the page loaded and was inspected. blocked: the site stopped the browser (bot challenge, password, geo restriction, or a consent banner it could not get past). inconclusive: the page did not finish loading.",
      +          "enum": [
      +            "passed",
      +            "blocked",
      +            "inconclusive"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "status",
      +        "cause"
      +      ],
      +      "type": "object"
      +    },
      +    "setup_completed": {
      +      "description": "Whether site setup is now marked complete.",
      +      "type": "boolean"
      +    },
      +    "site_id": {
      +      "description": "Site id.",
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "site_id",
      +    "domain",
      +    "is_successful",
      +    "checked_from",
      +    "failed_step",
      +    "cause",
      +    "fix",
      +    "page_check",
      +    "duplicate_tracking",
      +    "setup_completed",
      +    "has_conversion_event",
      +    "docs",
      +    "next_action"
      +  ],
      +  "type": "object"
      +}
  3. First observed

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: discloses the refusal precondition (no ad platform connected), per-site rate limiting, and a real side effect — a passing check marks site setup as complete — which is why readOnlyHint=false despite being a 'check'. This is exactly the kind of state-mutation context the annotations alone don't 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?

Front-loads the mechanism, then results, then preconditions, then usage — a sensible order. Slightly over-detailed on return contents (first failing step, cause and fix, double-counting pixels) given an output schema exists, but no sentence is pure filler.

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

Completeness5/5

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

For a side-effecting, open-world verification tool, the description covers mechanism, preconditions, rate limits, state changes, and failure semantics, and it needn't explain return values since an output schema is present. Nothing an agent needs to call it correctly is missing.

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

Parameters3/5

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

Schema coverage is 100%, so site_id and url are already fully documented. The description implies a single site and a page load but adds no syntax, format, or defaulting detail beyond the schema's own 'Default the home page' and 'Preview and staging hosts are refused'. Baseline 3 applies.

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

Purpose5/5

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

States a specific verb and resource — checking tracking by loading a page in a headless browser and reading events since checked_from — and explicitly distinguishes itself from get_site_status by noting it returns the same next_action. An agent can tell exactly what this does versus the read-only status siblings.

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

Usage Guidelines5/5

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

Names concrete triggers: after installing PixelFlow, after connecting a pixel, or when the user reports missing events. It also states a hard precondition (refused until an ad platform is connected) and a sibling relationship (next_action same as get_site_status), leaving little 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.