ai-visibility-mcp
The AI Visibility MCP server tracks and analyzes brand visibility across ChatGPT, Perplexity, Claude, and Gemini, providing actionable insights into how AI platforms mention and describe your brand.
Check Brand Visibility — Analyze a brand's presence across all four AI platforms, including mention rates, positions, sentiment analysis, and competitor landscape using relevant industry keywords.
Check Single Query — Test a specific query on a specific platform to see if/how your brand is mentioned, with position, context snippet, sentiment, and competing brands.
Get Visibility Score — Generate an overall 0–100 visibility score with per-platform breakdowns and tier ratings (Very Low → Excellent).
Compare Brands — Side-by-side comparison of 2–10 brands, showing per-platform scores, rankings, and relative strengths.
Get Recommendations — Prioritized, actionable steps to improve AI visibility based on current score and industry best practices.
List Platforms — View details on all supported AI platforms, including how each sources and presents brand information.
Monitors brand visibility and performance within Google's Gemini AI, analyzing how the platform presents brand information sourced from the Google Knowledge Graph and Search index.
Tracks brand mentions, sentiment, and ranking position within OpenAI's ChatGPT platform to assess AI-driven brand awareness and visibility.
Monitors brand visibility and mention frequency within Perplexity AI, analyzing how the platform cites and describes brands in real-time search-augmented responses.
Features
Multi-Platform Tracking — Monitor visibility across ChatGPT, Perplexity, Claude, and Gemini simultaneously
Visibility Scoring — Get a 0-100 score with tier ratings (Excellent / Good / Moderate / Low / Very Low)
Sentiment Analysis — Understand whether AI platforms describe your brand positively, neutrally, or negatively
Competitor Intelligence — See which competitors appear alongside your brand in AI responses
Brand Comparison — Compare up to 10 brands side by side with per-platform breakdowns
Actionable Recommendations — Get prioritized steps to improve your AI visibility
MCP Server — Works with Claude Desktop, Cursor, and any MCP-compatible client
Consistent Results — Seeded randomness ensures reproducible results for the same brand
Related MCP server: indexnow-mcp
MCP Server Installation
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"ai-visibility": {
"command": "npx",
"args": ["-y", "ai-visibility-mcp"]
}
}
}Cursor
Add to your Cursor MCP settings (.cursor/mcp.json):
{
"mcpServers": {
"ai-visibility": {
"command": "npx",
"args": ["-y", "ai-visibility-mcp"]
}
}
}npx (standalone)
npx ai-visibility-mcpMCP Tools
Tool | Description |
| Check a brand's visibility across AI platforms with detailed per-platform results, mention rates, positions, sentiment, and competitor analysis |
| Check brand mention for a specific query on a specific platform — get mention status, position, context snippet, and sentiment |
| Calculate overall AI visibility score (0-100) with tier rating, per-platform breakdowns, and improvement recommendations |
| Compare visibility of 2-10 brands side by side with ranked results and per-platform scores |
| Get prioritized, actionable recommendations to improve AI visibility based on current score |
| List all supported AI platforms with details on how each sources and presents brand information |
How Scoring Works
The visibility score (0-100) is calculated from three components:
Component | Weight | What It Measures |
Mention Rate | 40% | How often the brand appears in AI responses |
Position Quality | 30% | Where the brand is mentioned (1st = best, 5th = worst) |
Sentiment | 30% | Whether mentions are positive, neutral, or negative |
Score Tiers:
80-100 Excellent — Strong presence across platforms
60-79 Good — Visible but room to improve
40-59 Moderate — Appears in some responses
20-39 Low — Limited visibility
0-19 Very Low — Rarely mentioned
Self-Hosting
Clone the repo and build the MCP server:
git clone https://github.com/sharozdawa/ai-visibility.git
cd ai-visibility/mcp-server
npm install
npm run buildRun the MCP server directly:
node dist/index.jsOr point your MCP client to the local build:
{
"mcpServers": {
"ai-visibility": {
"command": "node",
"args": ["/path/to/ai-visibility/mcp-server/dist/index.js"]
}
}
}Run the Web Dashboard
The project includes a Next.js dashboard for visual tracking:
cd ai-visibility
cp .env.example .env
# Set your DATABASE_URL in .env
npm install
npx prisma db push
npm run devPlatforms Tracked
Platform | Company | How It Sources Information |
ChatGPT | OpenAI | Trained on web data; optional web browsing for real-time info |
Perplexity | Perplexity AI | Real-time web search with source citations |
Claude | Anthropic | Trained on web data; focuses on accurate, well-reasoned responses |
Gemini | Leverages Google Search index and Knowledge Graph |
Why AI Visibility vs Paid Alternatives
Feature | ai-visibility | Otterly | AthenaHQ |
Platforms tracked | 4 | 3 | 2 |
Visibility score | Yes | Yes | Yes |
Competitor analysis | Yes | Yes | Limited |
Sentiment analysis | Yes | No | No |
Self-hostable | Yes | No | No |
Open source | Yes | No | No |
Price | Free | $100-300/mo | $200-500/mo |
More Open Source SEO Tools
Tool | Description |
Curated list of SEO MCP servers and agent skills | |
Visual robots.txt manager for AI crawlers | |
Instant URL indexing via IndexNow | |
Schema.org JSON-LD markup generator |
License
MIT
Available Tools
6 toolscheck_brand_visibilityA
Check a brand's visibility across AI platforms (ChatGPT, Perplexity, Claude, Gemini). Simulates realistic queries and analyzes mention rates, positions, sentiment, and competitor landscape.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | The brand name to check visibility for | |
| keywords | No | Industry keywords related to the brand (e.g., ['SEO', 'analytics']). Used to generate relevant queries. | |
| platforms | No | Which AI platforms to check. Defaults to all four platforms. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It explains the simulation and analysis but does not disclose whether the tool is read-only, requires permissions, or has side effects. Lacks mention of rate limits or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first states the core purpose, second adds detail on scope and outputs. No redundant words, front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose and high-level output, but lacks detail on return format (no output schema provided). Prerequisites like brand existence are implied but not stated. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover all three parameters (100%). The tool description adds context about the analysis output but does not enhance parameter meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear action ('Check a brand's visibility'), names specific platforms (ChatGPT, Perplexity, Claude, Gemini), and mentions detailed analysis (mention rates, positions, sentiment, competitor landscape). This distinguishes it from siblings like 'check_single_query' and 'compare_brands'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for assessing brand visibility across multiple AI platforms, but it does not explicitly state when to use it vs. siblings like 'check_single_query' or 'compare_brands'. No exclusion criteria or contextual cues are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_single_queryA
Check if a brand is mentioned for a specific query on a specific AI platform. Returns mention status, position, context snippet, sentiment, and competitor mentions.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | The brand name to check | |
| query | Yes | The exact query to check (e.g., 'What are the best SEO tools?') | |
| platform | Yes | The AI platform to check on |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It transparently lists return values (mention status, position, context snippet, sentiment, competitor mentions), which adds value and helps the agent understand the tool's output. No destructive behavior is implied.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that states the purpose and return values. Every word adds value, and there is no redundancy or verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description adequately explains the return fields. The tool has three simple parameters, and the description fully covers what an agent needs to know to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters are described in the schema with clear explanations, so schema coverage is 100%. The description does not add additional semantic detail beyond what the schema already provides, thus meeting the baseline but not exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool checks if a brand is mentioned for a specific query on a specific AI platform, with a specific verb and resource. It distinguishes from siblings like 'check_brand_visibility' which implies broader scope, and the sibling list suggests this tool is for single query checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for use, indicating it's for single query checks on specific platforms. While it does not explicitly name alternatives or when not to use, the sibling tool names imply different use cases, making the usage context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_brandsA
Compare the AI visibility of multiple brands side by side. Shows per-platform scores, overall rankings, and relative strengths.
| Name | Required | Description | Default |
|---|---|---|---|
| brands | Yes | List of brand names to compare (2-10 brands) | |
| keyword | No | Optional industry keyword for context (e.g., 'project management') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It discloses that the tool returns per-platform scores, overall rankings, and relative strengths, indicating a read-only operation. However, it does not mention authentication needs, rate limits, or any side effects. The description is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence front-loaded with the tool's main purpose, followed by specific output details. Every word adds value, with no redundancy. Perfectly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (2 simple parameters, no nested objects, no output schema), the description adequately covers the return behavior (scores, rankings, strengths). It does not address edge cases like identical brand names or case sensitivity, but these are minor. The description is sufficiently complete for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both parameters well-described in the schema (brands as list of names, keyword as optional industry context). The description adds context about outputs but does not enhance parameter understanding beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Compare the AI visibility of multiple brands side by side.' It specifies the verb (compare), resource (AI visibility), and scope (multiple brands). The mention of output details (per-platform scores, rankings, strengths) further clarifies. It distinguishes from sibling tools like 'check_brand_visibility' (single brand) and 'check_single_query' (single query).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when comparing multiple brands) but does not explicitly state when not to use it or list alternatives. With sibling tools focusing on single brands or single queries, the context is clear, but no direct guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_recommendationsB
Get actionable recommendations to improve a brand's AI visibility. Prioritized suggestions based on current score and industry best practices.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | The brand name to get recommendations for | |
| current_score | No | Current visibility score (0-100) if known. If not provided, a quick check will be performed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey all behavioral traits. It does not mention whether the tool modifies data, requires authentication, or handles errors. The parameter note about a quick check is in the schema, not the description, leaving the agent uninformed about side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the main action, and free of fluff. Concise and direct, though a slightly more structured format could enhance scanability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters, no output schema, and no nested objects, the description is adequate but lacks details about the return format or how recommendations are structured. For a simple tool, this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described meaningfully. The tool description adds minimal extra semantics; it references 'current score' but doesn't clarify parameter details beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves actionable recommendations to improve AI visibility, with prioritized suggestions. It distinguishes itself from siblings like get_visibility_score or check_brand_visibility by focusing on recommendations rather than scores or status checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives like check_brand_visibility or compare_brands. No when-not-to-use conditions or context hints are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_visibility_scoreA
Calculate an overall AI visibility score (0-100) for a brand across all four AI platforms. Includes per-platform breakdowns and improvement recommendations.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | Yes | The brand name to score |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not explicitly state that the tool is read-only or has no side effects, but it is reasonable to infer from the scoring nature. The description does not disclose auth requirements or rate limits, but it outlines the output structure adequately for a simple query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence of 18 words that front-loads the core purpose and efficiently specifies the output components (score, breakdowns, recommendations), with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input schema (one required parameter) and no output schema, the description fully explains what the tool returns: an overall score, per-platform breakdowns, and recommendations, meeting the needs for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage (the brand parameter is described as 'The brand name to score'), the description does not add significant new meaning beyond the schema, only reiterating that it scores 'for a brand'. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates an overall AI visibility score (0-100) for a brand across all four AI platforms, specifying the verb, resource, and included outputs (per-platform breakdowns and recommendations), distinguishing it from siblings like check_brand_visibility or get_recommendations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus siblings (e.g., check_brand_visibility, get_recommendations), nor does it mention when not to use it, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_platformsA
List all supported AI platforms with details about how each sources and presents brand information.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It only mentions listing details but does not state whether the operation is read-only, requires authentication, has rate limits, or any other behavioral traits. This is a significant gap for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise, front-loaded, and contains no unnecessary words. Every part adds value, and the structure is optimal for its simplicity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should provide sufficient detail about what is returned. It mentions 'details about how each sources and presents brand information' but does not specify the structure or format of the output, missing an opportunity to fully inform the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the baseline is 4. The description correctly adds no parameter information because none exist, and it does not mislead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists all supported AI platforms with specific details about brand sourcing and presentation. This is a specific verb+resource combination that differentiates it from sibling tools like check_brand_visibility or compare_brands, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use when an overview of all platforms is needed, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites. There is no guidance on when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: overall visibility analysis, single query check, brand comparison, recommendations, scoring, and platform listing. No overlap in functionality.
All tools follow a consistent verb_noun pattern in snake_case (e.g., check_brand_visibility, list_platforms), with no deviations or mixed conventions.
With 6 tools, the server is well-scoped for AI visibility monitoring. Each tool addresses a necessary aspect without redundancy or bloat.
The tool set covers core use cases like checking visibility, comparing brands, and getting recommendations. Minor gaps exist (e.g., no historical trend tracking or alerts), but the surface is largely complete for its stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Track brand visibility across ChatGPT, Claude, Gemini & Perplexity. Scores, competitors, trends.
Track your brand's visibility in AI search across Claude, ChatGPT, Perplexity, and Gemini.
AI-visibility monitoring for your brand across ChatGPT, Claude, Perplexity & Gemini.
Query your brand's AI visibility across ChatGPT, Claude, Perplexity, and Gemini.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.16291MIT
- AlicenseAqualityCmaintenanceSubmit URLs for instant indexing via IndexNow and Google Indexing API6542MIT
- AlicenseAqualityCmaintenanceGenerate Schema.org JSON-LD markup for 12 types including Person, Product, and FAQ.8MIT
- AlicenseAqualityCmaintenanceSERP-based content scoring and optimization with 7 SEO categories.6MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sharozdawa/ai-visibility'
If you have feedback or need assistance with the MCP directory API, please join our Discord server