Tools Reference
Every tool the ThriveStack MCP Server currently exposes, with parameters and what each one does.
The ThriveStack MCP Server currently exposes 9 tools: a primary natural-language entry point (ask), AI Visibility & content recommendation tools, brand/identity lookup, and a health check — plus one MCP resource, analytics://schema, describing the full ClickHouse schema for hand-written queries.
We’re rolling out access incrementally. More tool groups (CRM accounts, revenue attribution, custom analytics queries, segments, setup wizards, and others) exist behind the scenes and are being enabled progressively — this page always reflects what’s actually callable today, not the roadmap.
Every currently-live tool is read-only.
None of these tools take a project_id or similar tenant parameter. Your product and environment are resolved automatically from how you authenticated (OAuth session or Personal Access Token) — see Setup.
Your AI assistant calls these automatically based on your questions. For growth and analytics questions, it should reach for ask first — that single tool routes internally to ClickHouse and covers signups, MRR, churn, activation, retention, feature usage, and more, without needing a separate tool per metric.
Response format
There is no single universal response envelope — each tool returns the JSON shape natural to its own data source. ask returns a synthesized business-insight response (markdown tables and chart artifacts where useful); the AI Visibility tools return structured report/recommendation objects; get_accessible_brands and ping return small fixed objects.
Tools whose description says “returns a clear empty/no-run result” or similar are explicitly designed to return an empty-but-valid result rather than an error when there’s no data yet (e.g. a domain that hasn’t been probed) — treat that as “nothing here yet”, not a failure.
Primary entry point
The ask tool is the primary interface for analytics and growth questions. Rather than mapping directly to a single backend call, it hands the question to an internal orchestrator that runs a Claude tool-use loop (up to 10 iterations) with a fixed set of ClickHouse-backed internal capabilities — schema discovery, signup/MRR/churn trends, activation status, feature usage, funnels, UTM/channel performance, abuse signals, and a constrained custom-SQL escape hatch. These are internal to the orchestrator, not separate callable MCP tools right now. Claude decides which internal capability to use, chains them when a question needs multiple data points, and synthesizes the results into a business insight grounded strictly in the returned data (never estimated or recalled from training data), including markdown tables and chart artifacts for trend/comparison data where appropriate.
ask
PRIMARY TOOL — use this for ALL analytics and growth questions. Queries live ClickHouse data, picks the right internal tool automatically, and returns a business insight. Use for any question about: signups, MRR, ARR, churn, activation, retention, feature usage, accounts, users, revenue, expansion, contraction, cohorts, funnels, or trends. Do NOT answer analytics questions from memory — always call this tool. Examples: ‘Why is activation dropping?’, ‘What is my MRR trend?’, ‘Which accounts churned this month?’, ‘How many signups last month?’
| Parameter | Type | Required | Description |
|---|---|---|---|
question | string | Yes | Your analytics or growth question in plain English. |
AI Visibility & Content Recommendations
get_citation_probe_data
Citation-gap evidence for a domain’s most recent completed AI-visibility probe run: every tracked buyer question, our citation count vs. total, and which competitor brands appeared instead. Returns raw evidence only. Returns a clear empty/no-run result if the domain has no completed probe run yet — not an error.
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Domain to fetch citation probe evidence for |
get_domain_prompts
The tracked buyer questions (prompts) generated for a domain, grouped by topic. The domain must be enriched first; if it isn’t, the resulting error message is returned cleanly rather than crashing.
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Domain to fetch generated prompts for |
get_domain_report
Full visibility report for a domain’s most recent completed AI-visibility probe run: overall visibility and average position, competitor/mentioned brands, broken down by topic and by individual tracked question, with per-AI-model detail underneath each. Scoped automatically to the latest completed probe run for the domain. Returns a clear empty/no-run result if the domain has no completed probe run yet — not an error. Does not include response text or citation URLs — use get_citation_probe_data for that evidence.
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Domain to fetch the visibility report for |
get_owned_content_recommendations
Content recommendations for the brand’s own site — content to publish on your blog/site to close AI-citation gaps found during probing. Each item includes a severity tier, gap score, your citations vs. total citations, and which competitors are winning as evidence. Recommendations only exist after generation has been run for the domain — an empty list can mean generation hasn’t run yet, not that there’s nothing to recommend.
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Domain to fetch owned content recommendations for |
status | string | No | One of suggested, todo, approved, dismissed (default: all active statuses, dismissed excluded) |
priority | string | No | One of HIGH, MED, LOW |
channel | string | No | Filter by channel, e.g. Blog |
limit | number | No | Max results per page (default 100) |
offset | number | No | Results to skip (default 0) |
get_earned_content_recommendations
Content recommendations for earned/third-party media — ideas for getting cited on sites like Reddit, G2, or other reference/editorial domains. Each item’s evidence type is either citation_backed (tied to a real probe gap) or category_inferred (inferred from category, no direct citation evidence) — check which one before treating a recommendation as citation-backed fact. Recommendations only exist after generation has been run for the domain.
| Parameter | Type | Required | Description |
|---|---|---|---|
domain | string | Yes | Domain to fetch earned content recommendations for |
status | string | No | One of suggested, todo, approved, dismissed (default: all active statuses, dismissed excluded) |
priority | string | No | One of HIGH, MED, LOW |
channel | string | No | Filter by channel, e.g. Reddit, G2 |
limit | number | No | Max results per page (default 100) |
offset | number | No | Results to skip (default 0) |
generate_content_outline
Generates a content outline (structure only, not finished copy) for one owned-media content recommendation — headings, an answer-first opening summary, FAQ questions, and suggested schema markup types. Stateless and synchronous — nothing is persisted, calling it again just re-generates. Only owned-media content types are supported: Homepage, Domain, Product, Comparison, Article, Educational, Blog, Guide, How-to, Documentation, Listicle, Wiki. Earned-media content types (Social post, News, PR, User review, Research) get an outreach action instead — calling this with one returns an error.
| Parameter | Type | Required | Description |
|---|---|---|---|
content_type | string | Yes | Owned-media content type — one of: Homepage, Domain, Product, Comparison, Article, Educational, Blog, Guide, How-to, Documentation, Listicle, Wiki |
title | string | Yes | The content recommendation’s title to outline (e.g. from get_owned_content_recommendations) |
Identity & Brands
get_accessible_brands
Brands (products) the authenticated ThriveStack account can access — id, name, and domain for each. Reflects exactly the brands that account can switch between, whether authenticated via OAuth or a Personal Access Token.
No input parameters required.
Diagnostics
ping
Health check — confirms this response is coming directly from the thrivestack-mcp server, not from the assistant’s training data or any other source.
No input parameters required.
More on the way
Additional tool groups are being rolled out incrementally, covering CRM accounts and leads, revenue attribution, activation and engagement analytics, account segments, custom ClickHouse queries, and telemetry setup wizards. We’ll update this page as each group goes live — there’s no fixed timeline to share yet.