{"name":"RankZero","title":"RankZero MCP server","description":"Read a RankZero account's brand data from an AI assistant: AI search visibility and competitor ranking, AI mentions, citation sources, tracked prompts, and the brand's connected Google Analytics 4 and Search Console. Returns only brands the signed-in account owns or shares through its organization.","version":"1.0.0","serverUrl":"https://www.rankzero.io/mcp","transport":{"type":"streamable-http","url":"https://www.rankzero.io/mcp"},"authentication":{"required":true,"type":"oauth2","protectedResourceMetadata":"https://www.rankzero.io/.well-known/oauth-protected-resource/mcp","authorizationServerMetadata":"https://www.rankzero.io/.well-known/oauth-authorization-server","documentation":"https://www.rankzero.io/auth.md"},"documentation":"https://www.rankzero.io/docs/claude-mcp","homepage":"https://www.rankzero.io","capabilities":{"tools":{},"prompts":{},"resources":{}},"tools":[{"name":"list_brands","description":"List the brands the signed-in RankZero account can access (owned, or shared through its organization), up to 20, most relevant first, as a numbered table of name, domain and type. Call this first: other tools accept a brand name, domain, id, or its number from this list.","inputSchema":{"type":"object","properties":{"search":{"type":"string","description":"Search query for brand name or domain"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"set_active_brand","description":"Set the brand later tool calls use when their brand argument is omitted. Accepts a brand id, name, domain, or its number from the last list_brands result.","inputSchema":{"type":"object","properties":{"brand":{"type":"string","description":"Brand ID or Name to set as active context"}},"required":["brand"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_brand_overview","description":"Headline AI search visibility for a brand over a period (24h, 7d, 30d or 90d; default 7d): its visibility percentage, its rank against tracked competitors, and total citations. Use for a quick status check before a deeper analysis.","inputSchema":{"type":"object","properties":{"period":{"type":"string","enum":["24h","7d","30d","90d"],"description":"Time period for analysis (default: 7d)"},"brand":{"type":"string","description":"Brand ID or Name. Optional if active brand is set."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_tracked_prompts","description":"List the brand's active tracked prompts, the questions RankZero asks AI engines on the brand's behalf, 20 per page, optionally filtered by text.","inputSchema":{"type":"object","properties":{"brand":{"type":"string","description":"Brand ID or Name. Optional if active brand is set."},"page":{"type":"number","description":"Page number (default 1)"},"search":{"type":"string","description":"Search query for prompts"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_brand_competitors","description":"List the competitors tracked for a brand.","inputSchema":{"type":"object","properties":{"brand":{"type":"string","description":"Brand ID or Name. Optional if active brand is set."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_ai_mentions","description":"Show how a brand and its competitors appear in AI answers over a period (default 7d): average visibility per brand, and recent AI responses to tracked prompts with the brands each response mentioned.","inputSchema":{"type":"object","properties":{"brand":{"type":"string","description":"Brand ID or Name. Optional if active brand is set."},"period":{"type":"string","enum":["24h","7d","30d","90d"],"description":"Time period (default: 7d)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_citation_sources","description":"List the domains AI engines cite when answering a brand's tracked prompts, sorted by share of usage. Filter by period (default 30d), country, or AI provider. Use it to find the sites a brand should earn mentions on.","inputSchema":{"type":"object","properties":{"brand":{"type":"string","description":"Brand ID or Name. Optional if active brand is set."},"period":{"type":"string","enum":["24h","7d","30d","90d"],"description":"Time period for analysis (default: 30d). Use 30d or 90d for content strategy - longer windows surface stable citation patterns rather than one-off runs."},"country":{"type":"string","description":"Filter by country code, e.g. \"US\". Omit to aggregate across all countries."},"provider":{"type":"string","enum":["chatgpt","gemini","perplexity","anthropic","google_ai_overview"],"description":"Filter by AI provider. Omit to aggregate across all providers."},"limit":{"type":"number","description":"Max sources to return, sorted by usage_pct desc (default: 50). Reduce to 20 for a quick top-sources snapshot."}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"search_knowledge_base","description":"Search RankZero's own documentation, guides, glossary and blog on AI search and SEO topics. Returns the top 5 matches with links. It does not search the user's website.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"The search query"}},"required":["query"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_ga4_report","description":"Run a Google Analytics 4 report for a brand whose GA4 property is connected in RankZero. Choose metrics (e.g. sessions, totalUsers, keyEvents) and dimensions (e.g. date, sessionSource, pagePath) over a date range (default 28daysAgo to today). Returns an error message if GA4 is not connected.","inputSchema":{"type":"object","properties":{"brand":{"type":"string","description":"Brand ID or Name. Optional if active brand is set."},"startDate":{"type":"string","description":"Start date (YYYY-MM-DD or relative like \"30daysAgo\")"},"endDate":{"type":"string","description":"End date (YYYY-MM-DD or \"today\")"},"metrics":{"type":"array","items":{"type":"string"},"description":"List of metrics to fetch (e.g. \"sessions\", \"totalUsers\", \"screenPageViews\", \"keyEvents\" - GA4 renamed conversions to key events)"},"dimensions":{"type":"array","items":{"type":"string"},"description":"List of dimensions to fetch (e.g. \"date\", \"sessionSource\", \"pagePath\", \"eventName\", \"pageTitle\")"},"dimensionFilter":{"type":"string","description":"JSON string of dimensionFilter object for advanced filtering"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_gsc_performance","description":"Query Google Search Console performance (clicks, impressions, CTR, position) for a brand whose Search Console property is connected in RankZero, grouped by date, query, page, country, device or search appearance. Search Console data lags about 2 to 3 days.","inputSchema":{"type":"object","properties":{"brand":{"type":"string","description":"Brand ID or Name. Optional if active brand is set."},"startDate":{"type":"string","description":"Start date (YYYY-MM-DD)"},"endDate":{"type":"string","description":"End date (YYYY-MM-DD)"},"dimensions":{"type":"array","items":{"type":"string","enum":["date","query","page","country","device","searchAppearance"]},"description":"Dimensions to group by (default: [\"date\"])"},"type":{"type":"string","enum":["web","image","video","news","discover","googleNews"],"description":"Search type (default: \"web\")"},"filters":{"type":"string","description":"JSON string of dimensionFilterGroups"},"rowLimit":{"type":"number","description":"Max rows to return (default: 1000)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"prompts":[{"name":"analyze-brand"},{"name":"competitor-deep-dive"},{"name":"generate-content-ideas"}],"resources":[{"name":"active-brand-overview","uri":"brand://active/overview"}],"resourceTemplates":[{"name":"brand-overview","uriTemplate":"brand://{id}/overview"}]}