Skip to main content
Glama

PixelFlow

Get site status

get_site_status
Read-onlyIdempotent

Get the setup and health state of one site: its settings (domain, platform, currency, ecommerce flags), whether the PixelFlow script or plugin is installed, connected pixels and integrations, blocking rules, consent mode, the last event received of each type, which Get Started checklist items are done, and the plan, limits, and usage of its workspace. It also returns the next setup step, until setup and the Get Started checklist are complete. Use it before any setup or troubleshooting step, or when the user asks about their plan or limits.

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": "get_site_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
site_idYesSite to act on, as returned by list_sites.

Output Schema

NameRequiredDescriptionDefault
docsYesHelp articles for this result: `title` (string) and `url` (string, uri).
domainYesWebsite domain.
pixelsYesAd platform pixels connected to the site.
site_idYesSite id.
currencyYesISO 4217 currency for event values. A site created without one holds USD until the user sets it; while setup is open, next_action still asks.
platformYesPlatform the site runs on, such as webflow.
workspaceYesWorkspace that owns this site, with its plan, limits, and usage.
last_eventsYesThe newest of each event received in the last events_window_days, such as one PageView and one Purchase.
next_actionYesThe one open setup step. null once setup and every Get Started item that applies to this site are complete.
consent_modeYesenabled: PixelFlow honors visitor consent before sending.
integrationsYesConnected integrations.
blocking_rulesYesBlocking rules saved on the site, one per target: `target`, `mode`, and `groups`, the shape save_blocking_rule takes.
is_woocommerceYesWhether the WordPress site uses WooCommerce.
script_or_pluginYesPixelFlow install on the site.
duplicate_trackingYesNative ad platform pixel loaders seen on the last page check: `ad_platform` (string) and `evidence` (string, the script URL seen).
events_window_daysYesDays back script_or_plugin.is_seen and last_events look.
is_plugin_connectedYesWhether the WordPress plugin has signed in to this site. type plugin alone does not mean this. A site that already sends events skips the plugin step without it.
is_old_pixel_removedYesWhether the Get Started item "remove old pixel code" is done.
is_utm_snippet_addedYesWhether the Get Started item "add UTM parameters to ads" is done.
is_webflow_ecommerceYesWhether the Webflow site uses Webflow eCommerce.
is_meta_domain_approvedYesWhether the Get Started item "verify the domain in Facebook Business Manager" is done.
is_consent_banner_configuredYesWhether the Get Started item "configure a consent banner" is done.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed19 schema fields changed
    • addedOutput schema / properties / currency / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / currency / 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 / integrations / items / properties / event / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / integrations / items / properties / event / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / integrations / items / properties / label / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / integrations / items / properties / label / 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 / platform / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / platform / type
      Removed value: -[
      -  "string",
      -  "null"
      -]
    • addedOutput schema / properties / workspace / properties / limits / properties / events_per_month / anyOf
      Added value: +[
      +  {
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / workspace / properties / limits / properties / events_per_month / type
      Removed value: -[
      -  "integer",
      -  "null"
      -]
    • addedOutput schema / properties / workspace / properties / trial_days_left / anyOf
      Added value: +[
      +  {
      +    "type": "integer"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • removedOutput schema / properties / workspace / properties / trial_days_left / type
      Removed value: -[
      -  "integer",
      -  "null"
      -]
  2. Changed4 schema fields changed
    • 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 / required
      Previous value: -[
      -  "site"
      -]New value: +[
      +  "site_id"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "blocking_rules": {
      +      "description": "Blocking rules saved on the site, one per target: `target`, `mode`, and `groups`, the shape save_blocking_rule takes.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "groups": {
      +            "items": {
      +              "additionalProperties": false,
      +              "properties": {
      +                "conditions": {
      +                  "items": {
      +                    "additionalProperties": true,
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                }
      +              },
      +              "required": [
      +                "conditions"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "mode": {
      +            "enum": [
      +              "block",
      +              "do_not_block"
      +            ],
      +            "type": "string"
      +          },
      +          "target": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "target",
      +          "mode"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "consent_mode": {
      +      "description": "enabled: PixelFlow honors visitor consent before sending.",
      +      "enum": [
      +        "enabled",
      +        "disabled"
      +      ],
      +      "type": "string"
      +    },
      +    "currency": {
      +      "description": "ISO 4217 currency for event values. A site created without one holds USD until the user sets it; while setup is open, next_action still asks.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "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": "Native ad platform pixel loaders seen on the last page check: `ad_platform` (string) and `evidence` (string, the script URL seen).",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "ad_platform": {
      +            "type": "string"
      +          },
      +          "evidence": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "ad_platform",
      +          "evidence"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "events_window_days": {
      +      "description": "Days back script_or_plugin.is_seen and last_events look.",
      +      "type": "integer"
      +    },
      +    "integrations": {
      +      "description": "Connected integrations.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "event": {
      +            "description": "Event the integration sends, such as Purchase.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "label": {
      +            "description": "Integration label.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "type": {
      +            "description": "Integration name, such as stripe.",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "type",
      +          "label",
      +          "event"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "is_consent_banner_configured": {
      +      "description": "Whether the Get Started item \"configure a consent banner\" is done.",
      +      "type": "boolean"
      +    },
      +    "is_meta_domain_approved": {
      +      "description": "Whether the Get Started item \"verify the domain in Facebook Business Manager\" is done.",
      +      "type": "boolean"
      +    },
      +    "is_old_pixel_removed": {
      +      "description": "Whether the Get Started item \"remove old pixel code\" is done.",
      +      "type": "boolean"
      +    },
      +    "is_plugin_connected": {
      +      "description": "Whether the WordPress plugin has signed in to this site. type plugin alone does not mean this. A site that already sends events skips the plugin step without it.",
      +      "type": "boolean"
      +    },
      +    "is_utm_snippet_added": {
      +      "description": "Whether the Get Started item \"add UTM parameters to ads\" is done.",
      +      "type": "boolean"
      +    },
      +    "is_webflow_ecommerce": {
      +      "description": "Whether the Webflow site uses Webflow eCommerce.",
      +      "type": "boolean"
      +    },
      +    "is_woocommerce": {
      +      "description": "Whether the WordPress site uses WooCommerce.",
      +      "type": "boolean"
      +    },
      +    "last_events": {
      +      "description": "The newest of each event received in the last events_window_days, such as one PageView and one Purchase.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "at": {
      +            "description": "When it arrived.",
      +            "format": "date-time",
      +            "type": "string"
      +          },
      +          "event": {
      +            "description": "Event received, such as PageView.",
      +            "type": "string"
      +          },
      +          "is_sent": {
      +            "description": "Whether it was delivered to the ad platforms.",
      +            "type": "boolean"
      +          }
      +        },
      +        "required": [
      +          "event",
      +          "at",
      +          "is_sent"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "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"
      +      ]
      +    },
      +    "pixels": {
      +      "description": "Ad platform pixels connected to the site.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "ad_platform": {
      +            "description": "Ad platform the pixel belongs to, such as facebook.",
      +            "type": "string"
      +          },
      +          "is_active": {
      +            "description": "Whether events are being sent to this pixel.",
      +            "type": "boolean"
      +          },
      +          "name": {
      +            "description": "Pixel label.",
      +            "type": "string"
      +          },
      +          "pixel_id": {
      +            "description": "Pixel id. update_pixel and list_events take it.",
      +            "type": "integer"
      +          },
      +          "token": {
      +            "description": "Where the access token comes from. The token itself is never returned. missing: events cannot be sent.",
      +            "enum": [
      +              "stored",
      +              "connection",
      +              "missing"
      +            ],
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "pixel_id",
      +          "name",
      +          "ad_platform",
      +          "is_active",
      +          "token"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "platform": {
      +      "description": "Platform the site runs on, such as webflow.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "script_or_plugin": {
      +      "additionalProperties": false,
      +      "description": "PixelFlow install on the site.",
      +      "properties": {
      +        "is_seen": {
      +          "description": "Whether events from the script or plugin arrived in the last events_window_days.",
      +          "type": "boolean"
      +        },
      +        "type": {
      +          "description": "Install method the site's platform uses.",
      +          "enum": [
      +            "script",
      +            "plugin"
      +          ],
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "is_seen",
      +        "type"
      +      ],
      +      "type": "object"
      +    },
      +    "site_id": {
      +      "description": "Site id.",
      +      "type": "integer"
      +    },
      +    "workspace": {
      +      "additionalProperties": false,
      +      "description": "Workspace that owns this site, with its plan, limits, and usage.",
      +      "properties": {
      +        "limits": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ad_platform_slots": {
      +              "description": "Ad platform connections allowed, including purchased extras.",
      +              "type": "integer"
      +            },
      +            "analytics_lookback_days": {
      +              "description": "How far back get_overview, get_attribution, and get_blocked_events can read.",
      +              "type": "integer"
      +            },
      +            "events_per_month": {
      +              "description": "Events per month the plan includes, such as 500000. null means unlimited.",
      +              "type": [
      +                "integer",
      +                "null"
      +              ]
      +            },
      +            "journeys_lookback_days": {
      +              "description": "How far back get_journeys can read.",
      +              "type": "integer"
      +            },
      +            "member_seats": {
      +              "description": "Team members allowed, not counting the owner. 0 on a free trial.",
      +              "type": "integer"
      +            },
      +            "sites": {
      +              "description": "Sites the workspace may have, including purchased extra sites.",
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "sites",
      +            "events_per_month",
      +            "ad_platform_slots",
      +            "analytics_lookback_days",
      +            "journeys_lookback_days",
      +            "member_seats"
      +          ],
      +          "type": "object"
      +        },
      +        "plan": {
      +          "description": "Plan name, such as Standard. `trial` during a free trial without a plan, `none` once that trial has ended.",
      +          "type": "string"
      +        },
      +        "plan_status": {
      +          "description": "Billing state. expired: the free trial ended without a plan. none: no plan and no trial.",
      +          "enum": [
      +            "active",
      +            "canceled",
      +            "incomplete",
      +            "incomplete_expired",
      +            "past_due",
      +            "paused",
      +            "trialing",
      +            "unpaid",
      +            "expired",
      +            "none"
      +          ],
      +          "type": "string"
      +        },
      +        "trial_days_left": {
      +          "description": "Whole days until the trial ends. 0: ended. null: no trial.",
      +          "type": [
      +            "integer",
      +            "null"
      +          ]
      +        },
      +        "usage": {
      +          "additionalProperties": false,
      +          "properties": {
      +            "ad_platform_slots": {
      +              "description": "Ad platform slots in use.",
      +              "type": "integer"
      +            },
      +            "member_seats": {
      +              "description": "Seats in use, not counting the owner.",
      +              "type": "integer"
      +            },
      +            "sites": {
      +              "description": "Sites in the workspace, including ones this user cannot open.",
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "sites",
      +            "ad_platform_slots",
      +            "member_seats"
      +          ],
      +          "type": "object"
      +        },
      +        "workspace_id": {
      +          "description": "Workspace id.",
      +          "type": "integer"
      +        },
      +        "workspace_name": {
      +          "description": "Workspace name.",
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "workspace_id",
      +        "workspace_name",
      +        "plan",
      +        "plan_status",
      +        "trial_days_left",
      +        "limits",
      +        "usage"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "site_id",
      +    "domain",
      +    "platform",
      +    "currency",
      +    "is_webflow_ecommerce",
      +    "is_woocommerce",
      +    "is_old_pixel_removed",
      +    "is_meta_domain_approved",
      +    "is_utm_snippet_added",
      +    "is_consent_banner_configured",
      +    "script_or_plugin",
      +    "is_plugin_connected",
      +    "pixels",
      +    "integrations",
      +    "blocking_rules",
      +    "last_events",
      +    "events_window_days",
      +    "consent_mode",
      +    "workspace",
      +    "duplicate_tracking",
      +    "docs",
      +    "next_action"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and non-destructive, so safety is covered. The description still adds genuine behavioral context beyond them: it is composite/aggregating, and it discloses that the response conditionally includes a next setup step that persists 'until setup and the Get Started checklist are complete' — a dynamic behavior an agent could not infer from annotations.

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

Conciseness3/5

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

Purpose and conditional-next-step behavior are front-loaded, which is good. However, the middle is one long run-on enumeration of roughly ten returned data categories that largely restates what the output schema already carries, adding length without proportional decision 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 present the description needn't detail return values, and it nonetheless gives an accurate overview, plus the usage trigger and the stateful 'next setup step' caveat. Nothing critical for correct invocation is missing; minor slack is that it never addresses cost, pagination, or failure modes for an unknown site_id.

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 a single required parameter with 100% schema description coverage that already explains site_id comes from list_sites. The description adds no additional parameter meaning (no format, no edge cases), so the baseline 3 for high-coverage schemas 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 ('Get') and resource ('setup and health state of one site') and then enumerates the concrete contents: settings, install status, pixels, blocking rules, consent mode, checklist progress, and plan/limits. This is clearly distinguishable from siblings like get_overview or list_sites, which operate at different scope.

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 triggers: 'Use it before any setup or troubleshooting step, or when the user asks about their plan or limits.' That is a clear, actionable when-to-use rule. It stops short of naming an alternative tool or stating when not to use it (e.g. versus get_overview), so it falls just 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.