Skip to main content
Glama

cromanion_site_status

Read-only

Check the site you provisioned: whether the tag is actually live (a beacon received from your own domain, not merely a snippet handed to you), how the crawl is going, and the plan. Poll this after installing the snippet. Requires the claim secret as a bearer token.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
siteIdNoWhich site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
siteYes
crawlNoProgress of the site read. While `status` is pending or running it carries `advanceUrl` — POST it between polls to advance the queue yourself.
accountNoPlan and billing state, or null if it cannot be read.
installYes
consoleUrlNoWhere your human signs in to see all of this.
humanNextStepNoWhat is waiting on your human, in words you can repeat to them. Null when nothing is.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • addedInput schema / properties / siteId
      Added value: +{
      +  "description": "Which site this call is about. Only needed when your credential covers more than one — cromanion_grants lists them and says whether it is required. Omitting it with several is refused rather than guessed at.",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "account": {
      +      "description": "Plan and billing state, or null if it cannot be read.",
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "consoleUrl": {
      +      "description": "Where your human signs in to see all of this.",
      +      "type": "string"
      +    },
      +    "crawl": {
      +      "description": "Progress of the site read. While `status` is pending or running it carries `advanceUrl` — POST it between polls to advance the queue yourself.",
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "humanNextStep": {
      +      "description": "What is waiting on your human, in words you can repeat to them. Null when nothing is.",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "install": {
      +      "properties": {
      +        "docs": {
      +          "type": "string"
      +        },
      +        "lastBeaconAt": {
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "lastBeaconOrigin": {
      +          "description": "The host we actually heard from. When verified is false this is usually the whole answer: a staging domain, or a www the site does not serve.",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "publicKey": {
      +          "type": "string"
      +        },
      +        "snippet": {
      +          "type": "string"
      +        },
      +        "verified": {
      +          "description": "A beacon arrived AND it came from this site's own domain. Both, or false — this is the field to poll.",
      +          "type": "boolean"
      +        }
      +      },
      +      "required": [
      +        "publicKey",
      +        "snippet",
      +        "verified"
      +      ],
      +      "type": "object"
      +    },
      +    "ok": {
      +      "type": "boolean"
      +    },
      +    "site": {
      +      "properties": {
      +        "createdAt": {
      +          "type": "string"
      +        },
      +        "domain": {
      +          "type": "string"
      +        },
      +        "id": {
      +          "type": "string"
      +        },
      +        "mode": {
      +          "enum": [
      +            "learn",
      +            "act"
      +          ],
      +          "type": "string"
      +        },
      +        "onboardingStep": {
      +          "type": "string"
      +        }
      +      },
      +      "required": [
      +        "id",
      +        "domain",
      +        "mode"
      +      ],
      +      "type": "object"
      +    }
      +  },
      +  "required": [
      +    "ok",
      +    "site",
      +    "install"
      +  ],
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already mark this as read-only, and the description adds meaningful behavior: the tag must be a beacon received from the caller's own domain, the call reports crawl progress and plan, and it requires the claim secret as a bearer token. This goes beyond what annotations and schema alone provide.

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

Conciseness5/5

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

The description is three sentences with no filler, front-loading the core purpose and then giving timing and authentication requirements. Every sentence earns its place.

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

Completeness5/5

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

With an output schema present, a fully documented optional parameter, and annotations covering read-only behavior, the description supplies the remaining context: when to poll, what the verification means, and the auth requirement. Nothing essential is missing for an agent to select and invoke this tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, and the single optional parameter siteId is already well documented, including when it is required and that omitting it with multiple credentials is refused. The tool description adds no extra parameter meaning, so the baseline of 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?

The description clearly states a specific verb and resource: check the site you provisioned, covering tag liveness, crawl progress, and the plan. It also distinguishes itself from related tools by defining the tag-liveness check as a beacon from your own domain rather than a handed-over snippet.

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

Usage Guidelines4/5

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

It gives an explicit usage cue: 'Poll this after installing the snippet,' which tells the agent when the call applies. It does not name alternative sibling tools or state when not to use it, but the timing and prerequisite are clearly conveyed.

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.

TDQS

A4/5.0
Disambiguation5/5

Each tool maps to a distinct resource or action—state reads (config, pending, grants, site_status), mutations (set_*, add_goal, decide), and lifecycle steps (open_claim, verify_claim, claim_domain) are clearly separated by detailed descriptions. Even similar-sounding tools like install_check vs site_status are explicitly differentiated.

Naming Consistency3/5

All tools share the cromanion_ prefix and snake_case, but the action-object pattern is inconsistent: many are verb_noun (set_mode, verify_claim), while others are bare nouns or verbs (config, pending, crawl, decide, surfaces). This mixed convention is readable but not predictable.

Tool Count3/5

24 tools is at the high end; the server covers a broad domain and each tool has a distinct job, but the set feels heavy with many narrow configuration endpoints (set_brand, set_voice, surfaces, exclusions). It is not bloated enough to be chaotic, but it is borderline.

Completeness4/5

The surface covers the full lifecycle from claim/verify/install through goal definition, rules, decisions, measurement, and lead delivery. Minor gaps exist—no account/site deletion, no broader integration management—but agents can accomplish core workflows without dead ends.

Resources