MCP App Store
by KeenEthics
Business & Operations
Promptwatch icon

Promptwatch

by Promptwatch

Overview

Monitor and optimize your brand's presence across AI Search. Query visibility scores, citations, sentiment, and AI-referred traffic directly from Claude. Compare competitors, find content gaps, and generate content that gets cited — without leaving your workflow.

Tools

acceptContentSlot

ChatGPT
Accept a REVIEW draft: moves it to SCHEDULED (future publishAt) or publishes now when past due / immediate timing. Requires dashboard setup. Pass pastDueAction when publishAt is already in the past.

activatePrompts

ChatGPT
Activate prompts and return { count }. Newly activated prompts consume quota and may queue response work.

addPageTracker

ChatGPT
Registers canonical URLs on the project's page-tracker watchlist so their AI citations are monitored going forward. Only use when the user explicitly asks to track pages. Returns added, skipped, and failed per-URL results; request validation or storage errors can still fail the call.

addShoppingTrackedProducts

ChatGPT
Track one or more products by catalog ID so their AI shopping appearances are matched. Duplicates are counted and skipped, not rejected. Returns {created,reactivated,matched,duplicateInBatch,duplicateExisting,submitted}. Requires the Shopping insights plan feature.

attachTagsToPrompt

ChatGPT
Attach tags to one prompt, creating missing tags. Returns the prompt's tag links with nested tag data.

attachTagsToPromptsBulk

ChatGPT
Attach tags to prompts, creating missing tags. Returns { success, count }, where count is new links.

attachTopicsToPrompt

ChatGPT
Attach topics to one prompt, creating missing topics. Returns { attached }, the number of new links.

attachTopicsToPromptsBulk

ChatGPT
Attach topics to prompts, creating missing topics. Returns { attached }, the number of new links.

clearContentPublication

ChatGPT
Unlink a document from its published URL. The page tracker and its citation history are kept, so the URL stays tracked; use removePageTracker to stop tracking it.

createActionItem

ChatGPT
Create a GEO board action. Prefer typed actions; CUSTOM only when none fit. Copy every UUID in data verbatim from tool results — never invent IDs or use CUSTOM to skip them. For CUSTOM, include relatedPrompts when prompts apply. Lands in To Do; dedup returns created:false with the existing action.

createBrand

ChatGPT
Create or reuse a brand, link it to the project, and return the project-brand row. Setting relation to SELF demotes the previous SELF brand.

createContent

ChatGPT
Queue quota-gated, asynchronous content generation. CREATE makes new content. OPTIMIZE creates a rewritten draft of an existing page from stored crawl content without editing or publishing the live page. Returns { id, status }; poll getContent until COMPLETED, FAILED, or STOPPED.

createDashboard

ChatGPT
Create a custom dashboard from widgets with optional saved filters, or from a template. Personal by default, so only you see it; pass scope TEAM to share it. Returns the dashboard and shows the user a link to it.

createMonitor

ChatGPT
Create an active monitor and return its record with promptCount. Optionally pass initialPrompts and/or generatePrompts (up to 3 batches, 50 total) to create prompts synchronously. Generation uses the project's crawled description, so run it on an enriched project. Persona data is snapshotted.

createPersona

ChatGPT
Create an audience persona and return its row. Use it to shape future monitors; names are unique per project.

createProject

ChatGPT
Create a Promptwatch project and return its record, including id, slug, and isPitchProject. Requires an organization-level writable credential and the matching quota; website enrichment runs asynchronously. Set isPitchProject to use maxPitchProjects instead of maxProjects.

createPrompt

ChatGPT
Create one tracked prompt and return its row. Enforces active-prompt quota and queues response processing asynchronously.

createPromptsBulk

ChatGPT
Create prompts for one monitor. Returns { created, skipped }; skipped entries repeat the submitted text with the id of the live prompt it duplicates, or null when an earlier entry of the same batch matched. Enforces active-prompt quota and queues response processing asynchronously.

createReport

ChatGPT
Queue an asynchronous PDF Report of the project's Dashboard, with the same filters as the Reports UI (email is never sent). Returns { reportId, status }; poll getReport until complete for a Download URL.

createTags

ChatGPT
Create missing tags and return matching tag rows. Names are trimmed and deduplicated; this does not attach them.

createTopics

ChatGPT
Create missing topics and return matching rows. Names are trimmed, lowercased, and deduplicated; this does not attach them.

deactivatePrompts

ChatGPT
Deactivate prompts and return { count }. Stops future scheduling while retaining response history.

declineContentSlot

ChatGPT
Decline a REVIEW, APPROVED, or SCHEDULED piece. Requires dashboard setup. The slot becomes SUPPRESSED and will not be generated or published; this cannot be undone with these tools.

deleteContentSlot

ChatGPT
Permanently delete a FAILED or PUBLISH_FAILED piece. Requires dashboard setup. Optionally also deletes the linked draft document. Other statuses are rejected.

deleteMonitor

ChatGPT
Soft-delete and deactivate a monitor, returning { success: true }. Stops future scheduling but retains historical data.

deletePersona

ChatGPT
Delete a persona and return { success: true }. Fails if the persona has been used on a tracked response. Otherwise monitors using it are detached and stacking is turned off.

deletePrompt

ChatGPT
Soft-delete and deactivate a prompt, returning { success: true }. Future runs stop; response history is retained.

deletePromptsBulk

ChatGPT
Soft-delete and deactivate prompts, returning { count }. All ids must belong to the project; response history is retained.

deleteShoppingTrackedProduct

ChatGPT
Stop tracking a product; extracted shopping data is unaffected. An unknown product returns SHOPPING_TRACKED_PRODUCT_NOT_FOUND. Requires the Shopping insights plan feature.

deleteTag

ChatGPT
Delete a tag and return { success: true }. Prompt links cascade; other references may block deletion.

deleteTopic

ChatGPT
Delete a topic and return { success: true }; its prompt links are removed.

getActionBoardOverview

ChatGPT
Summarize the project's action board: counts by status/severity/type, a catalog of every action type with open counts (suggested/todo/in_progress only — done is excluded), recent non-dismissed actions, and stale suggested/todo items. Call this before creating actions to avoid duplicates.

getAdDomainAnalytics

ChatGPT
Get the top advertiser domains (or store names for product ads without a known domain) with daily ad counts (defaults to the last 90 days when dates are omitted). Returns {topDomains,daily} for share-of-ads trends. Requires the Ads Radar plan feature.

getBingSearchInsightsPages

ChatGPT
Bing Webmaster clicks, impressions, and position per site pathname, with previous-period change. Paginated. Bing figures use complete Sat–Fri weeks and may not cover the same calendar days as Google. An unconnected project returns empty rows.

getBingSearchInsightsTrend

ChatGPT
Daily Bing Webmaster clicks and impressions for the project website. Dates default to the last 30 days and cannot exceed 92 days. Bing figures use complete Sat–Fri weeks and may not cover the same calendar days as Google. An unconnected project returns zeros.

getBrandVisibilityOverTime

ChatGPT
Return { timeSeries, topBrands } for brand visibility comparisons. Each time-series point includes shareOfVoice (that brand's mentions / all compared-brand mentions that day, 0–100). The SELF brand is always returned, with mentionCount 0 and totalResponses for buckets that have responses, unless excludeSelf is true. Supports model, prompt, monitor, type, relation, and name/domain filters; omitted dates query today only, inclusive UTC.

getCitationDomainsByLlm

ChatGPT
Return each model/provider with domains:[{domainName,count}] citation totals. Use to compare source preferences across AI engines; limit applies per model.

getCitationDomainsOverTime

ChatGPT
Return {dates,series,totalCitations} for citation counts and share by domain over time. Use to compare sources; averageRank is within-answer position where 1 is best.

getCitationLlmSources

ChatGPT
Return {llm,provider,model,totalCitations,uniqueDomains,uniquePrompts} rows. Use to compare citation breadth by AI engine; limit caps model rows.

getCitationRankAnalysis

ChatGPT
Return {timeSeries,overallAverageRank,lastRank} for within-answer positions of self-domain citations. Use to track citation prominence; rank 1 is best, not most-cited-domain rank.

getCitationTopPages

ChatGPT
Return {url,count,averageRank} rows for the most-cited pages. Use to find relied-on sources; averageRank is within-answer position where 1 is best.

getCitations

ChatGPT
Return cited-domain/URL frequencies plus total estimated monthly traffic and average authority/PageRank metrics. Use for a source overview; domains.data is limited, while urls is not.

getCompetitorHeatmap

ChatGPT
Return {brandId,competitor,model,percentage} cells comparing brand visibility by model. Use for cross-model benchmarking; percentage is a 0–100 visibility score, not sentiment.

getContent

ChatGPT
Get one generated document or poll a createContent job. Returns status, configuration, prompt, markdown content, title, nullable metaTitle (null means the H1/title is used), featuredImageUrl (separate from the body), failure details, and timestamps; content may be null until completion.

getContentAgentSettings

ChatGPT
Get the project's Content Agent configuration (autonomy, publish windows, budget share, CMS). Returns settings: null until setup has been completed once.

getContentGapLatest

ChatGPT
Get a prompt's latest stored content-gap analysis. Returns contentCoverageScore, report, sources, sitemap counts, and recommendations; the score is 0-100, while null means no analysis.

getContentGapRecommendations

ChatGPT
Get a prompt's latest stored analysis and recommendations for creating content or refreshing existing pages. Returns prompt context, current 0-100 coverage, report/source data, and recommendation IDs/details; null means no analysis.

getContentGapStats

ChatGPT
Summarize current content coverage across active prompts. Returns averageCoverageScore, analyzed/unanalyzed totals, distribution, and type/intent breakdowns; scores use each prompt's latest stored 0-100 analysis, and missing analysis is not zero.

getContentPublishStatus

ChatGPT
Get a document's CMS publish history, newest first, plus latest as a shortcut to the most recent record. latest is null when the document has never been pushed. Use it to check whether a draft is STAGED before publishing live.

getContentSlot

ChatGPT
Get one scheduled Content Agent piece including draft markdown, document configuration, and decline reason when present.

getCrawlerTrend

ChatGPT
Shows AI crawler requests over time from ingested server/CDN logs. Returns isSuccess, isEmpty, data, and categories; these are machine requests, not visits or citations. When isEmpty is true, no crawler logs have been recorded and data and categories are empty.

getDashboard

ChatGPT
Get one custom dashboard with its filters, widgets and current version. Read it before updateDashboard.

getGoogleSearchInsightsPages

ChatGPT
Google Search Console clicks, impressions, and position per site pathname, with previous-period change. Paginated. An unconnected project returns empty rows.

getGoogleSearchInsightsTrend

ChatGPT
Daily Google Search Console clicks and impressions for the project website. Dates default to the last 30 days and cannot exceed 92 days. An unconnected project returns zeros.

getGroupedCitations

ChatGPT
Return paginated {data,total,page,size} rows grouped by cited URL, with counts, citation share (percent of analyzed responses citing the URL), 1-based positions, model coverage, and SEO metrics. Use for citation audits; position 1 is best and SEO ranks are separate metrics.

getMentionsTimeSeries

ChatGPT
Return {date,brandMentions,competitorMentions} buckets for collected responses. Use to compare mention trends; competitorMentions counts occurrences, not unique brands.

getMonitor

ChatGPT
Get one monitor with configuration and metrics, including promptCount, responseCount, averageVisibility, and responseCountInRange. Omitted dates query today only, inclusive UTC.

getPageTracker

ChatGPT
Gets one watchlist entry (a URL the user explicitly registered as a page tracker) with AI-response citation totals for a period. Requires an existing tracker id from listPageTrackers; it cannot look up arbitrary URLs — for citation analysis of any page use getCitations or getCitationTopPages. Dates default to today-only UTC and reject future days, while zero citations in-range can return TRACKED_PAGE_NOT_FOUND.

getPerformanceHeatmap

ChatGPT
Heatmap for two axes and one metric: {rowAxis,columnAxis,metric,brand,rows,columns,cells}. Axes: brands, models, topics, countries. Metrics: visibility, sentiment, position, shareOfVoice, winRate. Defaults to brands by models, visibility. Without a brands axis, every cell is the project's own brand, named in brand. A missing cell means no value. visibility, shareOfVoice, and winRate are 0–100. position is an average rank, 1 is best. getCompetitorHeatmap is the brands-by-models list.

getPersona

ChatGPT
Get one persona with its audience profile, demographic fields, and stackable prompt.

getPrompt

ChatGPT
Get a prompt with its monitor, tags, topics, keywords, response count, and rollup metrics. Use after listPrompts for prompt details.

getReport

ChatGPT
Get a Report by id, or poll after createReport. Returns status and timestamps; when status is complete, includes a fresh Download URL for the PDF.

getResponse

ChatGPT
Fetch one AI response with full text, prompt/model details, brand metrics, and cited sources. Use after listResponses for evidence review; the response must belong to the project.

getResponseSentimentDistribution

ChatGPT
Return {sentiment,count,percentage} rows for categorical response sentiment, with percentage on a 0–100 scale. Use to compare sentiment mix; this is not the numeric score.

getResponseSentimentTimeSeries

ChatGPT
Return daily {date,positive,negative,neutral,unknown} counts for responses mentioning the brand. Use for categorical sentiment trends; only days with data are returned.

getResponsesSummary

ChatGPT
Return {totalResponses,totalBrandMentions} as a compact snapshot. Brand mentions count ORGANIC responses only.

getSelfCitationFrequency

ChatGPT
Return {date,value} UTC buckets counting citations to the project domain and subdomains. Use for self-citation trends; null means no citations.

getSentimentTimeSeries

ChatGPT
Return {date,value} UTC buckets for average brand sentiment in scored AI responses (1–100; higher is more positive). Use for tone trends; sentiment is distinct from visibility.

getShoppingItem

ChatGPT
Get one extracted shopping product with appearance stats (appearances, prompts, average position) and its latest appearance. An unknown product returns SHOPPING_ITEM_NOT_FOUND. Requires the Shopping insights plan feature.

getShoppingProductPositionAnalytics

ChatGPT
Get the top products by appearances with daily average 1-based positions (defaults to the last 90 days when dates are omitted). Returns {topProducts,timeSeries}. Requires the Shopping insights plan feature.

getShoppingProductsOverTime

ChatGPT
Get the daily count of product appearances in AI shopping answers (defaults to the last 90 days when dates are omitted). Returns {series} of {date,products} UTC buckets. Requires the Shopping insights plan feature.

getShoppingTopMerchantDomains

ChatGPT
Get merchant domains ordered by product appearances in AI shopping answers. Returns {domains} with {domain,count} entries. Requires the Shopping insights plan feature.

getShoppingTopProducts

ChatGPT
Get products ordered by appearances in AI shopping answers. Returns {products} with {id,title,count} entries; use getShoppingItem for details. Requires the Shopping insights plan feature.

getSiteAuditContentInsights

ChatGPT
Content findings for a site audit run. kind is thin (under 300 words), duplicates (near-duplicate pages), stale (unchanged; set staleDays, default 90), changed (title, heading, description or body versus the previous run) or duplicateTitles. Omit runId for the newest finished run. Pass the returned runId back with cursor.

getSiteAuditLinkInsights

ChatGPT
Link findings for a site audit run. kind is orphans (no inbound links), brokenLinks (edges to a dead page), coverageGaps (linked URLs the run never fetched) or navOnly (linked only from site-wide navigation). truncated means the stored list hit its cap. Omit runId for the newest finished run. Pass the returned runId back with cursor.

getSiteAuditProfile

ChatGPT
Aggregates for a site audit run: link profile (click depth and links per page), content profile (titles, headings, word count, freshness) and the slowest pages by time to first byte. Omit runId for the newest finished run.

getSiteAuditRun

ChatGPT
One site audit run: health score, coverage, response-time averages, and per-check summaries with affected, new and fixed URL counts. Omit runId for the newest finished run. Fails when that run does not exist. Does not start an audit.

getSiteAuditUrlHistory

ChatGPT
Check history for one URL across site audit runs, newest first: status, timing, issues and redirects. Pass nextCursor as cursor.

getSitemapProgress

ChatGPT
Get Promptwatch's stored sitemap crawl progress without starting a crawl. Returns summary, crawlHealthScore, HTTP status breakdown, and attempt stats; excluded assets are omitted and redirects count as success. crawlHealthScore is crawl coverage, not the site audit health score; use getSiteAuditRun for that.

getTopCompetitors

ChatGPT
Return ranked {competitor,count,percentage} rows from DIRECT_COMPETITOR brand mentions. percentage is a rounded 0–100 share of those competitor mentions (not visibility).

getTopCrawlerPages

ChatGPT
Ranks site paths by AI crawler requests from ingested server/CDN logs. Returns isSuccess, isEmpty, and path/request data; these are machine requests, not visits or citations. When isEmpty is true, no crawler logs have been recorded and data is empty.

getUsage

ChatGPT
Return organization usage and effective limits (plan, custom overrides, and add-ons) plus a per-project breakdown including project caps. Covers active prompts, responses, analytics, crawler logs, content generations, crawled pages, knowledge base items, seats, and projects. Requires an organization-level API key.

getVisibilityTimeSeries

ChatGPT
Return {date,value} UTC buckets for the project's 0–100 visibility across collected AI responses, reflecting brand presence and prominence. Use for trends; visibility is distinct from sentiment.

getVisitorReferrerStats

ChatGPT
Compares human visits and hits by referrer with the preceding period. Returns isSuccess, isEmpty, and percentage-change data; provide referrer domains, and do not treat referrals as citations.

getVisitorTopBrowsers

ChatGPT
Ranks browsers in human visitor analytics by visits and hits. Returns isSuccess, isEmpty, and browser data; this is visitor traffic, not crawler activity or citations.

getVisitorTopDevices

ChatGPT
Ranks device types in human visitor analytics by visits and hits. Returns isSuccess, isEmpty, and device data; this is visitor traffic, not crawler activity or citations.

getVisitorTopLocations

ChatGPT
Ranks countries in human visitor analytics by visits and hits. Returns isSuccess, isEmpty, and location data; this is visitor traffic, not crawler activity or citations.

getVisitorTopPages

ChatGPT
Ranks paths in human visitor analytics by visits and hits. Returns isSuccess, isEmpty, and page data; AI-referrer filtering identifies clicks, not citations.

getVisitorTopSources

ChatGPT
Ranks referrer domains in human visitor analytics by visits and hits. Returns isSuccess, isEmpty, and source data; direct traffic is excluded and referrals are not citations.

getVisitorTotal

ChatGPT
Shows human website visits over time from Promptwatch visitor analytics. Returns isSuccess, isEmpty, and total-visit data; this is visitor traffic, not crawler activity or citation evidence.

getVisitorTrend

ChatGPT
Shows human visits over time by referrer from Promptwatch visitor analytics. Returns isSuccess, isEmpty, and trend data; omitted filters include non-AI sources. When isEmpty is true, no visitor analytics have been recorded and data is empty.

listActionItems

ChatGPT
List recommended GEO action items for prioritization. Returns actions with IDs, status, severity, and reasoning plus pagination; newest updates come first, dismissed items are excluded by default, and dismissed-only queries default to a 14-day window.

listAdDomains

ChatGPT
List advertiser root domains seen in captured ads (store names for product ads without a known domain), ordered by ad count. Returns {domains} with {domainName,count} entries; use the domains to filter listAds. Requires the Ads Radar plan feature.

listAdPrompts

ChatGPT
List prompts whose AI answers contained sponsored ads, with ad counts and the latest capture time per prompt. Returns {prompts,total,page,size,totalPages}. Requires the Ads Radar plan feature.

listAds

ChatGPT
List sponsored ads captured in AI answers (Ads Radar) with filters and pagination. Returns {items,total,page,size,totalPages} with ad creative, advertiser, landing page, ad type, price and rating for product ads, and source response. Requires the Ads Radar plan feature.

listBrands

ChatGPT
List brands detected in the available 90-day analytics window or linked to the project. Returns { data, total, skip, limit }; use data[].id as brandId.

listCmsConnections

ChatGPT
List the project's Webflow and Framer connections and whether each can publish. Use an id here as connectionId for pushContentDraft and publishContentLive. Connections are set up in the dashboard, not through tools.

listContent

ChatGPT
List AI-generated content documents and their IDs. Returns summary documents plus pagination; markdown is omitted, so use getContent for the full document or failure details.

listContentGapPrompts

ChatGPT
List active prompts to find content gaps. Returns prompts plus pagination, including nullable latest score/date and sitemap/fanout fields; latestContentGapScore is the current stored 0-100 signal, and null means no analysis.

listContentSlots

ChatGPT
List scheduled Content Agent pieces (the schedule). Requires Content Agent setup in the dashboard. Use pagination + statuses, or pass fromDate/toDate for a calendar window (max 500). SUPPRESSED slots are never returned; FAILED slots only when requested in statuses. Use getContentSlot for draft body.

listDashboards

ChatGPT
List the project's custom dashboards: team dashboards plus your personal ones, with their filters and widgets. The main Dashboard is not listed.

listEvents

ChatGPT
Return project events grouped by UTC day (prompts added/deleted, action items completed). Join on date with getVisibilityTimeSeries or getSentimentTimeSeries to explain movements.

listLinkedInCitations

ChatGPT
Find LinkedIn posts and Pulse articles cited by active project LLM responses using stored citation and LinkedIn data. Returns paginated data with citation metrics; dates filter response creation, not publication, and are unbounded when omitted.

listModels

ChatGPT
List supported LLM models with ids, names, providers, and deprecation metadata. Use returned id values in model inputs; deprecated models are excluded by default.

listMonitors

ChatGPT
List project monitors with configuration, prompt and response counts, and visibility metrics. Use returned ids for monitor inputs; omitted dates query today only, inclusive UTC.

listOffsiteMentionOpportunities

ChatGPT
Return paginated cited pages that mention direct competitors but not the SELF brand, with brand and citation counts. Use for outreach; only analyzed pages qualify.

listPageTrackerPrompts

ChatGPT
Lists prompts whose AI responses cited one specific URL from the project's page-tracker watchlist. Only useful when the user asks about a page they explicitly track; for the project's prompts use listPrompts and for citation analysis use getCitations instead. Returns paginated prompts; dates filter the citing response, default to today-only UTC, and reject future days.

listPageTrackerResponses

ChatGPT
Lists analyzed AI responses that cited one specific URL from the project's page-tracker watchlist. Only useful when the user asks about a page they explicitly track; for responses across the whole project use listResponses instead. Returns paginated responses newest first; dates filter response creation, default to today-only UTC, and reject future days.

listPageTrackers

ChatGPT
Lists the page trackers of this project: a small, user-curated watchlist of specific URLs the user explicitly registered to monitor for AI citations. Most projects track few or no pages, so this is NOT the general citation dataset — for project-wide citation analysis use getCitations, getGroupedCitations, or getCitationTopPages instead. Returns paginated watchlist entries with citation totals; uncited URLs remain with zero counts, and dates default to today-only UTC and reject future days.

listPersonas

ChatGPT
List project personas and their audience profile fields. Use returned ids for monitor and persona inputs.

listProjects

ChatGPT
List projects accessible to the caller. Returns records including id, name, slug, website, and isPitchProject; use id with project-scoped tools.

listPrompts

ChatGPT
List tracked prompts with their tags and topics, with pagination, filters, and sorting. Returns { prompts, total, page, size }; a monitor filter also includes prompts from paused monitors. Keywords are omitted; use getPrompt for one prompt's keywords.

listQueryFanouts

ChatGPT
List active prompts with the query fanouts (sub-queries the AI model searched) extracted from their responses. Returns prompts plus pagination; each prompt includes aggregate keyword metrics and a fanouts array with the source response per fanout.

listRedditCitations

ChatGPT
Find Reddit posts cited by active project LLM responses using stored citation and Reddit data. Returns paginated data with citation metrics; dates filter response creation, not publication, and are unbounded when omitted.

listReports

ChatGPT
List PDF Reports for a project, newest first. Returns summary rows plus pagination; use getReport for a Download URL when a row is complete.

listResponses

ChatGPT
List analyzed AI responses with filters and pagination, returning {responses,total,page,size} with text, prompt, model, citations, 0–100 visibility, and 1–100 sentiment. Use for evidence review; project-wide results exclude paused monitors.

listShoppingItems

ChatGPT
List product appearances captured in AI shopping answers with filters and pagination. Returns {items,total,page,size,totalPages} with product, price stats, merchant, position, and source response. Requires the Shopping insights plan feature.

listShoppingTrackedProducts

ChatGPT
List tracked products (My products) with their matched extracted shopping items, newest first. Returns {products}; unmatched products have shoppingItem: null. Requires the Shopping insights plan feature.

listSiteAuditFailingUrls

ChatGPT
URLs a site audit could not fetch (4xx, 5xx or no response), with status, timing and how many consecutive runs each has been failing. Omit runId for the newest finished run. Pass the returned runId back with cursor.

listSiteAuditIssues

ChatGPT
URLs a site audit flagged, errors first. Filter with issues (check ids), severity (error, warning, notice) or search (URL substring). counts is affected URLs per check under that search. Omit runId for the newest finished run. Pass the returned runId back with cursor.

listSiteAuditRuns

ChatGPT
List site audit runs, newest first. Each run has its health score, coverage counts and issue totals by severity. Pass nextCursor as cursor. Does not start an audit.

listTags

ChatGPT
List tags attached to active prompts. Returns tag rows with _count.promptTags; tags without active prompt links are omitted.

listTopics

ChatGPT
List project topics with _count.promptTopics for active prompts. Topics with zero links are included.

listYoutubeCitations

ChatGPT
Find YouTube videos cited by active project LLM responses using stored citation and video data. Returns paginated data with citation metrics; dates filter response creation, not publication, and are unbounded when omitted.

publishContentLive

ChatGPT
Publish a staged CMS draft to the live public site and track its URL. Requires pushContentDraft on the same connection first. This makes content publicly visible and cannot be undone with these tools, so confirm with the user before calling it.

publishContentSlot

ChatGPT
Manually publish an APPROVED or SCHEDULED piece now (CMS when configured). Requires dashboard setup. Attributes the publish to the calling user when available, otherwise the MCP API key.

pushContentDraft

ChatGPT
Write a document to the connected CMS as an unpublished draft, creating the item or updating an existing one. Nothing becomes publicly visible until publishContentLive. Calls the CMS provider, so it can take several seconds.

removePageTracker

ChatGPT
Removes a URL from the project's page-tracker watchlist and returns deletedCount. Historical responses and citations remain; an unknown tracker returns TRACKED_PAGE_NOT_FOUND.

renameTag

ChatGPT
Rename a tag and return its row; existing prompt and brand links are preserved.

renameTopic

ChatGPT
Rename a topic and return its row; prompt links are preserved. Names are normalized to lowercase.

setContentPublication

ChatGPT
Record the live URL of a COMPLETED document and start tracking that URL for AI citations. Use this for pages published outside a connected CMS. Returns the created page tracker plus domainMismatchWarning when the host is not on the project website.

setupProject

ChatGPT
Create a project, enrich it from its website, and create up to 3 monitors with generated prompts (50 total) in one synchronous call (1-2 minutes). Omit monitors for one monitor with 10 mixed prompts. If prompt generation fails, the project is still returned with monitors: [] and a warning; use createMonitor on it instead of calling setupProject again. Set isPitchProject to use maxPitchProjects instead of maxProjects. Use createProject + createMonitor for finer control.

updateActionItemStatus

ChatGPT
Set an action item's status and return the updated action. done sets completedAt, dismissed sets dismissedAt, and other statuses clear both.

updateBrand

ChatGPT
Update a brand's project relation and return the project-brand row. Use listBrands data[].id, not projectBrandId; SELF demotes the prior SELF brand.

updateContentAgentSettings

ChatGPT
Update the project's Content Agent configuration. Requires the org Content Agent entitlement and that setup was completed in the dashboard.

updateContentSlot

ChatGPT
Replace documentConfiguration on a PLANNED slot (persona, type, length, tone, tools, language); the prior configuration is not recoverable. Requires dashboard setup. Rejected once generation has started — rewrite a REVIEW draft instead.

updateDashboard

ChatGPT
Change a custom dashboard's widgets, filters, name or icon. widgets and filters each replace the whole saved value, so pass the full list from getDashboard with your changes. Fails with a conflict when expectedVersion is stale.

updateMonitor

ChatGPT
Update a monitor and return its record. models replaces the full list and the prior models are not recoverable; activating it or replacing models while active may queue response work.

updatePersona

ChatGPT
Update a persona and return its row. Existing monitors keep their snapshotted persona values.

updateShoppingTrackedProduct

ChatGPT
Update the name or description of a tracked product; the catalog ID is immutable and the prior name/description is not recoverable. An unknown product returns SHOPPING_TRACKED_PRODUCT_NOT_FOUND. Requires the Shopping insights plan feature.

activate_prompts

Claude

attach_tags_to_prompt

Claude

attach_tags_to_prompts_bulk

Claude

create_brand

Claude

create_content

Claude

create_monitor

Claude

create_persona

Claude

create_project

Claude

create_prompt

Claude

create_prompts_bulk

Claude

create_tags

Claude

deactivate_prompts

Claude

delete_monitor

Claude

delete_persona

Claude

delete_prompt

Claude

delete_prompts_bulk

Claude

delete_tag

Claude

get_brand_visibility_over_time

Claude

get_citation_domains_by_llm

Claude

get_citation_domains_over_time

Claude

get_citation_llm_sources

Claude

get_citation_rank_analysis

Claude

get_citation_top_pages

Claude

get_citations

Claude

get_competitor_heatmap

Claude

get_content

Claude

get_content_gap_latest

Claude

get_content_gap_recommendations

Claude

get_content_gap_stats

Claude

get_crawler_trend

Claude

get_mentions_time_series

Claude

get_monitor

Claude

get_persona

Claude

get_prompt

Claude

get_response

Claude

get_response_sentiment_distribution

Claude

get_response_sentiment_time_series

Claude

get_responses_summary

Claude

get_self_citation_frequency

Claude

get_sentiment_time_series

Claude

get_sitemap_progress

Claude

get_top_competitors

Claude

get_top_crawler_pages

Claude

get_visibility_time_series

Claude

get_visitor_referrer_stats

Claude

get_visitor_top_browsers

Claude

get_visitor_top_devices

Claude

get_visitor_top_locations

Claude

get_visitor_top_pages

Claude

get_visitor_top_sources

Claude

get_visitor_total

Claude

get_visitor_trend

Claude

list_brands

Claude

list_content

Claude

list_content_gap_prompts

Claude

list_models

Claude

list_monitors

Claude

list_personas

Claude

list_projects

Claude

list_prompts

Claude

list_query_fanouts

Claude

list_responses

Claude

list_tags

Claude

rename_tag

Claude

update_brand

Claude

update_monitor

Claude

update_persona

Claude

Capabilities

Writes

App Stats

207

Tools

ChatGPT, Claude

Platforms

Works with

ChatGPT
Claude

Data refreshed daily