Skip to main content
Glama
competlab

competlab-mcp-server

by competlab

get_tech_trust_dashboard

Read-only

Build a competitor tech and trust profile covering security header grades, trust signals, technology stack, AI crawler access, and DNS infrastructure.

Instructions

Latest Tech & Trust Profile for every competitor: security headers (grade A-F), trust signals, technology stack, AI access, DNS infrastructure. In compact view what each AI crawler is (purpose, whether it honours robots.txt, evidence) is stated once in crawlerCatalog, keyed by token, and each decidedByCrawlers item keeps the token and the rule that decided it on that site. view=full repeats it on every crawler. An explanation carrying only a code renders explanationCatalog[code] verbatim. Compact runs about 5,000 characters per competitor.

  • null means we could not measure it, never zero, false or 'they don't have it'; a measured 0 or false is a real finding. Check the "…Available" marker that belongs to the field you quote.

  • AI ACCESS: read aiAccess.measurement.status first. could_not_measure: the verdict lists are ABSENT; say nothing either way. Render every explanations sentence VERBATIM, never your own claim.

  • Answer access and training access are separate facts. Blocking a training crawler costs no assistant visibility and is never a problem, EXCEPT where the same userAgentToken also appears under assistantAccess[].decidedByCrawlers (Google-Extended is the documented case): report that one.

  • Trust signals are 26 things we look for on a HOMEPAGE. A 0 means the homepage does not display those signals, never 'not credentialed' or 'not compliant'. socialProof here and on the trust-signals scan are different sets of five: never compare the two.

  • summary.trustComparisonState says how to read summary.trustSignalGap; quote summary.comparableCompetitors with it. The tracked list is the customer's choice, never a market: never 'the only vendor', 'unique in the market', 'market leader'.

  • technologyStack.partialDetection: the listed technologies are real, but hosting and CDN went undetected and totalCount is a floor. Never compare its count, never report an absence. Field rules not listed here arrive in readingGuide, the first field of every response.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
viewNocompact or full; omit for the server's default view. compact pages the long lists and keeps the customer's own row on every page. full returns every row in one response: up to about 200,000 characters on AI Visibility and 450,000 on AI Sources. Paging parameters with view=full are refused (paging_requires_compact_view).
projectIdYesProject ID (from list_projects)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv4.0.1
    • removedInput schema / additionalProperties
      Removed value: -false
    • addedInput schema / properties / view
      Added value: +{
      +  "description": "compact or full; omit for the server's default view. compact pages the long lists and keeps the customer's own row on every page. full returns every row in one response: up to about 200,000 characters on AI Visibility and 450,000 on AI Sources. Paging parameters with view=full are refused (paging_requires_compact_view).",
      +  "enum": [
      +    "compact",
      +    "full"
      +  ],
      +  "type": "string"
      +}
  2. First observedv1.0.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only declare readOnlyHint and openWorldHint=false; the description adds substantial context they cannot: null vs measured-zero semantics, the readingGuide field, aiAccess.measurement.status behavior, verbatim explanation rendering, and compact response size (~5,000 chars/competitor). It does not discuss auth, error modes, or rate limits, keeping it short of 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.

Conciseness4/5

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

Purpose is front-loaded in the first sentence, followed by a scannable bullet list of interpretation rules, and it explicitly defers remaining field rules to readingGuide rather than enumerating them all. It is long and dense, but nearly every line carries non-obvious data-semantics information.

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 no output schema, the description carries the full burden of explaining returns, and it does so thoroughly: catalog structure, null semantics, per-field availability markers, AI access status, and the readingGuide escape hatch. The gap is the absence of explicit guidance on when this dashboard beats the sibling scans.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds real meaning beyond the schema: view=full repeats the crawler catalog on every crawler item, while compact keeps tokens with a single crawlerCatalog and pages long lists. This clarifies what the enum choice actually changes in the payload.

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

Purpose4/5

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

The opening sentence names a specific resource scope ('Latest Tech & Trust Profile for every competitor') and enumerates the domains covered: security headers, trust signals, technology stack, AI access, DNS. An agent can tell it returns a per-competitor dashboard rather than a single-domain scan. It does not, however, explicitly differentiate itself from siblings like get_tech_stack_scan or get_trust_signals_scan.

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

Usage Guidelines3/5

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

The description is dominated by interpretation rules (null semantics, AI access status, trust-signal caveats) rather than when-to-use guidance. It never says when to prefer this dashboard over get_tech_stack_scan or get_trust_signals_scan, nor states prerequisites beyond referencing list_projects in the schema. Usage is implied by the resource name, but tool-selection guidance is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.