Documentation Index
Fetch the complete documentation index at: https://docs.siteline.ai/llms.txt
Use this file to discover all available pages before exploring further.
The MCP server is currently in beta and available on paid plans only. To activate it for your
team, contact us at [email protected].
MCP installation
Follow our security best practices
Before connecting the MCP server, read the security risks section to understand what to review before giving an AI tool access to Siteline analytics.
Installation
- Codex
- Claude Code
- JSON
Add the MCP server with:
Authentication
Some MCP clients automatically prompt you to log in during setup, while others require manual authentication steps. Authentication opens a browser window where you log in to Siteline and grant read-only analytics access for the selected team.Siteline MCP does not require you to generate or paste a public API key into the MCP client.
Next steps
After you log in, check that the MCP server is connected. Depending on the client, you may need to restart it to connect and detect all tools after authorization. To verify the client has access to the MCP server tools, ask it to query Siteline using natural language. For example: “Summarize prompt performance for my product using Siteline MCP.”How the MCP server works
Siteline MCP is a hosted, read-only MCP server available at:POST /mcp and authenticate with browser-based OAuth 2.0 Authorization Code with PKCE. During authorization, Siteline asks you to choose the team whose analytics the client can read. The MCP access token is then resolved on the server side to that team’s Siteline public API access; the token and public API key are never passed as tool arguments.
After authorization, the server exposes tools that proxy Siteline’s public product analytics API. Product-scoped tools can discover the available product and website for the connection. When a request is underspecified, the tool returns structuredContent.selectionRequired with choices the client should show to you before retrying the same tool.
The server asks for a selection when:
- More than one product is available and
productIdwas omitted - More than one website is available and
domainwas omitted dateFromordateTois omitted- A prompt-performance tool needs one or more platforms
7D, 30D, 3M, 6M, 12M, plus Custom for explicit RFC3339 dateFrom and dateTo values.
Available tools
The Siteline MCP server exposes seven read-only tools for product discovery, prompt analytics, citations, and agent analytics traffic.| Tool | Use it to |
|---|---|
list_products | List authorized primary products, product IDs, and domains for the MCP connection. |
list_product_websites | List active website domains and website IDs for a product. |
list_product_tracked_prompts | List tracked prompt rows with platform, domain, position, visibility, rank, volume, and labels. |
summarize_product_prompt_performance | Summarize aggregate prompt visibility, position, rank, and competitor count. |
analyze_product_prompt_trends | Analyze daily prompt visibility, position, and rank trends. |
list_product_citations | List citation source pages, source domains, or mentioned products. |
analyze_product_analytics_timeseries | Analyze AI crawler and referred human traffic timeseries. |
Product discovery
Use
list_products and list_product_websites first when you do not know which
productId or domain the MCP connection can access.Prompt performance
Use
list_product_tracked_prompts, summarize_product_prompt_performance, and
analyze_product_prompt_trends to inspect visibility, rank, position, and competitors.Citations
Use
list_product_citations to inspect top cited pages, citation source domains, or mentioned
products.Agent analytics
Use
analyze_product_analytics_timeseries to inspect AI crawler traffic and referred
human traffic over time.list_products
Use this discovery tool when you do not know which Siteline products the authorized MCP connection can read.
Prompt input example: “Which Siteline products can this MCP connection access?”
Tool input: none.
structuredContent.products, an array of products.
Each product includes:
id: Product ID to pass asproductIdto product-scoped toolsname: Product namewebsite: Product website URLdomain: Primary domainpartnerWebsites: Website domains and website IDs linked to the product
list_product_websites
Use this discovery tool when you know a productId and need the active website domains attached to that product.
Prompt input example: “Which websites belong to product 6330?”
Tool input:
Siteline product ID returned by
list_products.structuredContent.websites, an array of product websites.
Each website includes:
domain: Bare hostname, such asexample.comwebsiteId: Website ID used internally for product analytics
list_product_tracked_prompts
Use this prompt-performance tool to inspect individual tracked prompt rows for a product, website, date range, and platform set.
Prompt input example: “List tracked prompts for product 6330 on example.com for the last 30 days on ChatGPT and Gemini.”
Tool input:
Siteline product ID. Omit it only when the MCP server should auto-select the only available
product or ask you to choose one.
Bare hostname, such as
example.com. Omit it only when the MCP server should auto-select the only
available website or ask you to choose one.Inclusive RFC3339 timestamp. If omitted, the tool asks you to choose a preset or provide a custom
range.
Inclusive RFC3339 timestamp. Must be after
dateFrom; date windows can be up to 366 days.One or more of
chatgpt, perplexity, google, google_ai_overviews, google_ai_mode,
gemini, chatgpt_impl1, or claude. If omitted, the tool asks you to choose one or more
platforms.Optional prompt label IDs to filter results.
structuredContent.prompts, an array of tracked prompt rows.
Each row includes:
promptText: The tracked prompt textplatform: Platform that produced the rowdomain: Product domain used for the metricposition: Average position of the product within AI response text for this prompt. For example, a position of 1 means it was mentioned first.nullwhen no data is available.visibility: Percentage of AI responses in which the product appears for this prompt, expressed as a decimal (e.g.0.42= 42%).nullwhen no data is available.rank: Product’s ranking by visibility compared to all products appearing in this prompt’s results. A rank of 1 means highest visibility.nullwhen no data is available.volume: Prompt volume, ornullwhen unavailablelabels: Applied prompt labels withidandname
summarize_product_prompt_performance
Use this prompt-performance tool when you want one aggregate summary across a product, website, date range, and platform set.
Prompt input example: “Summarize prompt performance for product 6330 on example.com over the last 30 days.”
Tool input: same as list_product_tracked_prompts: productId, domain, dateFrom, dateTo, optional platforms, and optional labelIds.
Expected return: structuredContent.summary, a single prompt summary object.
The summary includes:
position: Average position of the product within AI response text across all matching prompts.nullwhen no data is available.visibility: Aggregate percentage of AI responses in which the product appears across all matching prompts, expressed as a decimal.nullwhen no data is available.rank: Product’s ranking by visibility compared to all competing products across matching prompts.nullwhen no data is available.totalCompetitors: Total number of distinct competitor products appearing across matching prompt results.
analyze_product_prompt_trends
Use this prompt-performance tool when you want daily trend rows for visibility, position, and rank.
Prompt input example: “Show daily Gemini prompt visibility trends for product 6330 on example.com in April 2026.”
Tool input: same as list_product_tracked_prompts: productId, domain, dateFrom, dateTo, optional platforms, and optional labelIds.
Expected return: structuredContent.trends, an array of daily prompt trend rows.
Each row includes:
date: Trend dateplatform: Platform for the rowdomain: Product domain used for the metricvisibility: Percentage of AI responses in which the product appears on this day, expressed as a decimal.nullwhen no data is available.position: Average position of the product within AI response text on this day.nullwhen no data is available.rank: Product’s ranking by visibility compared to all competing products on this day.nullwhen no data is available.
list_product_citations
Use this citation tool to inspect where a product is cited, which source domains cite it, or which products are mentioned in answers.
Prompt input example: “List top cited pages for product 6330 on example.com over the last 30 days.”
Tool input:
Siteline product ID. Omit it only when the MCP server should auto-select the only available
product or ask you to choose one.
Bare hostname, such as
example.com. Omit it only when the MCP server should auto-select the only
available website or ask you to choose one.Inclusive RFC3339 timestamp. If omitted, the tool asks you to choose a preset or provide a custom
range.
Inclusive RFC3339 timestamp. Must be after
dateFrom; date windows can be up to 366 days.Optional platform filters. Supported values are
chatgpt, perplexity, google,
google_ai_overviews, google_ai_mode, gemini, chatgpt_impl1, and claude.Optional prompt label IDs to filter citations.
page, property, or product. Defaults to page.structuredContent.citations, grouped according to groupBy.
When groupBy is page, the return includes byPage rows with:
domain: Citation source domainurl: Citation source page URLproducts: Mentioned products withnameanddomaincount: Citation countisMentioned: Whether the selected product is mentioned
groupBy is property, the return includes byProperty rows with source domain, mentioned products, count, and isMentioned.
When groupBy is product, the return includes byProduct rows with product name, product domain, count, and isMentioned.
analyze_product_analytics_timeseries
Use this agent analytics tool to inspect AI crawler traffic and referred human traffic for product-owned websites over time.
Prompt input example: “Show weekly OpenAI bot visits and AI-referred human visits for product 6330 over the last 30 days.”
Tool input:
Siteline product ID. Omit it only when the MCP server should auto-select the only available
product or ask you to choose one.
Inclusive RFC3339 timestamp. If omitted, the tool asks you to choose a preset or provide a custom
range.
Inclusive RFC3339 timestamp. Must be after
dateFrom; date windows can be up to 366 days.day or week. Defaults to day.Optional metrics:
bot_visits, human_visits, referred_human_visits,
ai_referred_human_visits, unique_human_visitors, unique_pages, unique_human_pages,
unique_human_platforms, or bot_user_agents.Optional dimensions:
platform, botType, urlPath, normalizedUrlPath, or urlPathDirectory.Optional platform filters, such as
openai.Optional bot type filters, such as
chatgpt-user.Optional normalized URL path filter.
Result page. Defaults to
1.Rows per page. Defaults to
20; maximum is 500.Optional top-N row limit per time bucket, ordered by the first requested metric.
structuredContent.timeseries, a paginated timeseries result.
The timeseries result includes:
previousPage,currentPage,nextPage,totalPages,totalItems, andperPageitems: Timeseries rows with optional dimensions likeplatform,botType,urlPath,normalizedUrlPath, andtimestamp- Metric fields such as
botVisits,humanVisits,referredHumanVisits,aiReferredHumanVisits,uniqueHumanVisitors,uniquePages,uniqueHumanPages,uniqueHumanPlatforms, andbotUserAgents
Configuration options
The Siteline MCP server does not currently expose URL query configuration options. Access is
read-only and scoped through OAuth to the Siteline team you authorize.
Manual authentication
The Siteline MCP server uses dynamic client registration and browser-based OAuth. Manual public
API key authentication is not supported for MCP clients.
Security risks
Connecting any data source to an LLM carries inherent risks. Siteline MCP is read-only, but AI tools can still retrieve and summarize analytics data that your team has access to.Prompt injection
Recommendations
- Review tool calls before approving them
- Connect only MCP clients you trust
- Use a Siteline team with the minimum data access needed
- Remove the MCP server from clients that no longer need access
- Revoke or reconnect the MCP client if you suspect a client token was exposed