Skip to main content
Glama

PixelFlow

Create site

create_site

Add a new website to a PixelFlow workspace and return the saved site with its site_id. If the workspace is at its site limit or its plan is canceled, the site is not created and the error says why. The result includes next_action, the same as get_site_status. Use it when the user wants to track a website that list_sites does not show.

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": {
      "platform": "<platform>"
    },
    "name": "create_site"
  }
}

Input Schema

NameRequiredDescriptionDefault
domainNoWebsite domain, such as example.com. Required except on platforms with a PixelFlow plugin, such as WordPress, where it can be added later with update_site.
currencyNoISO 4217 currency for event values, such as EUR. Same requirement as domain.
platformYesPlatform the site runs on, a name from list_supported_values's `platforms`, such as webflow or wordpress. other for custom code or a platform not in the list.
workspace_idNoWorkspace to add the site to, `workspace_id` from list_sites. Required only when the user belongs to more than one workspace.
is_woocommerceNoWhether the WordPress site uses WooCommerce.
is_webflow_ecommerceNoWhether the Webflow site uses Webflow eCommerce. When true and the site has a domain, PixelFlow adds the standard Webflow eCommerce triggers, returned in triggers_added.

Output Schema

NameRequiredDescriptionDefault
domainYesWebsite domain.
site_idYesSite id.
currencyYesISO 4217 currency for event values.
platformYesPlatform the site runs on, such as webflow.
external_idYesPublic site id, as in list_sites.
next_actionYesThe one open setup step. null once setup and every Get Started item that applies to this site are complete.
workspace_idYesWorkspace that owns the site.
is_woocommerceYesWhether the WordPress site uses WooCommerce.
triggers_addedYesWebflow eCommerce triggers this call added: `trigger_id` (integer), `type` (url), `event` (string, such as Purchase), and `url` (string). Empty when none were added, including when they already exist.
is_setup_via_aiYesWhether the site was set up through an AI assistant.
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. Changed11 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"
      -]
    • 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"
      -]
  2. Changed12 schema fields changed
    • removedInput schema / properties / ad_platforms
      Removed value: -{
      -  "description": "Meta and TikTok to connect, in that order. At least one of meta or tiktok. An empty list is refused. Replaces the saved list",
      -  "items": {
      -    "type": "string"
      -  },
      -  "type": "array"
      -}
    • changedInput schema / properties / currency / description
      Previous value: -"3-letter currency code, such as USD"New value: +"ISO 4217 currency for event values, such as EUR. Same requirement as domain."
    • addedInput schema / properties / currency / maxLength
      Added value: +3
    • changedInput schema / properties / domain / description
      Previous value: -"Website address, such as example.com"New value: +"Website domain, such as example.com. Required except on platforms with a PixelFlow plugin, such as WordPress, where it can be added later with update_site."
    • changedInput schema / properties / is_webflow_ecommerce / description
      Previous value: -"True when this Webflow site uses Webflow eCommerce"New value: +"Whether the Webflow site uses Webflow eCommerce. When true and the site has a domain, PixelFlow adds the standard Webflow eCommerce triggers, returned in triggers_added."
    • changedInput schema / properties / is_woocommerce / description
      Previous value: -"True when this WordPress site uses WooCommerce"New value: +"Whether the WordPress site uses WooCommerce."
    • removedInput schema / properties / name
      Removed value: -{
      -  "description": "Label for this Site in the chat",
      -  "type": "string"
      -}
    • changedInput schema / properties / platform / description
      Previous value: -"Name from the platforms table, such as webflow, wordpress, squarespace, framer, lovable, or other"New value: +"Platform the site runs on, a name from list_supported_values's `platforms`, such as webflow or wordpress. other for custom code or a platform not in the list."
    • removedInput schema / properties / tenant
      Removed value: -{
      -  "description": "Account id from list_sites. Required when this login has more than one account",
      -  "type": "string"
      -}
    • addedInput schema / properties / workspace_id
      Added value: +{
      +  "description": "Workspace to add the site to, `workspace_id` from list_sites. Required only when the user belongs to more than one workspace.",
      +  "type": "integer"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "name",
      -  "platform"
      -]New value: +[
      +  "platform"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": false,
      +  "properties": {
      +    "currency": {
      +      "description": "ISO 4217 currency for event values.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "domain": {
      +      "description": "Website domain.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "external_id": {
      +      "description": "Public site id, as in list_sites.",
      +      "type": "string"
      +    },
      +    "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_setup_via_ai": {
      +      "description": "Whether the site was set up through an AI assistant.",
      +      "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"
      +    },
      +    "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"
      +      ]
      +    },
      +    "platform": {
      +      "description": "Platform the site runs on, such as webflow.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "site_id": {
      +      "description": "Site id.",
      +      "type": "integer"
      +    },
      +    "triggers_added": {
      +      "description": "Webflow eCommerce triggers this call added: `trigger_id` (integer), `type` (url), `event` (string, such as Purchase), and `url` (string). Empty when none were added, including when they already exist.",
      +      "items": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "event": {
      +            "type": "string"
      +          },
      +          "trigger_id": {
      +            "type": "integer"
      +          },
      +          "type": {
      +            "enum": [
      +              "url"
      +            ],
      +            "type": "string"
      +          },
      +          "url": {
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "trigger_id",
      +          "type",
      +          "event",
      +          "url"
      +        ],
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "workspace_id": {
      +      "description": "Workspace that owns the site.",
      +      "type": "integer"
      +    }
      +  },
      +  "required": [
      +    "site_id",
      +    "external_id",
      +    "workspace_id",
      +    "domain",
      +    "platform",
      +    "currency",
      +    "is_webflow_ecommerce",
      +    "is_woocommerce",
      +    "is_setup_via_ai",
      +    "is_old_pixel_removed",
      +    "is_meta_domain_approved",
      +    "is_utm_snippet_added",
      +    "is_consent_banner_configured",
      +    "triggers_added",
      +    "next_action"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already mark this as a non-destructive mutation (readOnlyHint=false, destructiveHint=false). The description adds real value by disclosing that over-limit or canceled-plan workspaces cause a no-op with an explanatory error, and that the result carries next_action. It stops short of addressing duplicate-creation behavior despite idempotentHint=false, which would have been a useful addition.

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

Conciseness4/5

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

Front-loads the core action and resource in the first sentence, then layers constraints and the routing rule. Four sentences, none wasted, though the next_action cross-reference to get_site_status is slightly expendable.

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

Completeness4/5

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

For a 6-parameter mutation with an output schema and annotations, the description covers purpose, error semantics, and sibling routing. Return values are deferred to the output schema as permitted; only duplicate-creation semantics are left unaddressed.

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 every parameter (including conditional domain/currency requirements and platform enum source) is already documented. The description adds no parameter-level detail beyond what the schema provides, so the baseline 3 is appropriate.

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

Purpose5/5

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

States a specific verb and resource ('Add a new website to a PixelFlow workspace') plus the return ('the saved site with its site_id'). It explicitly distinguishes itself from list_sites, so an agent can tell which one applies without opening either schema.

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

Usage Guidelines5/5

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

Gives a concrete selection rule: use it when the user wants to track a website that list_sites does not show, naming the sibling it is not for. It also states the failure conditions (site limit, canceled plan) that would block creation.

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.