Skip to main content
Glama
citesurf

Citesurf MCP

by citesurf

@citesurf/mcp

MCP server for Citesurf. AI visibility monitoring.

Check if ChatGPT, Claude, Perplexity, and Gemini recommend any brand. Get visibility scores, sentiment, competitor data, and actionable insights, all from your AI agent.

Install

npx -y @citesurf/mcp

Related MCP server: mcp-server-peecai

Requirements

  • A Citesurf account with an active Plus or Max subscription

  • An API key (create one in Dashboard > Settings)

  • Prepaid credits for scan operations

Setup

Add to your MCP client config:

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "citesurf": {
      "command": "npx",
      "args": ["-y", "@citesurf/mcp"],
      "env": {
        "CITESURF_API_KEY": "cs_live_..."
      }
    }
  }
}

Cursor

.cursor/mcp.json in your project or global settings

{
  "mcpServers": {
    "citesurf": {
      "command": "npx",
      "args": ["-y", "@citesurf/mcp"],
      "env": {
        "CITESURF_API_KEY": "cs_live_..."
      }
    }
  }
}

Claude Code

claude mcp add citesurf -e CITESURF_API_KEY=cs_live_... -- npx -y @citesurf/mcp

Environment Variables

Variable

Required

Description

CITESURF_API_KEY

Yes

Your API key from Dashboard > Settings

CITESURF_BASE_URL

No

API base URL (default: https://www.citesurf.com)

Tools

Brands

Tool

Description

Credits

list_brands

List all monitored brands with latest metrics

0

get_brand

Get detailed brand info: score, platforms, competitors

0

create_brand

Start monitoring a brand across all 4 AI platforms

0

update_brand

Update brand type, category, description, or prompts

0

delete_brand

Stop monitoring and archive a brand

0

Data

Tool

Description

Credits

list_scans

Paginated scan list for a brand

0

get_scan

Full scan detail with probes and citations

0

get_trends

Historical scan trends (7, 30, or 90 days)

0

get_prompts

AI platform probe results grouped by prompt

0

get_personas

Probe results grouped by persona

0

get_insights

AI generated recommendations for visibility

0

update_insight

Dismiss or complete an insight

0

get_site_audit

Technical audit (robots.txt, llms.txt, schema)

0

get_report

Comprehensive report with all data in one call

0

get_account

Plan, credit balance, brand count

0

Scans

Tool

Description

Credits

trigger_scan

Trigger new scan for existing brand

1

Each scan costs 1 credit and runs across all 4 platforms (ChatGPT, Claude, Gemini, Perplexity). Reading data never costs credits. Purchase credit packs in the Citesurf dashboard.

Example Usage

> List my monitored brands
> What are the top insights for brand xyz?
> How has my visibility score changed over the last 30 days?
> Show me the latest scan detail for my brand
> What do different personas see when asking about my brand?
> Run a comprehensive report on my brand
> Update my brand's description and monitoring prompts

License

MIT

Available Tools

16 tools
create_brandB

Start monitoring a brand for AI visibility across ChatGPT, Claude, Gemini, Perplexity

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesBrand name
websiteYesBrand website URL (e.g. https://example.com)
languageNoLanguage for prompts and analysisen

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'Start monitoring' which implies a write operation, but doesn't disclose behavioral traits like permissions needed, whether this creates a persistent resource, rate limits, or what happens if the brand already exists. The description is minimal on behavioral context.

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 a single, efficient sentence with zero waste. It's front-loaded with the core action and scope, making it highly concise and well-structured for quick understanding.

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

Completeness2/5

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

Given no annotations and no output schema, the description is incomplete for a tool that likely creates a resource. It doesn't explain what 'monitoring' entails, what the tool returns, or error conditions. For a write operation with 3 parameters, more context is needed to be fully helpful.

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%, so the schema fully documents parameters. The description adds no parameter-specific meaning beyond implying monitoring scope. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

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 the specific action ('Start monitoring') and resource ('a brand'), with explicit scope ('for AI visibility across ChatGPT, Claude, Gemini, Perplexity'). It distinguishes from siblings like 'get_brand' (read) and 'update_brand' (modify).

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 implies usage for initiating brand monitoring, but lacks explicit guidance on when to use this vs. alternatives like 'update_brand' or prerequisites. It doesn't specify if this is for new brands only or when monitoring should be started.

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

delete_brandA
Destructive

Stop monitoring a brand and archive its data

ParametersJSON Schema
NameRequiredDescriptionDefault
brandIdYesThe brand ID to archive

TDQS

A4/5.0
Behavior4/5

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

Annotations provide destructiveHint=true, indicating a destructive operation. The description adds value by specifying that it 'archives its data' (implying data retention rather than permanent deletion) and 'stop monitoring' (indicating ongoing activity cessation), which goes beyond the annotation's generic destructive hint. No contradiction with annotations.

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 a single, efficient sentence that front-loads the key action and outcome. There's no wasted wording, and it clearly communicates the tool's function without unnecessary elaboration.

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?

Given the tool's complexity (destructive operation with one parameter), annotations cover the destructive nature, and the description adds context about archiving and monitoring cessation. However, without an output schema, it doesn't detail return values (e.g., confirmation message), leaving a minor gap in completeness.

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%, with the parameter 'brandId' fully documented in the schema. The description doesn't add any parameter-specific details beyond what the schema provides, such as format or examples, so it meets the baseline for high schema coverage.

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 the action ('Stop monitoring and archive') and resource ('a brand'), making the purpose specific. It distinguishes from siblings like 'list_brands' (read-only) and 'update_brand' (modify), as this is a deletion/archival operation.

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 implies usage when monitoring should cease and data needs archiving, but it doesn't explicitly state when to use this versus alternatives like 'update_brand' for modifications or prerequisites. It provides basic context but lacks explicit exclusions or named alternatives.

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

get_accountB
Read-only

Get account info: plan, payment status, credit balance, brand count and limit

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, indicating this is a safe read operation. The description adds value by specifying the exact account details returned (plan, payment status, etc.), which helps the agent understand the scope of data. However, it doesn't disclose behavioral traits like rate limits, authentication needs, or response format, leaving gaps despite the annotation.

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 a single, efficient sentence that lists all key information returned. It's front-loaded with the verb 'Get' and immediately specifies the data points. There's no wasted text, making it highly concise and well-structured for quick understanding.

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

Completeness3/5

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

Given the tool has no parameters, annotations cover read-only safety, and no output schema exists, the description adequately explains what data is retrieved. However, it lacks details on the return format (e.g., JSON structure), error handling, or any limitations, which could be important for an agent to use it correctly in a broader context.

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?

The tool has 0 parameters, and the input schema has 100% description coverage (though empty). The description doesn't need to explain parameters, so it appropriately focuses on the output. Since there are no parameters to document, a baseline of 4 is justified as it avoids redundancy.

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 description clearly states what the tool does ('Get account info') and specifies the exact data returned (plan, payment status, credit balance, brand count and limit). It distinguishes itself from siblings like get_brand or get_insights by focusing on account-level information rather than brand or insight data. However, it doesn't explicitly contrast with all siblings, so it's not a perfect 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, timing, or comparisons with other tools like get_report or get_scan that might also provide account-related data. The agent must infer usage from the tool name and description alone.

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

get_brandB
Read-only

Get detailed brand info: visibility score, platform breakdown, competitors, sentiment

ParametersJSON Schema
NameRequiredDescriptionDefault
brandIdYesThe brand ID

TDQS

B3.3/5.0
Behavior3/5

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

The annotations declare readOnlyHint=true, indicating a safe read operation. The description adds value by specifying the types of detailed info returned (e.g., visibility score, sentiment), which isn't covered by annotations. However, it lacks behavioral details like rate limits, error handling, or data freshness, keeping it at a baseline level with some added context.

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 a single, efficient sentence that front-loads the core action ('Get detailed brand info') and lists key data points without unnecessary words. Every part earns its place by clarifying the scope of information returned.

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

Completeness3/5

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

Given the tool's low complexity (one parameter, read-only), no output schema, and rich annotations, the description is minimally adequate. It covers what data is returned but lacks details on format, pagination, or error cases, which could be helpful for an agent despite the annotations providing safety context.

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?

The input schema has 100% description coverage, with 'brandId' clearly documented. The description doesn't add any parameter-specific semantics beyond implying that 'brandId' is used to fetch the detailed info. This meets the baseline score since the schema handles the heavy lifting.

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 description clearly states the tool's purpose with a specific verb ('Get') and resource ('detailed brand info'), listing key data points like visibility score, platform breakdown, competitors, and sentiment. However, it doesn't explicitly differentiate from sibling tools like 'list_brands' (which likely returns a list) or 'get_account' (which might return account-level data), missing full sibling distinction.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a brand ID), exclusions, or comparisons to siblings like 'list_brands' for listing brands or 'get_insights' for broader insights, leaving usage context implied at best.

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

get_insightsB
Read-only

Get AI generated recommendations for improving brand visibility, prioritized by impact

ParametersJSON Schema
NameRequiredDescriptionDefault
brandIdYesThe brand ID
statusNoFilter by status
offsetNoPagination offset
pageSizeNoResults per page (max 50)

TDQS

B3.3/5.0
Behavior3/5

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

Annotations indicate readOnlyHint=true, which the description doesn't contradict (it uses 'Get', consistent with read-only). The description adds context about the output being 'AI generated recommendations' and 'prioritized by impact', which isn't covered by annotations. However, it lacks details on rate limits, authentication needs, or pagination behavior, leaving gaps in behavioral understanding.

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 a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part ('Get AI generated recommendations for improving brand visibility, prioritized by impact') contributes directly to understanding the tool's function, making it highly concise and well-structured.

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

Completeness3/5

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

Given the tool's moderate complexity (4 parameters, read-only operation) and rich schema coverage (100%), the description is minimally adequate. It explains what the tool returns but lacks output schema details (e.g., format of recommendations). With annotations covering safety, it meets basic needs but doesn't fully compensate for missing behavioral context like pagination or error handling.

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%, providing clear documentation for all parameters (brandId, status, offset, pageSize). The description doesn't add any parameter-specific semantics beyond what's in the schema, such as explaining how 'status' affects recommendations or default pagination behavior. Baseline score of 3 is appropriate since the schema handles most of the parameter documentation.

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 description clearly states the tool's purpose: 'Get AI generated recommendations for improving brand visibility, prioritized by impact.' It specifies the verb ('Get'), resource ('AI generated recommendations'), and scope ('improving brand visibility, prioritized by impact'). However, it doesn't explicitly differentiate from sibling tools like 'get_report' or 'get_trends' that might also provide insights, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a brand ID), exclusions, or comparisons to siblings like 'get_report' or 'get_trends'. The agent must infer usage from the tool name and parameters alone.

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

get_personasA
Read-only

Get AI platform probe results grouped by persona (how different user types discover the brand)

ParametersJSON Schema
NameRequiredDescriptionDefault
brandIdYesThe brand ID
offsetNoPagination offset
pageSizeNoResults per page (max 50)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations provide readOnlyHint=true, indicating a safe read operation. The description adds context about grouping by persona and the nature of the data (AI platform probe results), but doesn't disclose behavioral traits like pagination details, rate limits, or auth requirements beyond what annotations cover.

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 a single, efficient sentence that front-loads the core purpose without unnecessary details. Every word contributes to understanding the tool's function, making it highly concise and well-structured.

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?

Given the tool's moderate complexity (3 parameters, read-only operation) and lack of output schema, the description is reasonably complete. It covers the purpose and data context, but could improve by mentioning pagination behavior or result format to fully compensate for the missing output schema.

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%, with clear documentation for brandId, offset, and pageSize parameters. The description doesn't add meaning beyond the schema, such as explaining what persona grouping entails or parameter interactions, so it meets the baseline for high schema coverage.

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 description clearly states the tool's purpose: 'Get AI platform probe results grouped by persona' specifies the action (get), resource (probe results), and grouping dimension (persona). It distinguishes from siblings like get_insights or get_report by focusing on persona-based grouping, though it doesn't explicitly name alternatives.

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 implies usage for analyzing how different user types discover a brand, suggesting context for brand analysis. However, it lacks explicit guidance on when to use this tool versus alternatives like get_insights or get_report, and doesn't mention prerequisites or exclusions.

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

get_promptsA
Read-only

Get AI platform probe results grouped by prompt (what each AI said about the brand)

ParametersJSON Schema
NameRequiredDescriptionDefault
brandIdYesThe brand ID
platformNoFilter by platform
offsetNoPagination offset
pageSizeNoResults per page (max 100)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, which the description aligns with by using 'Get' (non-destructive). The description adds context about grouping by prompt and what each AI said, but doesn't disclose rate limits, auth needs, or pagination behavior beyond what the schema covers.

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 a single, efficient sentence that front-loads the core purpose. Every word earns its place, with no redundancy or wasted phrasing.

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 read-only tool with full schema coverage and no output schema, the description is reasonably complete. It clarifies the grouping and content focus, though it could better explain the return structure or error cases given the lack of output schema.

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%, so parameters are well-documented in the schema. The description mentions 'brand' and 'platform' implicitly but adds no additional meaning beyond the schema. Baseline 3 is appropriate as the schema carries the burden.

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 description clearly states the action ('Get AI platform probe results') and resource ('grouped by prompt'), specifying what each AI said about the brand. It distinguishes from siblings like get_insights or get_report by focusing on prompt-level results, though it doesn't explicitly name alternatives.

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 implies usage for retrieving probe results by prompt, but provides no explicit guidance on when to use this tool versus alternatives like get_insights or get_report. No prerequisites, exclusions, or comparison to siblings are mentioned.

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

get_reportB
Read-only

Get comprehensive AI visibility report: scores, platform performance, prompts, sentiment, competitors, cited domains, trends, site audit, and insights in one call

ParametersJSON Schema
NameRequiredDescriptionDefault
brandIdYesThe brand ID

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds useful context by specifying it's a 'comprehensive' report covering multiple data types in 'one call', which helps the agent understand the scope and efficiency. However, it doesn't disclose behavioral traits like rate limits, response format, or potential data freshness issues.

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 description is a single, efficient sentence that front-loads the key action ('Get comprehensive AI visibility report') and lists included data points. It could be slightly more structured by separating the action from the data list, but it's appropriately sized with no wasted words.

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

Completeness3/5

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

Given the tool has readOnlyHint annotation but no output schema, the description adequately covers the purpose and scope. However, for a 'comprehensive' report tool with 1 parameter and no output schema, it could benefit from more detail on the response structure or data limitations to fully guide the agent.

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%, with the single parameter 'brandId' documented in the schema. The description doesn't add any parameter-specific information beyond what's in the schema, such as explaining what a brand ID represents or how to obtain it. Baseline 3 is appropriate when the schema handles parameter documentation.

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 description clearly states the verb 'Get' and resource 'comprehensive AI visibility report', specifying what data is included (scores, platform performance, etc.). It distinguishes itself by being 'comprehensive' and 'in one call', but doesn't explicitly differentiate from specific sibling tools like get_insights or get_trends that might provide subsets of this data.

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 implies usage when a comprehensive report is needed ('in one call'), suggesting it might be preferable to calling multiple sibling tools individually. However, it doesn't explicitly state when to use this tool versus alternatives like get_insights or get_trends, nor does it mention prerequisites or exclusions.

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

get_scanA
Read-only

Get full scan detail with probes, results per platform, citations, and site audit

ParametersJSON Schema
NameRequiredDescriptionDefault
brandIdYesThe brand ID
scanIdYesThe scan ID

TDQS

A4/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=true, and the description does not contradict this. The description adds value beyond annotations by specifying the scope of details returned (probes, results per platform, citations, site audit), which helps the agent understand the richness of the output. However, it does not mention potential behavioral traits like rate limits or authentication needs.

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 a single, efficient sentence that front-loads the key action ('Get full scan detail') and lists the included components without unnecessary words. Every part of the sentence contributes directly to understanding the tool's purpose and scope.

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?

Given the tool's complexity (a read operation with two required parameters) and the presence of annotations (readOnlyHint) but no output schema, the description is mostly complete. It specifies what details are returned, which compensates for the lack of output schema. However, it could improve by mentioning the response format or any limitations.

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%, so the schema already documents both parameters (brandId and scanId) adequately. The description does not add any parameter-specific information beyond what the schema provides, such as format examples or constraints, which aligns with the baseline score for high schema coverage.

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 the tool's purpose with specific details: 'Get full scan detail' indicates the verb and resource, and it enumerates the components included (probes, results per platform, citations, site audit). It distinguishes from siblings like 'list_scans' (which likely lists scans without details) and 'get_report' (which might be a different type of report).

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 implies usage when detailed scan information is needed, but it does not explicitly state when to use this tool versus alternatives like 'get_report' or 'get_site_audit'. It provides context by listing what details are included, but lacks explicit guidance on prerequisites or exclusions.

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

get_site_auditB
Read-only

Get technical audit results: robots.txt AI crawler access, llms.txt, schema.org, sitemap, Open Graph

ParametersJSON Schema
NameRequiredDescriptionDefault
brandIdYesThe brand ID

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the agent knows this is a safe read operation. The description adds useful context about what specific technical areas are audited, which goes beyond the annotations. However, it doesn't disclose behavioral traits like rate limits, authentication requirements, or response format details that would be helpful for a tool with no output schema.

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 extremely concise - a single sentence listing exactly what the tool retrieves. Every word earns its place by specifying the technical audit areas. There's no wasted verbiage, repetition, or unnecessary elaboration.

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

Completeness3/5

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

For a simple read operation with one parameter and readOnlyHint annotation, the description is minimally adequate. However, with no output schema, the description doesn't explain what format the audit results will be returned in (structured data, report, scores, etc.). Given the technical nature of the audit areas listed, more context about the return format would be helpful.

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%, so the schema already fully documents the single 'brandId' parameter. The description doesn't add any parameter-specific information beyond what's in the schema (no format hints, examples, or constraints). With complete schema coverage, the baseline score of 3 is appropriate.

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 description clearly states the tool's purpose: 'Get technical audit results' with specific technical areas listed (robots.txt, llms.txt, schema.org, sitemap, Open Graph). It uses a specific verb ('Get') and identifies the resource ('technical audit results'), but doesn't explicitly differentiate from sibling tools like 'get_scan' or 'get_report' which might have overlapping domains.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (like needing a brandId), when-not-to-use scenarios, or how it differs from sibling tools like 'get_scan' or 'get_report' that might also retrieve technical data. Usage is implied but not explicitly stated.

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

list_brandsA
Read-only

List all monitored brands with latest AI visibility metrics

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Annotations provide readOnlyHint=true, indicating a safe read operation. The description adds value by specifying that it returns 'latest AI visibility metrics', which isn't covered by annotations. It doesn't mention pagination, rate limits, or auth needs, but with annotations covering safety, this is acceptable.

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 a single, efficient sentence that front-loads the core purpose ('List all monitored brands') and adds a useful qualifier ('with latest AI visibility metrics'). Zero waste, appropriately sized for a simple tool.

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 read-only tool with 0 parameters and no output schema, the description is mostly complete. It specifies what's returned (brands with metrics), but doesn't detail the response format or structure. Given the simplicity, this is adequate but not exhaustive.

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?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param info, but that's fine since there are none. Baseline is 4 for 0 parameters, as it avoids unnecessary details.

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 the verb ('List') and resource ('all monitored brands'), and specifies the scope ('with latest AI visibility metrics'). It distinguishes from siblings like 'get_brand' (singular) and 'create_brand' (write operation).

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 implies usage for retrieving all brands with metrics, but doesn't explicitly state when to use this vs. alternatives like 'get_brand' (for a specific brand) or 'list_scans' (for different resources). No guidance on prerequisites or exclusions is provided.

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

list_scansA
Read-only

List scans for a brand with pagination (visibility score, mention rate, platform scores per scan)

ParametersJSON Schema
NameRequiredDescriptionDefault
brandIdYesThe brand ID
offsetNoPagination offset
pageSizeNoResults per page (max 100)

TDQS

A3.5/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, indicating a safe read operation. The description adds context about pagination and the types of metrics returned (visibility score, mention rate, platform scores), which goes beyond annotations. However, it doesn't disclose rate limits, authentication needs, or detailed behavioral traits like error conditions.

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 a single, efficient sentence that front-loads the core purpose ('List scans for a brand') and adds key details (pagination, metrics) without unnecessary words. Every part earns its place by providing essential context.

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

Completeness3/5

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

For a read-only tool with full schema coverage but no output schema, the description adequately covers the action and basic behavior. However, it lacks details on output format (e.g., structure of returned scans), error handling, or how the metrics are calculated, leaving gaps in completeness for an agent invoking the tool.

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%, with clear descriptions for brandId, offset, and pageSize. The description mentions pagination and metrics but doesn't add significant semantic details beyond what the schema provides, such as explaining how brandId relates to scans or the meaning of the metrics listed.

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 description clearly states the action ('List scans') and resource ('for a brand'), specifying it includes pagination and metrics like visibility score, mention rate, and platform scores. It distinguishes from siblings like 'get_scan' (singular) and 'trigger_scan' (action), but doesn't explicitly differentiate from other list operations like 'list_brands'.

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 implies usage for retrieving multiple scans with pagination and metrics, but doesn't explicitly state when to use this vs. alternatives like 'get_scan' (for a single scan) or 'get_insights' (for insights data). No guidance on prerequisites or exclusions is provided.

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

trigger_scanA

Trigger a new scan for an existing monitored brand (costs 1 credit, covers all 4 AI platforms). Returns credits used and remaining balance.

ParametersJSON Schema
NameRequiredDescriptionDefault
brandIdYesThe brand ID

TDQS

A4.2/5.0
Behavior4/5

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

Annotations only provide idempotentHint=false, indicating non-idempotent behavior. The description adds valuable context beyond this: it discloses the cost ('costs 1 credit'), scope ('covers all 4 AI platforms'), and return information ('Returns credits used and remaining balance'), which are not covered by annotations and are crucial for usage decisions.

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 a single, well-structured sentence that efficiently conveys purpose, cost, scope, and return value without any wasted words. It is front-loaded with the core action and resource, making it highly concise and effective.

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?

Given the tool's complexity (a non-idempotent, credit-costing operation) and lack of output schema, the description does well by explaining cost, scope, and return details. However, it could be more complete by mentioning potential side effects (e.g., scan initiation time, impact on existing scans) or error conditions, though annotations cover idempotency.

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?

The input schema has 100% description coverage, with the single parameter 'brandId' documented as 'The brand ID'. The description does not add any meaning beyond this (e.g., format, examples, or where to find it), so it meets the baseline of 3 where the schema handles parameter documentation adequately.

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 the specific action ('Trigger a new scan') on a specific resource ('existing monitored brand'), distinguishing it from siblings like 'get_scan' (which retrieves scan data) and 'list_scans' (which lists scans). It specifies the scope ('covers all 4 AI platforms'), making the purpose explicit and differentiated.

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?

The description provides clear context for when to use this tool: for initiating a new scan on an existing brand, with an implicit prerequisite that the brand must already be monitored. However, it does not explicitly state when not to use it (e.g., vs. 'get_scan' for retrieving results) or name alternatives, though the sibling list suggests clear distinctions.

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

update_brandA
Idempotent

Update brand metadata: type, category, description, or monitoring prompts. All fields optional, only pass what you want to change.

ParametersJSON Schema
NameRequiredDescriptionDefault
brandIdYesThe brand ID to update
typeNoBrand classification
categoryNoBusiness category (e.g. 'AI Resume Builder')
descriptionNoBrand description (2 to 3 sentences)
promptsNoExactly 3 search prompts to monitor

TDQS

A3.5/5.0
Behavior3/5

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

Annotations provide idempotentHint=true, indicating safe retries. The description adds that fields are optional and partial updates are supported, which is useful behavioral context beyond annotations. However, it doesn't cover other aspects like permissions, rate limits, or error handling.

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 a single, efficient sentence that front-loads the purpose and key usage note. Every word earns its place with no redundancy or fluff, making it easy to parse quickly.

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

Completeness3/5

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

For an update tool with idempotent annotations and full schema coverage, the description is adequate but minimal. It lacks output details (no output schema provided) and doesn't address potential side effects or dependencies, leaving some gaps in context.

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%, so parameters are well-documented in the schema. The description adds that 'All fields optional, only pass what you want to change', clarifying partial update semantics, but doesn't provide additional meaning beyond the schema's detailed descriptions.

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 description clearly states the verb ('Update') and resource ('brand metadata'), specifying which fields can be updated (type, category, description, prompts). However, it doesn't explicitly differentiate from sibling tools like 'create_brand' or 'update_insight', though the focus on updating existing brands is implied.

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 implies usage for modifying existing brand metadata, with 'All fields optional, only pass what you want to change' suggesting partial updates. No explicit guidance on when to use this vs. alternatives like 'create_brand' or 'update_insight' is provided, leaving it to context.

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

update_insightA
Destructive

Dismiss or complete an insight. Dismiss deletes it, complete validates improvement with before and after metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
brandIdYesThe brand ID
insightIdYesThe insight ID
actionYesAction: dismiss (delete) or complete (validate improvement)

TDQS

A4/5.0
Behavior4/5

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

The description adds valuable context beyond the destructiveHint annotation: it clarifies that 'dismiss deletes it' and 'complete validates improvement with before and after metrics.' This explains what each action does, which isn't covered by the annotation alone. No contradiction with annotations.

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 extremely concise and front-loaded, consisting of two sentences that directly explain the tool's functionality with zero wasted words. Every sentence earns its place by clarifying the two actions.

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?

Given the destructiveHint annotation and clear parameter schema, the description is reasonably complete for a mutation tool. It explains the two actions well, though it doesn't cover potential side effects, permissions, or response format (no output schema exists).

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?

With 100% schema description coverage, the schema already documents all parameters (brandId, insightId, action). The description adds some meaning by explaining the semantics of the action enum values, but doesn't provide additional details beyond what the schema offers.

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 the tool's purpose with specific verbs ('dismiss' and 'complete') and resource ('insight'), distinguishing it from siblings like get_insights (read-only) and other update operations. It explains the two distinct actions available.

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 implies usage scenarios (dismissing vs. completing insights) but doesn't explicitly state when to use this tool versus alternatives like get_insights for viewing insights. No prerequisites, exclusions, or comparisons to sibling tools are provided.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 16 tool updatesv1.0.0
    • First observedcreate_brand
    • First observeddelete_brand
    • First observedget_account
    • First observedget_brand
    • First observedget_insights
    • First observedget_personas
    • First observedget_prompts
    • First observedget_report
    • First observedget_scan
    • First observedget_site_audit
    • First observedget_trends
    • First observedlist_brands
    • First observedlist_scans
    • First observedtrigger_scan
    • First observedupdate_brand
    • First observedupdate_insight

TDQS

A3.8/5.0

Scored across 16 tools

Disambiguation4/5

Most tools have distinct purposes with clear boundaries, such as create_brand vs. delete_brand or get_brand vs. get_insights. However, some overlap exists between get_report, get_scan, and get_trends, as they all provide detailed analytics that could be confused without careful reading of descriptions.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout, such as create_brand, get_account, list_brands, and update_brand. There are no deviations in naming conventions, making the set predictable and easy to navigate.

Tool Count4/5

With 16 tools, the count is slightly high but reasonable for the domain of brand monitoring and AI visibility analysis. It covers core operations like CRUD for brands, scanning, and reporting, though it may feel a bit heavy compared to a more streamlined set.

Completeness5/5

The tool set provides comprehensive coverage for brand monitoring, including full CRUD for brands (create, get, update, delete, list), scanning and reporting capabilities, account management, and insights handling. No obvious gaps are present, supporting complete workflows from setup to analysis.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Track how your brand appears in AI-generated answers across ChatGPT, Perplexity, and other AI models. Analyze visibility, sentiment, citations, and domain rankings with 31 tools — including analytics reports, chat inspection, query analysis, and full CRUD for brands, prompts, tags, and topics.
    17
    73 npm
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to run brand-visibility audits by querying multiple AI engines, generating competitive leaderboards, and identifying growth opportunities. Integrates with any MCP-capable client to measure and act on brand discoverability in AI recommendations.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to monitor and analyze a brand's visibility across ChatGPT, Claude, Perplexity, and Google AI Overviews, providing insights, recommendations, and competitive analysis without switching tabs.
    25
    15 npm
    1
    MIT