Skip to main content
Glama

Client-ready website report (white-label)

client_report
Read-onlyIdempotent

A website check written for a non-technical owner and ready to send under your brand: verdict, headline, summary, what works, fixes ranked by business risk with why each matters, plus finished HTML and Markdown. Use when an agency, freelancer or platform needs a report to hand to a client about the client's website, or when a non-technical owner asks 'is my site OK?'. Runs the launch scan (keys leaked in JavaScript, public .env/.git, HTTPS and security headers, Google and link-preview basics, SPF/DMARC/DKIM, domain expiry, AI readiness), then writes plain-English findings in any language. Pass url, optional client_name, language and brand {name, website, logo, color}; a partner account's saved brand is used when brand is left out, brand=false removes all branding. Returns verdict (good, needs_work, at_risk), headline, summary, strengths[], fixes[] {id, area, title, why, priority urgent/soon/later, effort, fixPrompt}, nextStep, score, grade, counts, writtenBy, scan (the raw launch scan; include_scan=false drops it), html (a complete self-contained page to email or host) and markdown. Every fact comes from the scan; the writing step never adds findings. Not charged when the site can't be reached. For the raw checks only, use launch_scan. Price: $0.10 per call from Exepal credit; not charged if the call fails.

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": {
      "url": "<url>"
    },
    "name": "client_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlYesThe client's live site, e.g. https://client-site.com (a bare domain works too)
brandNoOptional: your brand on the report. {name, website?, logo? (https image URL), color? (#hex)} or just a name. Left out: the brand saved on your partner account (exepal.com/account#partner). false: no branding at all.
languageNoOptional: language of the report, e.g. English (default), Spanish, Hindi, Nepali
client_nameNoOptional: the client's business name, shown on the report
include_scanNoDefault true. false leaves out the raw scan to keep the response small.

Output Schema

NameRequiredDescriptionDefault
urlNo
htmlNoComplete self-contained HTML page, ready to email, print or host
scanNoThe raw launch scan (left out when include_scan=false)
brandNoBrand on the report; null when unbranded
fixesNoMost important first
gradeNoA-F
scoreNo0-100
clientNoClient name shown on the report
countsNo
domainNo
summaryNoTwo or three plain-English sentences
verdictNogood, needs_work or at_risk
headlineNoOne sentence for the owner
languageNo
markdownNo
nextStepNo
strengthsNoWhat already works
writtenByNoThe model that wrote the plain-English layer, or rules
generatedAtNoISO 8601

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the read-only, non-destructive, idempotent, open-world profile, but the description adds genuinely non-derivable behavior: pricing ($0.10 per call from Exepal credit), the no-charge cases (site unreachable, call fails), and a provenance guarantee ('Every fact comes from the scan; the writing step never adds findings'). The only thing left unstated is roughly how long a full launch scan plus writing takes to return, which keeps it below a 5.

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 audience are correctly front-loaded, but the body is one dense paragraph that packs scan contents, return fields, pricing, and brand rules into a single breath. The long enumeration of return fields (verdict, headline, strengths[], fixes[] with seven sub-fields, nextStep, score, grade, counts, writtenBy, scan, html, markdown) duplicates what the output schema already declares, so several clauses do not earn their 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?

For a paid, open-world scan-and-write tool this covers everything an agent needs: required input, branding defaults, language, response shape, cost and refund condition, and the sibling to use for raw data. Because an output schema exists, the return-value enumeration is surplus rather than necessary, so completeness is not compromised by any omission.

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 parameter docs already explain brand resolution, the false sentinel, language, client_name, and include_scan. The description restates those same facts (saved partner brand when brand is omitted, brand=false strips branding, include_scan=false drops the scan) rather than adding syntax, constraints, or edge cases beyond them, so the baseline 3 applies.

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

Purpose5/5

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

The description opens with a concrete noun phrase naming the deliverable ('A website check written for a non-technical owner and ready to send under your brand') and immediately enumerates its parts (verdict, headline, summary, what works, ranked fixes, HTML and Markdown). It also explicitly separates itself from the sibling by saying 'For the raw checks only, use launch_scan,' so an agent can choose between the two without opening a 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?

It names the exact callers (agency, freelancer, platform) and the exact triggering situation ('a non-technical owner asks is my site OK?'), and it supplies an explicit alternative for the raw-checks case. It also documents the substitute path for branding defaults, which is a usage decision an agent must make before calling.

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.

Resources