GrowByData Compass — MCP Server
Search and AI-visibility intelligence for enterprise brands, exposed to AI assistants over the Model Context Protocol.
Today, no tool can create, modify, or delete anythingOverview
Compass tracks how brands perform across Google Search — organic rankings, text ads, shopping listings, and SERP features — and across AI search platforms including ChatGPT, Google AI Overviews, Google AI Mode, and Perplexity.
This server currently exposes that data to AI assistants as 38 read-only analytics tools. Once connected, you can ask questions about your brand's search visibility in natural language and get answers computed from your own tracked data, without leaving the assistant.
Requirements
Compass is a commercial product. There is no free or self-service tier — before you can connect, you need:
Access to GrowByData Compass, with your tracking already set up
Your workspace needs to already be tracking your brand's keywords and domains — this is set up as part of onboarding with GrowByData. If it isn't set up yet, the assistant won't have any data to answer from. Contact sales@growbydata.com to get started.
If you manage multiple client accounts in Compass — for example, as an agency — the same access and permissions you have in Compass carry over to the MCP connection. You'll be able to work with the accounts you're already authorized for, nothing more and nothing less.
Connecting
This is a remote MCP server speaking streamable HTTP, authenticated with OAuth 2.0. Any spec-compliant MCP client can connect — Claude (web, desktop, mobile, Code), ChatGPT, Cursor, VS Code, and others.
Server URL
https://mcp.growbydata.com/mcp
In every client below, adding this URL opens a browser window where you sign in to Compass and review a consent screen naming the application, what it will be able to read, and where it will be redirected. Access is granted only after you accept, and you can revoke it at any time from your Compass account settings or by removing the connector in your assistant.
Most clients register themselves automatically the first time you connect — there's no client ID or secret to copy or manage.
Set up by client
Claude (web, desktop, mobile)
- Go to Settings → Connectors.
- Select Add custom connector.
- Paste the server URL:
https://mcp.growbydata.com/mcp - Select Connect, then sign in to Compass and approve the consent screen.
Once connected, the tools are available in any chat — no need to tag or invoke it explicitly.
Claude Code
- Run in your terminal:
claude mcp add growbydata https://mcp.growbydata.com/mcp -t http
- Open Claude Code and run
/mcp. - Select growbydata from the list, then select Authenticate.
This opens the Compass login and consent screen in your browser automatically.
ChatGPT
- Go to Settings → Apps & Connectors.
- Select Add connector (or Create, depending on your plan).
- Paste the server URL:
https://mcp.growbydata.com/mcp - Select Connect, then sign in to Compass and approve the consent screen.
Cursor
In Settings → Cursor Settings → Tools & MCP, add the following to your MCP configuration:
{
"mcpServers": {
"growbydata": {
"url": "https://mcp.growbydata.com/mcp"
}
}
}
Cursor will prompt the OAuth flow automatically the first time a tool is called.
VS Code
- Create a
.vscode/mcp.jsonfile in your workspace. - Add the following and save:
{
"servers": {
"growbydata": {
"url": "https://mcp.growbydata.com/mcp",
"type": "http"
}
}
}
VS Code will prompt you to sign in to Compass the first time the server is used.
Other MCP clients
Any client that supports remote MCP servers over streamable HTTP with OAuth 2.0 can connect using the server URL above. If your client supports Dynamic Client Registration (RFC 7591), no manual client setup is required — see Authentication for the technical details.
Getting started
When a session starts, your assistant automatically loads your account context — your tracked domains, competitor and prompt groupings, valid filters, and the date ranges that hold data. You don't need to do anything to trigger this; it happens before your assistant answers your first question.
If your login can reach more than one account, your assistant will ask you to choose one before continuing. You can ask it to switch accounts at any point during the conversation. A login with a single account is activated automatically, with no extra step.
Example questions
Compass exposes 38 tools covering domain performance, keywords, SERP features, paid & shopping listings, and AI search visibility. Your assistant chooses which tools to call, and how many, based on your question and what your account tracks — the same question can be answered with a different combination of tools depending on context, and that's expected.
| You could ask | What Compass can draw on |
|---|---|
| What was our share of voice versus our top three competitors over the last 30 days, and which SERP features are we losing ground in? | e.g. domain comparison and SERP-feature breakdown tools |
| Which keywords did we drop in rank on this month compared to last month, and what is showing up above the fold instead? | e.g. rank-change and SERP snapshot tools |
| How visible is our brand in AI search compared to Google organic? Show me which prompts mention us on ChatGPT and Perplexity. | e.g. AI presence and brand-mention tools |
| Who is advertising against our brand terms in Shopping, and how do their prices and ratings compare to ours? | e.g. shopping advertiser and product tools |
| Show me our organic ranking trend for a keyword over the last quarter, broken down by device. | e.g. keyword history and SERP trend tools |
| Which keywords does a competitor rank for that we have no presence in at all? | e.g. competitor gap tools |
Tool reference
All 38 tools are currently read-only and query only the accounts the authenticated user is authorized for.
Session & metadata (3)
| Tool | Title | What it returns |
|---|---|---|
initialize_session | Initialize Session | All account context — tracked domains, competitor groups, valid filter values, available date ranges. Called automatically at the start of every session. |
get_available_date_range | Available Date Range | Earliest and latest dates that hold SERP and AI-search data. |
search_brand_sellers | Search Brand Sellers | Seller-name variants in the SERP data matching a brand string, so a brand spelled several ways is queried completely. |
Domain performance (7)
| Tool | Title | What it returns |
|---|---|---|
get_domain_sov | Domain SOV | Share of voice for one or more domains. |
compare_domains_sov | Compare Domains SOV | Side-by-side share of voice across domains. |
get_sov_by_serp_feature | SOV by SERP Feature | Share of voice broken down by SERP feature type. |
get_sov_shift | SOV Shift | Share-of-voice change between two periods for two domains. |
get_domain_rank_summary | Domain Rank Summary | Appearances, average rank, and best rank for a domain. |
get_domain_serp_feature_ownership | Domain SERP Feature Ownership | Presence rate per SERP feature for a domain. |
get_above_the_fold_summary | Above the Fold Summary | Share of listings appearing above the fold. |
Keywords (6)
| Tool | Title | What it returns |
|---|---|---|
get_tracked_keywords | Tracked Keywords | Every SERP keyword tracked for the account. |
get_keywords_by_domain | Keywords by Domain | Keywords a given domain ranks for. |
get_keyword_position_history | Keyword Position History | Day-by-day rank history for a keyword. |
get_keyword_serp_snapshot | Keyword SERP Snapshot | The full SERP layout for a keyword on a given date. |
get_keyword_detail | Keyword Detail | Row-level results — every listing per day with domain, rank, position, price, rating, and above-the-fold status. |
get_rank_changes | Rank Changes | Rank movement between two periods. |
SERP features & competition (7)
| Tool | Title | What it returns |
|---|---|---|
get_serp_feature_distribution | SERP Feature Distribution | How often each SERP feature appears. |
get_feature_competition | Feature Competition | Domains competing for a keyword within a feature. |
get_competitor_overlap | Competitor Overlap | Keywords where two domains both rank. |
get_competitor_keyword_gap | Competitor Keyword Gap | Keywords a competitor ranks for where your domain has zero presence — true absence, in both directions. |
get_serp_feature_gap | SERP Feature Gap | SERP feature types a competitor owns where your domain has zero presence. |
get_lost_features | Lost Features | Feature placements a domain has lost. |
get_serp_trends | SERP Trends | Time-series SERP trend broken down by a dimension. |
Paid & shopping (4)
| Tool | Title | What it returns |
|---|---|---|
get_shopping_advertiser_summary | Shopping Advertiser Summary | Top shopping advertisers with price and rating metrics. |
get_shopping_product_summary | Shopping Product Summary | Top products by title and seller. |
get_text_ads_advertiser_summary | Text Ads Advertiser Summary | Top text-ad advertisers by share of voice. |
get_text_ads_copy_analysis | Text Ads Copy Analysis | Ad copy at title and description level. |
AI search visibility (11)
| Tool | Title | What it returns |
|---|---|---|
get_domain_ai_presence | Domain AI Presence | Presence across ChatGPT, Google AI Overviews, Google AI Mode, and Perplexity. |
get_ai_answer_keywords | AI Answer Keywords | Prompts that appear in AI answers. |
get_brand_mentioned_keywords | Brand Mentioned Keywords | AI prompts mentioning or citing a brand. |
get_ai_prompt_detail | AI Prompt Detail | Full response data for one prompt — brand mentions, citations, entities, sentiment, and response text across platforms. |
get_ai_prompt_gap | AI Prompt Gap | Prompts where a competitor is mentioned or cited and your domain has zero presence. |
get_citation_content_overlap | Citation Content Overlap | Cited articles and pages classified by which brands they mention — yours, the competitor's, or both. |
get_new_ai_appearances | New AI Appearances | Prompts where a brand newly appeared. |
get_ai_trends | AI Trends | Time-series AI-search trend broken down by a dimension. |
get_ai_vs_traditional_coverage | AI vs Traditional Coverage | Count of SERP keywords that also appear verbatim as AI-search prompts. |
get_ai_ads_advertiser_summary | AI Search Ads Advertiser Summary | Brands advertising inside AI answers, ranked by share of sponsored-ad appearances, with ad presence and slot rank. |
get_ai_ads_copy_analysis | AI Search Ads Copy Analysis | Sponsored ad copy served inside AI answers, at headline and description level. |
Data notes
SERP data and AI-search data are separate datasets with different inputs. SERP tracking uses short keyword queries; AI-search tracking uses conversational prompts. A keyword absent from the AI dataset is not an "AI coverage gap" — it simply was not part of the AI scan. Treat low overlap as a difference in inputs, not a finding about visibility.
- Date coverage varies by dataset and account. Ask for the available range (
get_available_date_range) rather than assuming a window; a request outside the collected range returns no rows rather than an error. - Filter values are account-specific. SERP features, search regions, and keyword labels differ per account, and only the values returned by
initialize_session()are valid. - One account per query. Results are always scoped to a single account. Queries spanning several accounts are not supported, by design.
Authentication
The MCP server is an OAuth 2.0 resource server. GrowByData's platform API is the authorization server, brokering login to GrowByData's identity provider.
S256 onlyopenid, profile, email, offline_accessDiscovery
An unauthenticated request returns 401 with a WWW-Authenticate: Bearer resource_metadata="…" header pointing at the protected resource metadata, which names the authorization server. Clients follow that chain automatically.
Redirect URIs
Validated against what the client registered. Loopback redirects are matched port-agnostically per RFC 8252 §7.3 so native clients work; everything else must match exactly. Access tokens are read only from the Authorization header, never from a query string.
Tenancy
Your access token identifies you; the set of accounts it may reach is resolved server-side from your Compass entitlements. Every query is filtered to one of those accounts server-side — never from anything the assistant supplies — so no other customer's data is reachable, whatever an assistant sends.
Rate limits
Tool calls are metered per user on a daily quota, resetting at 00:00 UTC. By default, a user gets 30 tool calls per day. Rate limits are custom based on your contract — contact clientsuccess@growbydata.com to understand the limits on your account. Reaching the limit returns a clear message telling you when the quota resets — it does not silently truncate results.
Privacy
GrowByData's full privacy policy is published at growbydata.com/privacy-policy, and the Terms of Service governing use of this connector are at mcp.growbydata.com/terms. In the specific context of this connector:
- What we receive. Your identity from your Compass login (name, email address, and the accounts you are authorized for), plus the tool name and parameters — dates, domains, keywords, filters — needed to run each query.
- How we use it. Solely to authenticate you, authorize the request against the accounts you may access, and return the requested analytics. Tool inputs and outputs are not used to train models.
- What we do not receive. Your conversation history, your prompts to the assistant, its responses, or your files. Tools request only the parameters they need, and the server never reads an assistant's memory, chat history, or user files.
- Retention. Requests are logged for operational monitoring, security, and abuse prevention; logs hold the account, tool name, parameters, timing, and outcome. OAuth refresh tokens are stored for up to 30 days and rotated on each use; access tokens expire after one hour. Underlying search and AI-visibility data is retained under your Compass service agreement.
- Sharing. We do not sell your data or share it with third parties for advertising. Data is processed on Google Cloud Platform, our infrastructure provider.
- Your choices. Revoke the connector at any time from your Compass account settings or by removing it in your assistant; revocation invalidates the refresh token. For access, correction, or deletion requests, contact us below.
Support
| Support | clientsuccess@growbydata.com |
| Sales | sales@growbydata.com |
| Knowledge center | growbydata.com/knowledge-center |
| Security policy | growbydata.com/growbydata-security-policy |