Skip to main content
Glama

Add a website

add_website
Destructive

Register a website with the organization without running an audit (run_audit registers automatically, so this is only needed to set a site up ahead of time). Returns the website_id. Calling it again for the same domain returns the existing website, and a kind or scope passed again replaces the stored one. Pass kind to classify it as owned or prospect up front. On a plan with scheduled audits, a NEW site's recurring audits switch on by themselves after its first successful audit, and each of those runs costs credits: tell the user before calling this; update_website_settings with schedule "off" turns them off. The result's scheduled_audits field reports what was set.

Input Schema

NameRequiredDescriptionDefault
urlYesWebsite URL to register, e.g. https://example.com (scheme optional).
kindNoClassify the site: 'owned' for something the user runs and monitors, 'prospect' for a lead or competitor. Filterable in list_websites. Unclassified sites read as 'owned', so only an explicit 'prospect' makes a site show up in a prospect cleanup. Re-calling with a different value reclassifies it.
scopeNoThe website's stored crawl scope, used by every later audit of it. 'discover' follows links; 'sitemap' audits only the URLs the sitemap publishes. Omit to leave an existing site's setting unchanged (a new site starts on 'discover'). Re-calling with a different value updates it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +{}
    • addedInput schema / properties / scope
      Added value: +{
      +  "description": "The website's stored crawl scope, used by every later audit of it. 'discover' follows links; 'sitemap' audits only the URLs the sitemap publishes. Omit to leave an existing site's setting unchanged (a new site starts on 'discover'). Re-calling with a different value updates it.",
      +  "enum": [
      +    "discover",
      +    "sitemap"
      +  ],
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • removedInput schema / additionalProperties
      Removed value: -false
  3. Changed1 schema field changed
    • addedInput schema / properties / kind
      Added value: +{
      +  "description": "Classify the site: 'owned' for something the user runs and monitors, 'prospect' for a lead or competitor. Filterable in list_websites. Unclassified sites read as 'owned', so only an explicit 'prospect' makes a site show up in a prospect cleanup. Re-calling with a different value reclassifies it.",
      +  "enum": [
      +    "owned",
      +    "prospect"
      +  ],
      +  "type": "string"
      +}
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Discloses key behaviors beyond the annotations: idempotent re-calls return the existing website, re-passing kind or scope replaces stored values, a new site's recurring audits switch on after the first successful audit, and each run costs credits. It even instructs the agent to warn the user before calling, which annotations (readOnly=false, destructive=true, openWorld=false) cannot 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?

The core purpose and the run_audit distinction are front-loaded, and the sentences are information-dense. It is longer than typical, though almost every clause carries operational weight; the closing line about the scheduled_audits field is the most expendable.

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 no output schema, the description still reports the return value (website_id) and the relevant result field (scheduled_audits). Combined with the credit-cost warning, idempotency note, and sibling routing, an agent has everything needed to call it 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 coverage is 100% and the enum parameters already carry detailed descriptions, so the baseline applies. The description reinforces the replacement-on-re-call semantics and the meaning of kind, but adds little syntax or format detail beyond what the schema already states.

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+resource: 'Register a website with the organization without running an audit', and immediately distinguishes it from run_audit, which registers automatically. An agent can tell exactly what this does and how it differs from the primary sibling.

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?

Explicitly says this is only needed to set a site up ahead of time, since run_audit registers automatically. It also names update_website_settings with schedule 'off' as the way to turn off recurring audits, and tells the agent to pass kind up front. When-to-use, when-not, and the alternative are all stated.

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.