MCP App Store
by KeenEthics
Data & Analytics
Leadstore.xyz icon

Leadstore.xyz

by Towsif Ahamed

Overview

Leadstore tracks how your brand shows up in AI search — ChatGPT, Google, Gemini, Claude, Perplexity and Grok — and helps you act on what it finds. Connect your Leadstore account and ask for things that would otherwise take several dashboards: your AI visibility score and the prompts you are cited in, share of voice against tracked competitors, keyword and content gaps, technical audit findings, and where your brand is being discussed on other sites. You can also work on content in the conversation. Read a blog draft together with its quality report and the plan it was written from, edit the parts that need work, and watch the score update — then schedule or publish it to a connected CMS such as WordPress, Sanity or Framer. The plugin acts as you, using your own Leadstore login through a standard OAuth sign-in, and you can revoke access at any time. A Leadstore account is required.

Tools

add_competitor

ChatGPT
Manually add a competitor to track for a site. Capped by the account's competitors_tracked plan limit (pooled across all sites) — fails with a clear quota error if at the cap.

add_rank_tracking_keywords

ChatGPT
Add keywords to a rank tracker (idempotent — re-adding an already-tracked keyword is a no-op). Capped by the account's rank_tracking_keywords plan limit, pooled across every tracker on every site — check estimate_rank_tracker_cost or just try it; a quota error names the current cap.

add_watched_url

ChatGPT
Start watching a URL for citation performance.

approve_and_publish_content_plan_item

ChatGPT
Approve a calendar item's ready draft AND PUBLISH it to the connected CMS, honoring CMS and quota gates. This is a real, external, hard-to-reverse publish action — confirm with the user before calling this rather than doing it unprompted, same as publish_blog_draft.

create_keyword_group

ChatGPT
Create a keyword group (tag) for a site. Returns the existing group if the name already exists.

create_rank_tracker

ChatGPT
Create a new rank tracker for a site (a domain + device + location + language + check-cadence configuration). Free — cost only happens when keywords are added and a check actually runs.

create_wordpress_setup_token

ChatGPT
Mint a short-lived, single-use credential for connecting the Leadstore WordPress plugin (named create_, not get_ — this issues a new secret each call, it doesn't read one back). This only gets the user as far as having a token to paste — the plugin itself (installed and active on their real WordPress site) has to complete the registration call; there's no way to finish this from here. Rate-limited.

delete_ai_model_provider_key

ChatGPT
Remove the account's own saved API key for an assistant provider. Like saving, this is refused with 'provider_key_managed' for providers Leadstore supplies on the account's plan — there is no user-owned key to remove in that case.

delete_competitor

ChatGPT
Stop tracking a competitor.

delete_keyword

ChatGPT
Delete a keyword. Fails if a blog draft already covers it.

delete_keyword_group

ChatGPT
Delete a keyword group (does not delete the keywords in it).

delete_keyword_run

ChatGPT
Delete a past keyword-research run and its keywords.

delete_onpage_fix

ChatGPT
Remove an on-page fix.

delete_rank_tracker

ChatGPT
Delete a rank tracker and all of its tracked keywords and position history.

delete_saved_competitor_keyword

ChatGPT
Remove a bookmarked competitor keyword.

disconnect_framer

ChatGPT
Disconnect a site's Framer connection.

disconnect_integration

ChatGPT
Disconnect a catalog integration.

disconnect_sanity

ChatGPT
Disconnect a site's Sanity connection.

dismiss_content_gap

ChatGPT
Dismiss a content-gap topic so it stops showing up as open.

estimate_rank_tracker_cost

ChatGPT
Get the real number of SERP API calls a run_rank_tracker call would make right now (one per tracked keyword) — check this before running a tracker with a lot of keywords.

get_account_quota

ChatGPT
Get how much of each metered feature is left this period (content_drafts, keyword_runs, visibility_runs, offsite_opportunities, engagement_drafts, page_optimizer_analyses, etc.), plus shape limits like audit_cooldown_seconds and max_keywords_per_run. Check this before suggesting any action that spends quota. Plan name, subscription status and billing details are deliberately NOT available here — if the user asks about their plan, pricing or subscription, tell them to open the Leadstore app rather than guessing.

get_attribution

ChatGPT
Get attribution analytics for a site — which AI-driven touchpoints correlate with real traffic/conversions.

get_audit_checks

ChatGPT
Get every check from a site's latest technical audit (SEO/AEO/GEO/LLMO/ASO), grouped by channel. Each failing check includes detail (what's wrong) and, for most failures, ai_prompt — a complete, ready-to-use prompt describing exactly how to fix it (file-level guidance, not just a description) that you can hand directly to a coding assistant, or use yourself to make the fix. Also includes fix_impact, the real point-gain from fixing each one.

get_audit_crawl_issues

ChatGPT
List issues found by the latest audit's multi-page crawl (broken links, duplicate titles/meta descriptions, thin content, missing alt text, etc.) — a different, page-level layer from get_audit_checks. Optionally filter by severity (high|medium|low) or issue_type.

get_audit_pages

ChatGPT
List every page from the latest audit's multi-page crawl, with per-page technical fields (status code, title, meta description, word count, image/link counts, indexability). Returns 404 if no audit has a crawl yet.

get_audit_status

ChatGPT
Check what's available before considering a new audit: the quota counters (including shape_limits.audit_cooldown_seconds and the visibility_runs counter) plus the audit score history (most recent entry's date tells you how long ago the last technical audit ran). Use this to tell the user whether they're likely still in cooldown or out of quota — running a new audit is something they do themselves in the Leadstore app; there's no trigger tool here.

get_audit_tasks

ChatGPT
Get the audit task tracker for a site: which failing checks are new, still open, resolved, or reopened since the previous audit. Read-only and derived — a task resolves itself once the underlying issue is fixed and a new audit is run; there's no separate mark-done action.

get_blog_draft

ChatGPT
Get one blog draft's full content and metadata (list_blog_drafts may truncate the body). Two fields matter for improving a draft. generation_plan is what the draft committed to before it was written: the sections, which of the site's own data items (internal links, competitor keyword gaps, verified source URLs, real searched questions) were assigned to which section, the planned FAQ, and a stated reason for every item deliberately left out. quality_report is how it was measured against that: scores (structure_seo / grounding / trust), grounding (which committed items are actually missing from the body), and findings — fact-review problems, each carrying the verbatim quote from the draft it came from and the block it sits in. Fix the quoted passages and the missing committed items; that is what the score measures. generation_plan.claim_evidence holds the passage each cited page actually contained for a planned claim — check a figure in the draft against the wording it came from before treating it as sourced.

get_brand_monitoring

ChatGPT
Get what AI engines are currently saying about the brand — the core "is this accurate/flattering" check, separate from the raw visibility score.

get_brand_monitoring_history

ChatGPT
Get brand-monitoring results over time, not just the latest snapshot.

get_citation_growth

ChatGPT
Get the trend of how often a site is being cited by AI engines over time.

get_citation_relationships

ChatGPT
Get which sources AI engines cite alongside this site when discussing it — the surrounding citation graph.

get_citation_sources

ChatGPT
Get the sources AI engines draw from when they cite or discuss this brand.

get_competitor_alerts

ChatGPT
Get recent competitor-visibility changes worth flagging — a competitor's mention share moving meaningfully since the previous audit run.

get_competitor_domain_overview

ChatGPT
Get a tracked competitor's latest domain overview snapshot (organic traffic estimate, ranked-keyword count, domain rank) — real measured data, not just the name competitor discovery gives you. Returns 404 if none has been fetched yet — call refresh_competitor_domain_overview first.

get_content_calendar

ChatGPT
Get the scheduled content plan items for a site, optionally within a date range.

get_content_plan

ChatGPT
Get a site's content-plan settings (mode, cadence, per-run limit, lookahead window, autopublish).

get_framer_status

ChatGPT
Get a site's Framer connection status.

get_ga4_channel_grouping

ChatGPT
Real session/user counts by acquisition channel (Organic Search, Paid Search, Direct, Referral, Social, Email, ...) from the connected GA4 property.

get_ga4_key_events

ChatGPT
Real per-page key-event (conversion) counts from the connected GA4 property — previously this product's GA4 integration had no conversion/goal data at all, only pageviews/sessions/users.

get_generated_llm_data

ChatGPT
Get a site's auto-generated llm-data.json file content.

get_generated_llms_txt

ChatGPT
Get a site's auto-generated llms.txt file content.

get_hallucinations

ChatGPT
Get instances where an AI engine said something false or fabricated about the brand — the thing most worth flagging as "needs work."

get_hallucinations_history

ChatGPT
Get hallucination findings over time, not just the latest snapshot.

get_keyword_cluster_mates

ChatGPT
Preview the other keywords clustered with a given keyword.

get_keyword_run_keywords

ChatGPT
List the keywords produced by one specific historical keyword-research run.

get_keyword_status

ChatGPT
Check remaining keyword-research quota (quota counters only) alongside the existing keyword inventory (first 100, sorted) so you can see how many are already unused (coverage="Gap") before suggesting the user run new research — there's often existing inventory to use first.

get_knowledge_base

ChatGPT
Get a site's Knowledge Base: reference blog links, style/tone notes, brand assets, and discovered social/business-profile handles (auto-found or manually added).

get_local_business_profile

ChatGPT
Get the site's latest cached Google Business Profile snapshot (rating, review count, category, address, phone, hours). Returns 404 if never fetched — call refresh_local_business_profile first.

get_mentions

ChatGPT
Get brand mention trend and recent citations across AI engines for a site.

get_offsite_audit_log

ChatGPT
Get the append-only activity log of off-site actions taken for a site (draft created/edited, etc.).

get_offsite_sources

ChatGPT
Get the per-site off-site discovery adapter configuration (which sources are enabled, query seeds, cadence).

get_offsite_status

ChatGPT
Check remaining off-site quota (offsite_opportunities, engagement_drafts, quota counters only) alongside how many opportunities already exist by status. Use this before suggesting the user run new discovery or generate new drafts — there's usually unactioned inventory already sitting there.

get_optimization_recommendations

ChatGPT
Get a site's current optimization recommendations, derived from its latest audit's failing checks.

get_page_optimization_history

ChatGPT
Get past AI-generated page-optimization analyses for a site (qualitative fix suggestions for specific URLs) — read history only; generating a new analysis costs a page_optimizer_analyses credit and isn't exposed here, ask the user to run it from the app.

get_planning_status

ChatGPT
Check remaining content-draft quota (quota counters only) alongside open gap count and current plan settings — use this before suggesting the user run content/plan or generate new drafts.

get_question_ideas

ChatGPT
Get question-pattern ideas derived from a site's own keywords and drafts — a different, cheaper source of candidate visibility-audit questions than the paid AI-generation endpoint (not exposed here).

get_question_set

ChatGPT
Get the set of questions used to test AI visibility for a site — which ones are selected for the next audit run, and which candidates exist but aren't selected.

get_rank_tracker

ChatGPT
Get one rank tracker's full detail, including every tracked keyword's latest position.

get_research_log

ChatGPT
Check what paid research has already been done for a site (last 90 days) before spending on a new lookup — e.g. before calling research_keywords or run_rank_tracker again for the same subject, check here first. Optionally filter by kind and/or a subject substring.

get_sanity_status

ChatGPT
Get a site's Sanity connection status.

get_search_console_performance

ChatGPT
Real clicks/impressions/CTR/average position from the connected Search Console property, on demand (not the cached daily snapshot the app's Position tracking panel uses). Only covers queries that already got at least one impression — for a target keyword with zero history, use a rank tracker instead. Defaults to a per-query breakdown; pass dimension to break down by device or country instead.

get_search_opportunities

ChatGPT
Pages in Search Console 'striking distance' (average position 4-20 — close enough to page 1 that a push can realistically move them), sorted by impressions, with GA4 sessions for the same page merged in as the real outcome signal (null if GA4 isn't connected — still useful GSC-only). A high-impression, near-page-1 page with disproportionately few GA4 sessions is worth a closer look.

get_share_of_voice

ChatGPT
Get share-of-voice trend and competitor leaderboard for a site.

get_site

ChatGPT
Get full detail for one site: traffic summary, tracking-tag install status, and a preview of the auto-generated llms.txt / llm-data.json files.

get_traffic_summary

ChatGPT
Get a site's traffic summary (verified-bot/crawler + human traffic) over the last N days.

get_traffic_timeseries

ChatGPT
Get a site's traffic as a time series (for trend/anomaly analysis) — merges GA4 human traffic with the Leadstore tag's bot/crawler data when GA4 is connected.

get_visibility_citations

ChatGPT
Get the raw list of citations found during visibility audits — specific sources AI engines pointed to.

get_visibility_score

ChatGPT
Get the current AI visibility score and per-engine breakdown for a site.

get_wordpress_status

ChatGPT
Get a site's WordPress plugin connection status.

inspect_url

ChatGPT
Real-time Google index status for one URL via Search Console's URL Inspection API — indexing verdict, canonical Google chose, last crawl time, mobile usability. Works for any URL on the property, indexed or not, unlike search-performance data (which only covers queries that already got impressions). Has a low daily quota (Google's own limit) — don't loop this over many URLs.

list_ai_model_providers

ChatGPT
List assistant providers (ChatGPT, Gemini, Claude, Perplexity, …) and how each one is powered for this account. Each provider reports: key_source ('included' = Leadstore supplies the key on this plan, 'byo' = the account's own key, null = not set up), managed (true when we supply it), manageable (false when there is no key for the user to set), and key_masked (last 4 characters only, for BYO). On managed-key plans, managed_keys.credits_available reports whether the account's included AI budget for the period still has room — the dollar figures behind it are billing detail and are not exposed here; see the Leadstore app's Usage tab for those. Stored API keys cannot be read back in full by any tool; only the mask is ever available.

list_all_competitor_suggestions

ChatGPT
List every discovered competitor suggestion from every past discovery run (full history, paginated), including ones already added.

list_audits

ChatGPT
Get a site's audit score history (each past technical audit run and its overall score).

list_blog_drafts

ChatGPT
List blog drafts for a site, most recent first. content_score (0-100), quality_buckets (per-check pass/fail with fix guidance) and quality_report (the component scores — structure_seo / grounding / trust — plus any fact-review findings) are included on every draft, computed server-side, no separate scoring call needed. generation_plan_summary says whether the draft was written to a plan; call get_blog_draft for the plan itself.

list_competitor_local_rank_checks

ChatGPT
List past local-pack rank checks for a tracked competitor, most recent first — same mechanism as list_local_rank_checks, for a competitor's business name instead of the site's own.

list_competitor_suggestions

ChatGPT
List AI-discovered competitor suggestions not yet added (from the latest, or a specific, discovery run).

list_competitors

ChatGPT
List the tracked competitors for a site.

list_content_gaps

ChatGPT
List open content-gap topics for a site (sourced from visibility, competitor, keyword-cluster, or audit signals).

list_content_measurements

ChatGPT
Real measured outcomes for a site's published content: per draft, the page's traffic before publishing, after the follow-up window, and the delta. Rows still inside their follow-up window carry live_metrics (traffic so far) instead of metrics_after, so a recent post reads as in-progress rather than as a failure. traffic_status says whether the site has an analytics source connected at all — with none, every row is empty and that is a setup gap, not a content result. Pair this with get_blog_draft to connect what a draft was built from to how it did: generation_plan says which of the site's own data it committed to using, quality_report.grounding says how much of that it actually delivered, and this says what happened after publishing. Be careful about causation — traffic moves for many reasons, sample sizes here are small, and a high content_score is not a promise of traffic. Report what the numbers show and say when there is too little data to tell.

list_engagement_drafts

ChatGPT
List existing engagement drafts (replies/emails/corrections/pitches) written for a site's queued off-site opportunities. These are always draft-only — nothing here is ever auto-sent or auto-posted; a human takes the actual reply/post/edit action manually, outside this system. Each draft carries quality_score, quality_report (per-check pass/fail with fix text, plus any review findings quoting the draft) and blocked. blocked means do not post this as-is — a required affiliation disclosure is missing, a cited source is dead or absent, it duplicates another draft, or a Talk-page request links the brand's own site. Tell the user what to fix; never present a blocked draft as ready.

list_integrations_catalog

ChatGPT
List available/connected integrations (CMS, analytics, revenue, SEO data connectors). Pass site_id to resolve per-site connection status accurately.

list_kb_suggestions

ChatGPT
List platform-handle suggestions found via search but not yet confirmed — accept to add them to the Knowledge Base, or dismiss.

list_keyword_groups

ChatGPT
List a site's keyword groups (tags).

list_keyword_runs

ChatGPT
List past keyword-research runs for a site (status, when, how many keywords each produced).

list_keywords

ChatGPT
List a site's keywords/ideas (across all research runs), with per-keyword coverage (Covered/Partial/Gap) and draft linkage — this is the full browsable inventory, not just the latest run.

list_local_rank_checks

ChatGPT
List past local-pack (Google Maps) rank checks for a site, most recent first.

list_my_reports

ChatGPT
List reports this account has submitted through this connector, with their status.

list_offsite_influencers

ChatGPT
List influencers/authors discovered off-site, rolled up by reach and sentiment.

list_offsite_mentions

ChatGPT
List existing brand mentions found off-site — what people are already saying, with sentiment/intent.

list_offsite_opportunities

ChatGPT
List off-site AI-citation opportunities discovered for a site: public web-search results (Reddit, Quora, forums, reviews, social platforms, etc.) plus Wikipedia via its own API — never scraped or authenticated access to the platforms themselves, just what a search engine already surfaces publicly. Optionally filtered by source, status (new/triaged/queued/dismissed), or minimum score. Each opportunity carries TWO independent scores and they answer different questions: total_score is how valuable the thread looks, engagement_safety (0-1) is whether engaging there is appropriate at all given the platform's rules and how relevant the brand genuinely is to that specific thread. A high total_score with low engagement_safety is normal and does NOT mean 'go post' — Wikipedia scores highest on value and lowest on safety, because direct promotional editing is against policy there. recommended_action says what engaging actually means on that source (talk_page_request, reply_with_disclosure, outreach_email, verified_business_reply). Never recommend posting without reading both.

list_onpage_fixes

ChatGPT
List the on-page fixes (JSON-LD, meta tags, canonical, hreflang) currently configured for a site — these are injected live by the tracking tag, no CMS access needed.

list_rank_trackers

ChatGPT
List a site's rank trackers, each with its tracked keywords and their latest known SERP position (null position means the domain wasn't found in the last scan, not that it ranks last).

list_saved_competitor_keywords

ChatGPT
List keywords a user has manually bookmarked against a competitor (found elsewhere, saved for reference — not a live lookup).

list_sites

ChatGPT
List the AEO/Leadstore sites on this account, with their site_id.

list_watched_urls

ChatGPT
List URLs being watched for citation performance, each with how often it's actually been cited across recent runs.

log_research

ChatGPT
Record a research finding this product has no dedicated endpoint for yet (e.g. you read a competitor's page directly, or ran a lookup outside these tools) so a future check of get_research_log knows it's already been done. Free — this only stores what you give it.

publish_blog_draft

ChatGPT
Publish a draft to the site's connected CMS (Sanity/WordPress/Webflow/Shopify/Framer — fails with a clear message if none is connected yet). This is a real, external, hard-to-reverse action — it's not gated on content_score, so confirm with the user before calling this rather than doing it unprompted. If the draft's quality_report.blocked is true, the fact review found something that shouldn't be published as-is (a fabricated statistic or example, or a false claim about the business) — say so and get an explicit go-ahead rather than publishing on the score alone.

refresh_competitor_domain_overview

ChatGPT
Fetch a fresh domain overview for a tracked competitor. Rate-limited.

refresh_local_business_profile

ChatGPT
Fetch a fresh Google Business Profile snapshot. Rate-limited — only call when the user wants updated numbers.

remove_rank_tracking_keyword

ChatGPT
Stop tracking one keyword on a tracker. Its past position history is kept, not deleted, even though it stops updating.

remove_watched_url

ChatGPT
Stop watching a URL.

respond_to_kb_suggestion

ChatGPT
Accept (adds it to the Knowledge Base as a confirmed handle) or dismiss a discovered-handle suggestion.

run_competitor_local_rank_check

ChatGPT
Check where a tracked competitor appears in the Google Maps local-pack results for one keyword (+ optional city/region) — see how their local visibility compares to yours for the same search.

run_local_rank_check

ChatGPT
Check where the site's business appears in the Google Maps local-pack results for one keyword (+ optional city/region). Spends real API quota and is rate-limited — this is a one-off check, not a recurring tracker.

run_rank_tracker

ChatGPT
Run a rank tracker now instead of waiting for its scheduled check — spends real API quota (one live SERP call per tracked keyword) and is rate-limited. Every tracker also runs automatically on its own schedule_interval, so this is only for 'check right now' requests.

save_competitor_keyword

ChatGPT
Bookmark a keyword against a competitor for reference. Free — this just stores what you give it, it doesn't look anything up.

schedule_content_plan_item

ChatGPT
Schedule a gap or keyword onto the content calendar as a future-dated slot. This does NOT generate a draft yet — it just creates the planned placeholder; a draft gets created later (manually via the app, or by autopilot's reconcile loop for assisted/auto plans).

set_onpage_fix

ChatGPT
Create or replace an on-page fix for a specific URL path on a site. kind is one of jsonld, meta, canonical, hreflang; payload is the kind-specific config object (e.g. the JSON-LD document for kind=jsonld). Upserts — re-applying for the same url_path+kind replaces it.

submit_report

ChatGPT
Report a vulnerability, bug, or feature request found while using this connector, or send any other note to Leadstore support. Saved and emailed to support immediately — use this rather than telling the user to email someone, since you can't send email yourself. Rate-limited to 5 per day.

unpublish_blog_draft

ChatGPT
Revert a published draft back to draft status and remove it from the connected CMS.

update_blog_draft

ChatGPT
Edit an existing draft (only while its status is "draft" or "published"). body is block-level content — text blocks take plain text, images take {url, alt}, tables take {headers, rows}; heading levels can only swap between H2 and H3. Editing the body re-scores the draft server-side and returns the updated content_score / quality_report, so you can check whether a rewrite actually helped instead of guessing. A fact-review finding clears when the passage it quoted is no longer in the body. Editing is free; regenerating is not and isn't exposed here.

update_content_plan

ChatGPT
Update a site's content-plan settings (mode, cadence, per-run limit, lookahead window, pause/resume). mode "assisted"/"auto" requires the autopilot_scheduling feature (Pro+). Enabling autopublish isn't exposed here on purpose — turning it on together with "trusted" immediately publishes any items already awaiting approval, which is a real publish action, not a settings tweak; that combination has to be set from the Leadstore app.

update_content_plan_item

ChatGPT
Reschedule a calendar item to a different date, or skip it. Safe — this never publishes anything. To approve a ready draft, use approve_and_publish_content_plan_item instead; it isn't offered here as a status value on purpose, since that action publishes content, not just changes a status.

update_engagement_draft

ChatGPT
Edit an existing engagement draft's body/subject/citations. Editing an existing draft is free — generating a brand-new one costs an engagement_drafts credit and isn't exposed here. Editing the body re-runs the safety checks and returns the updated quality_score / blocked, so an edit that adds the missing disclosure or replaces a dead citation clears the block immediately.

update_keyword_group

ChatGPT
Rename/restyle a keyword group.

update_keyword_groups

ChatGPT
Replace which keyword group(s) a keyword belongs to (a keyword can belong to several).

update_knowledge_base

ChatGPT
Update a site's Knowledge Base. Every field is a full replace of that section — e.g. passing discovered_handles replaces the entire map, so include unchanged entries alongside your edits, or drop a key to reject/remove that handle (including auto-discovered ones).

update_offsite_opportunity_status

ChatGPT
Triage, queue, or dismiss an off-site opportunity. queue marks it ready for someone to act on; triage marks it reviewed; dismiss marks it not worth pursuing. This never posts anything anywhere — it only changes the opportunity's internal status.

update_offsite_sources

ChatGPT
Update the off-site discovery adapter configuration for a site.

update_onpage_fix

ChatGPT
Enable/disable an existing on-page fix (or edit its payload).

update_question_set

ChatGPT
Edit the visibility-audit question set: select/deselect existing questions by the numeric id shown in get_question_set (these are plan-config ids, not account resource ids, so they stay plain numbers), add new question text directly, or remove questions outright. Selected count is capped by plan. This only edits the set — it doesn't generate new AI-written candidate questions (that's a separate, billed action not exposed here).

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

131

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily