The Superlines MCP server exposes 27 tools organized into categories. Most tools are read-only. The Account Management tools can create brands and manage prompts — these require write permissions on your API key.
When asking about a specific brand, always include the brand name in your query. The AI assistant will pass it to the brands parameter automatically. If you omit brands, data for all brands in your organization is returned.
Brand Management
list_brands
Lists all brands available in your account. Always call this first to get exact brand names for other tools.
- Parameters: None
- Returns: List of brands with IDs, names, websites, country, language, industry, and competitors
get_brand_details
Get detailed information about a specific brand including competitors, industry, and market settings.
| Parameter | Type | Required | Description |
|---|
domainId | string | Yes | Domain ID from list_brands |
Core Metrics
analyze_metrics
Get comprehensive analytics data including Brand Visibility, Citation Rate, Mentions, Share of Voice, and Citations.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands. Omit to return all brands combined. |
metrics | string[] | No | brand_visibility, citation_rate, mentions, share_of_voice, citations, share_of_citations, responses, tests |
startDate / endDate | string | No | Date range (YYYY-MM-DD). Defaults to last 30 days. |
granularity | string | No | total (default), daily, weekly, monthly |
groupBy | string[] | No | llm_service, llm_model, country, language, topic |
filters | object | No | llmService, llmModel, country, language, topic, etc. |
get_citation_data
Analyze citations at domain or URL level. Shows which domains and URLs are cited in AI responses.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
aggregateBy | string | No | domain (default) or url |
startDate / endDate | string | No | Date range (YYYY-MM-DD) |
granularity | string | No | total, daily, weekly, monthly |
groupBy | string[] | No | llm_service, llm_model, country, etc. |
filters | object | No | llmService, llmModel, promptId, domain, country, topic |
limit | number | No | Max results (default: 100) |
analyze_brand_mentions
Analyze brand mentions and competitor presence. Shows mention counts, sentiment scores, and share of voice.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
startDate / endDate | string | No | Date range (YYYY-MM-DD) |
granularity | string | No | total, daily, weekly, monthly |
groupBy | string[] | No | brand, llm_service, country, topic |
filters | object | No | llmService, llmModel, promptId, brand, sentiment |
minMentions | number | No | Minimum mentions to include (default: 1) |
limit | number | No | Max brands to return (default: 50) |
get_query_data
Analyze search queries and their metadata. Shows query text, prompt count, intent, user journey stage, and brand mentions.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
promptId | string | No | Filter by a specific prompt ID |
groupBy | string[] | No | query, intent, userJourneyStage, category |
filters | object | No | intent, userJourneyStage, category, llmService, country, naicsCode |
sortBy | string | No | prompts (default) or query |
minVolume | number | No | Minimum search volume (default: 0) |
limit | number | No | Max queries (default: 100) |
Get weekly performance trends over the last N weeks with week-over-week changes.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
weeksBack | number | No | Number of weeks (default: 4, max: 52) |
metrics | string[] | No | Metrics to track (defaults to all core metrics) |
Webpage Analysis
webpage_audit
Comprehensive LLM-friendliness audit — technical SEO, content quality, metadata, schemas, writing quality, citations, and tone.
| Parameter | Type | Required | Description |
|---|
url | string | Yes | Full URL (must include https://) |
includeCodeSnippets | boolean | No | Generate actionable code snippets (default: true) |
webpage_analyze_technical
Focused technical analysis — metadata, structured data (JSON-LD, microdata), heading structure, accessibility, and technical SEO.
| Parameter | Type | Required | Description |
|---|
url | string | Yes | Full URL (must include https://) |
includeCodeSnippets | boolean | No | Generate technical code snippets (default: true) |
webpage_analyze_content
Focused content analysis — heading format, content organization, data citations, tone, writing quality, and marketing messages.
| Parameter | Type | Required | Description |
|---|
url | string | Yes | Full URL (must include https://) |
schema_optimizer
Optimize Schema.org structured data. Returns quality score, proposed schemas, and implementation code.
| Parameter | Type | Required | Description |
|---|
url | string | Yes | Full URL (must include https://) |
includeCodeSnippets | boolean | No | Generate implementation code (default: true) |
Competitive Analysis
get_fanout_query_insights
Analyze fan-out queries — the web searches LLMs perform when answering user questions. Shows which queries are most common and where your domain ranks.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
startDate / endDate | string | No | Date range (YYYY-MM-DD) |
limit | number | No | Max fan-out queries to analyze (default: 5) |
get_competitive_gap
Find prompts where competitors lead or where you’re winning. Includes visibility comparison and optional AI recommendations.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
promptId | string | No | Scope to a single prompt (expanded to its active cluster) |
promptIds | string[] | No | Scope to multiple prompt IDs (expanded to clusters) |
aggregateBy | string | No | cluster (aggregate together, default) or prompt (per-prompt results) |
startDate / endDate | string | No | Date range (YYYY-MM-DD). Defaults to last 30 days. |
includeAIAnalysis | boolean | No | Include AI analysis of competitor’s top-ranking URL (default: false) |
get_top_cited_url_per_prompt
Get the #1 cited URL for each tracked prompt.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
startDate / endDate | string | No | Date range (YYYY-MM-DD) |
limit | number | No | Max prompts to analyze (default: 20) |
Find your best performing prompts based on visibility or citation rate.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
startDate / endDate | string | No | Date range (YYYY-MM-DD) |
metric | string | No | visibility (default), citations, or both |
get_period_comparison
Compare current period metrics vs. previous period with trend analysis.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
periodDays | number | No | Days per period (default: 30). Compares last N days vs. previous N days. |
metrics | string[] | No | Specific metrics to compare |
Advanced Analytics
get_competitor_insights
Top cited domains and most mentioned brands for your tracked prompts.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
startDate / endDate | string | No | Date range (YYYY-MM-DD) |
topN | number | No | Number of top competitors (default: 10) |
analyze_sentiment
Sentiment of AI responses mentioning your brand. Shows positive/neutral/negative breakdown.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
startDate / endDate | string | No | Date range (YYYY-MM-DD) |
groupBy | string | No | llm_service, topic, or country |
find_content_opportunities
Topics with high query volume but low brand visibility — your biggest growth opportunities.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
startDate / endDate | string | No | Date range (YYYY-MM-DD) |
minMentions | number | No | Minimum response count to consider a topic (default: 3) |
get_analytics_summary
High-level analytics summary with overall metrics and top topics.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
startDate / endDate | string | No | Date range (YYYY-MM-DD) |
groupBy | string | No | llm_service, country, language, topic, or date |
generate_strategic_action_plan
Generate a priority-ranked action plan with improvement potential scores.
| Parameter | Type | Required | Description |
|---|
brands | string[] | Recommended | Brand names from list_brands |
focusArea | string | No | all (default), visibility, citations, sentiment, content_gaps |
maxRecommendations | number | No | Max items (default: 5, max: 10) |
competitorUrls | string[] | No | Specific competitor URLs to analyze |
startDate / endDate | string | No | Date range (YYYY-MM-DD). Defaults to last 30 days. |
Account Management
These tools modify your account. They require write permissions on your API key. See API Key Permissions for setup instructions. Deletion is not supported — use pause_prompts instead.
create_brand
Create a new brand/domain in your organization. Triggers brand analysis (website scanning, competitor detection, industry classification) and prompt generation in the background. Returns immediately — use get_brand_setup_status to poll for completion.
Permission required: write:brands
| Parameter | Type | Required | Description |
|---|
brandName | string | Yes | Brand or company name |
website | string | Yes | Website URL (e.g. https://superlines.io) |
country | string | No | Target country (e.g. United States) |
language | string | No | Target language (e.g. English) |
competitors | array | No | List of competitors (name required, website optional). Auto-detected if omitted. |
industry | string | No | Industry vertical (auto-detected if omitted) |
Brand creation is idempotent — if a brand with the same domain already exists, the existing brand is returned instead of creating a duplicate.
get_brand_setup_status
Check the progress of brand setup after create_brand. Returns analysis status, prompt generation status, and whether the brand is ready for analytics.
| Parameter | Type | Required | Description |
|---|
domainId | string | Yes | The domain ID returned by create_brand |
add_prompts
Add tracking prompts to a brand. Prompts are the search queries that Superlines monitors across AI platforms (ChatGPT, Gemini, Perplexity, etc). Each prompt is created as active and included in the next crawl cycle. Maximum 50 prompts per call.
Permission required: write:prompts
| Parameter | Type | Required | Description |
|---|
domainId | string | Yes | Domain ID from list_brands |
prompts | array | Yes | Array of prompt objects (1-50) |
prompts[].text | string | Yes | The prompt text (max 500 chars) |
prompts[].label | string | No | Label/category (e.g. product, brand) |
prompts[].intent | string | No | Search intent (e.g. informational, commercial) |
Duplicate prompts are automatically detected and skipped. Your organization’s prompt quota is enforced.
pause_prompts
Pause active prompts so they stop being crawled. Paused prompts are not deleted and can be reactivated with unpause_prompts. Filter by specific IDs or by label.
Permission required: write:prompts
| Parameter | Type | Required | Description |
|---|
domainId | string | Yes | Domain ID from list_brands |
promptIds | string[] | No | Specific prompt IDs to pause |
label | string | No | Pause all active prompts with this label |
unpause_prompts
Reactivate paused prompts so they resume being crawled. Checks your prompt quota before reactivating.
Permission required: write:prompts
| Parameter | Type | Required | Description |
|---|
domainId | string | Yes | Domain ID from list_brands |
promptIds | string[] | No | Specific prompt IDs to unpause |
label | string | No | Unpause all paused prompts with this label |
update_prompt_labels
Add, remove, or set labels on prompts. Labels help organize prompts into categories for filtering in analytics.
Permission required: write:prompts
| Parameter | Type | Required | Description |
|---|
domainId | string | Yes | Domain ID from list_brands |
promptIds | string[] | Yes | Prompt IDs to update (max 100) |
label | string | Yes | The label to add, remove, or set |
action | string | No | set (default — replaces all labels), add, or remove |