MCP server

Connect Claude Code, Cursor, or any MCP client over OAuth and let your agent drive the /v1 API.

The Rank Prompt MCP server is a hosted remote Model Context Protocol server at https://mcp.rankprompt.com/mcp. It exposes your AI visibility data (brands, reports, citations) and the in-app Agent’s actions as tools any MCP client can call, each over its own /v1 API endpoint. Same data and the same entitlement as the API; nothing to host or keep running.

For the product overview see the MCP landing page. This page is the technical reference.

PropertyValue
Endpointhttps://mcp.rankprompt.com/mcp
TransportStreamable HTTP (remote), one JSON-RPC request per POST
AuthOAuth 2.1 + PKCE in the browser, or a pass-through API key
PlanEvery plan, free included: the same entitlement as the /v1 API
ToolsThe in-app Agent’s tools, each calling its own /v1 endpoint

Connect

Pick your client, add the server, then authenticate. In Claude Code you sign in over OAuth and never paste a key. Other clients point at the URL and approve in the browser, or fall back to an API key.

claude mcp add --transport http --scope user rankprompt https://mcp.rankprompt.com/mcp
{
"mcpServers": {
  "rankprompt": {
    "url": "https://mcp.rankprompt.com/mcp"
  }
}
}

--scope user makes the server available in every project. Once connected, call rankprompt_prime first: it returns your entitlement status and the canonical workflow the agent should follow.

Authentication

Two ways to authenticate, both resolving to a scoped /v1 API key:

  • OAuth 2.1 (interactive clients). The client registers over dynamic client registration, then you approve access on a consent screen and sign in with Google. The flow uses PKCE (S256), so no secret ends up in your shell history. The access token the server issues carries your API key encrypted: the client can read the token but not the key, which is decrypted server-side only to call /v1.
  • Pass-through API key (headless / CI). Send a rp_live_... key as the bearer token. Mint one on the Developers page inside your workspace. Use this for clients without a built-in OAuth flow.

Either way, every call is bound to the key’s scopes and brand restriction, and revoking a key takes effect on its next call.

Scopes

The consent screen recommends the scopes of the everyday toolset: brands, reports, prompts, citations, jobs, page audit, scheduled reports, region configs, competitors, content, CMS connections, brand audits, tasks, analytics, SEO, reading outreach, account metadata and billing, read and write where a tool needs it. Sending outreach email, community threads, Google Business Profile, client reports, the agency portfolio and prospect searches are offered unticked. You can grant more or fewer in the picker. A tool whose endpoint needs a scope you did not grant returns insufficient_scope.

Implementing your own client

Discovery is standard, so any compliant MCP client connects with no manual config. All paths are on the server origin mcp.rankprompt.com:

DocumentPath
Protected resource metadata (RFC 9728)/.well-known/oauth-protected-resource
Authorization server metadata (RFC 8414)/.well-known/oauth-authorization-server
Dynamic client registration (RFC 7591)POST /oauth/register
AuthorizeGET /oauth/authorize
TokenPOST /oauth/token

Public clients only (token_endpoint_auth_method: none), the authorization_code grant, and PKCE S256 are required. A tools/call sent without a token returns 401 with a WWW-Authenticate header pointing at the protected-resource metadata, which is the pointer MCP clients follow to start OAuth.

Tools

The tools are the ones the in-app Agent runs, generated from the same catalog, so the server and the Agent never drift, each with typed arguments and its credits and plan in its description. Each one calls its own /v1 endpoint with your key, so it takes that endpoint’s scope, request units and credits and answers its JSON; rankprompt_call_tool with a tool’s name and no arguments names its endpoints. Pass dry_run: true to see what a write would spend without running it. A call that deletes something or acts outside Rank Prompt (sends mail, publishes, opens a checkout), or changes how a brand reads its Google data, first answers a dry run of the call and what it would do, and runs once called again with confirm: true after you agree. There is no generic tool: an endpoint no tool calls is reached over /v1 with your API key.

Built in

ToolWhat it does
rankprompt_primeStart here: how to drive the server, what spends credits, and which playbook to read.
rankprompt_skills_list, rankprompt_skills_readThe playbooks, one per area (measurement, prompts, content, publishing, keywords, site health, outreach and more), the same ones the Agent loads, and the Agent’s ready-made jobs.
rankprompt_call_toolRun a tool the list does not carry, by its name and arguments, under the same rules as a listed one. Without arguments it answers that tool’s arguments, endpoints and scope, and runs nothing.

By area

The server lists the tools people use most and, for each area, its main read, its main write and the action that spends credits, so a client without its own tool search does not load every definition in each chat. The tools marked * are not in the list: the area’s playbook (rankprompt_skills_read) names them, and rankprompt_call_tool runs them with the same confirmations, dry runs and credits.

AreaTools
Tasksrankprompt_list_tasks, rankprompt_get_task, rankprompt_create_task, rankprompt_update_task, rankprompt_generate_report_recommendations
Billingrankprompt_get_credit_balance, rankprompt_buy_credits, rankprompt_subscribe
Brandrankprompt_get_brand_info, rankprompt_update_brand_info, rankprompt_update_brand_facts, rankprompt_research_brand, rankprompt_create_brand, rankprompt_delete_brand*, rankprompt_restore_brand*, rankprompt_list_alias_suggestions*, rankprompt_accept_alias_suggestion*, rankprompt_dismiss_alias_suggestion*
Brand auditrankprompt_list_brand_audits, rankprompt_get_brand_audit, rankprompt_run_brand_audit
Reportsrankprompt_list_reports, rankprompt_get_report, rankprompt_get_prompt_answers, rankprompt_create_report, rankprompt_update_report*, rankprompt_delete_report*, rankprompt_analyze_report_visibility
Diagnosisrankprompt_get_report_visibility_breakdown, rankprompt_get_answers_by_platform
Report buildrankprompt_get_report_prompts, rankprompt_add_report_prompts, rankprompt_update_prompt*, rankprompt_delete_report_prompts, rankprompt_manage_locations, rankprompt_manage_report_markets
Promptsrankprompt_list_brand_prompts, rankprompt_set_prompt_tracking, rankprompt_list_fanouts*, rankprompt_get_fanout_prompts*, rankprompt_discover_prompts, rankprompt_get_prompt_insights*, rankprompt_suggest_prompt_content*
Scheduled reports and trendsrankprompt_list_scheduled_reports, rankprompt_create_scheduled_report, rankprompt_update_scheduled_report, rankprompt_delete_scheduled_report*, rankprompt_run_scheduled_report_now, rankprompt_get_scheduled_report_analytics, rankprompt_get_visibility_trends, rankprompt_list_calendar_events*
Competitorsrankprompt_get_named_brands, rankprompt_list_competitors, rankprompt_get_share_of_voice, rankprompt_find_competitor_duplicates*, rankprompt_update_competitor, rankprompt_merge_competitors*, rankprompt_refresh_ranking_keywords*
Citationsrankprompt_list_citations, rankprompt_list_cited_sources, rankprompt_list_social_citations, rankprompt_list_offsite_pages, rankprompt_get_citation_trends, rankprompt_list_tracked_pages*, rankprompt_track_pages*
Communityrankprompt_list_community_threads
Outreach targetsrankprompt_add_outreach_targets, rankprompt_analyze_cited_pages, rankprompt_verify_backlink*, rankprompt_list_cited_authors
Outreach contactsrankprompt_list_outreach_contacts
Campaignsrankprompt_list_campaigns, rankprompt_connect_mailbox*
Outreach inboxrankprompt_list_outreach_emails, rankprompt_list_outreach_replies*
Articlesrankprompt_search_brand_knowledge*, rankprompt_manage_brand_knowledge*, rankprompt_list_briefs, rankprompt_generate_article, rankprompt_import_article*, rankprompt_get_article_context, rankprompt_update_article*, rankprompt_optimize_article*
Content planrankprompt_list_content_opportunities, rankprompt_plan_articles, rankprompt_get_content_plan*, rankprompt_list_undated_articles*, rankprompt_reschedule_article*
Publishingrankprompt_list_cms_connections, rankprompt_publish_article, rankprompt_connect_publishing_target*, rankprompt_test_publishing_target*, rankprompt_get_github_publishing_profile*
Autopilotrankprompt_configure_content_autopilot, rankprompt_get_content_autopilot*, rankprompt_list_content_interlinks*, rankprompt_apply_content_interlink*, rankprompt_get_content_preferences, rankprompt_update_content_preferences
Keywordsrankprompt_list_keywords, rankprompt_list_keyword_clusters*, rankprompt_check_keyword_ranks, rankprompt_research_keywords, rankprompt_track_keywords, rankprompt_update_tracked_keywords*, rankprompt_refresh_domain_overview*, rankprompt_refresh_keyword_gap*
SEO auditsrankprompt_get_site_health, rankprompt_list_sitemap_pages*, rankprompt_search_site_index*, rankprompt_add_seo_page, rankprompt_run_seo_audit, rankprompt_run_technical_check, rankprompt_run_page_audit
Analyticsrankprompt_get_analytics_summary, rankprompt_get_search_console, rankprompt_get_citation_uplift*, rankprompt_get_youtube_channel*
Google Business Profilerankprompt_list_gbp_locations, rankprompt_get_gbp_profile, rankprompt_get_gbp_performance*, rankprompt_update_gbp_profile, rankprompt_list_gbp_scheduled_posts*, rankprompt_schedule_gbp_post*, rankprompt_reschedule_gbp_post*, rankprompt_cancel_gbp_post*, rankprompt_list_gbp_reviews
Local SEOrankprompt_get_gbp_audit*, rankprompt_run_gbp_audit*, rankprompt_configure_local_autopilot*
Local pagesrankprompt_get_local_page_plan*, rankprompt_plan_local_pages*, rankprompt_set_local_page_evidence*
Local rankrankprompt_run_local_scan, rankprompt_get_local_scans, rankprompt_manage_local_scan_schedules*, rankprompt_get_local_sources, rankprompt_check_local_sources
Sharingrankprompt_list_shares*, rankprompt_create_share
Agencyrankprompt_list_my_brands, rankprompt_get_portfolio_overview, rankprompt_get_cross_brand_intelligence*
Client reportsrankprompt_list_client_reports, rankprompt_get_client_report*, rankprompt_create_client_report, rankprompt_edit_client_report*
Article reviewsrankprompt_get_article_review*, rankprompt_share_article_review*
Prospectingrankprompt_list_prospect_lists*, rankprompt_get_prospect_list*, rankprompt_search_prospects*, rankprompt_get_prospect_pipeline*, rankprompt_run_prospect_report*, rankprompt_draft_prospect_pitch*, rankprompt_find_prospect_contact*, rankprompt_update_prospect*
Prospect outreachrankprompt_preview_prospect_outreach*, rankprompt_run_prospect_pipeline*, rankprompt_audit_prospect_profile*
Developersrankprompt_list_webhooks*, rankprompt_create_data_export, rankprompt_get_data_export*

Many tools pick their /v1 endpoint from their arguments, and their endpoints may use different methods, each with its own dry run and confirmation. An argument names the call: kind, action, view, by, target or repeat. An id reads that one item instead of the list.

ToolChoice
rankprompt_list_tasks, rankprompt_list_undated_articlesOne brand with brand_id, every brand of the account without it (Agency Plus).
rankprompt_get_brand_infokind: profile (the default) or facts (what research stored).
rankprompt_get_prompt_answersWith answer_id, one answer in full: its text and citations.
rankprompt_get_report_prompts, rankprompt_add_report_prompts, rankprompt_update_promptWith region_config_id instead of report_id, one market of a scheduled report.
rankprompt_manage_locationsaction: add (the default), list, update (status archives or restores) or import.
rankprompt_manage_report_marketsaction: add (the default), list or update (status pauses, resumes or archives).
rankprompt_list_scheduled_reportsWith scheduled_report_id, one schedule; kind markets lists its markets.
rankprompt_list_cited_sourcesby: page (the default) or domain.
rankprompt_list_cited_authorsWith author_key, that author’s cited pages.
rankprompt_list_outreach_contactsWith contact_id, one contact in full; kind citations lists the pages it was found on.
rankprompt_list_campaignsWith campaign_id, one campaign in full.
rankprompt_list_outreach_emailskind summary: the totals and rates; with email_id, the whole conversation.
rankprompt_search_brand_knowledgekind: search (the default) or list (every item with its status).
rankprompt_manage_brand_knowledgeaction: add (the default, a note or a web page), update or remove (asks first).
rankprompt_list_cms_connectionskind: sites (the default) or targets (everywhere an article can go, the hosted blog included).
rankprompt_research_keywordsWith keywords instead of seed, the numbers of keywords you already have, without saving them.
rankprompt_list_keywordslens: tracked, starred, near_page_one, zero_click, competitors, ideas or all (left out, the tracked and starred keywords), one row per keyword with every source as evidence; idea_seed keeps one research run’s ideas, keyword one row. With domain, what a competitor’s site ranks for. action: market (where keyword numbers are measured and every market on offer) or set_market (saves another market, asks first).
rankprompt_update_tracked_keywordsWith keyword_id, one saved keyword’s target page and star; with ids and rank_tracked, tracking on or off.
rankprompt_get_site_healthkind crawlers: what AI crawlers fetched; with page_id, a page’s audits, and with audit_id too, one audit.
rankprompt_get_search_consoleaction: performance (the default), inspect_url, sitemaps, connection, properties, select_property (asks first), refresh (asks first) or copilot.
rankprompt_get_citation_upliftkind: uplift (the default) or visits (AI assistant visits per article).
rankprompt_get_local_scanskind: runs (the default), maps, ai, searches, trend, compare, or one scan: maps_scan, ai_grid, ai_businesses, ai_point.
rankprompt_manage_local_scan_schedulesaction: create (the default), list, update, delete (asks first) or run.
rankprompt_get_gbp_auditkind: audit (the default) or pilot (the weekly local pilot).
rankprompt_create_sharetarget: report (the default), brand, schedule or audit.
rankprompt_get_cross_brand_intelligenceview: heatmap (the default) or competitors (the leaderboard).
rankprompt_get_prospect_pipelinekind: stages (the default), waiting, list (with list_id), suggestions or views (who opened their report).
rankprompt_get_prospect_listA list with list_id; a prospect’s Business Profile audits with prospect_id, one in full with audit_id.
rankprompt_search_prospectsrepeat: once (the default) or weekly (saved, runs every week).

The Agent’s chat helpers (help search, the page on screen, plans, memory), its ready-to-paste copy, its GitHub repo browser and the team list stay in the app.

The workflow

Run it end to end. The value is in shipping the fixes, not in “report done”. rankprompt_prime returns this loop in full.

  1. Pick or create a brand, and make sure it has facts. A report cannot run without them.
  2. Create a report and choose the engines.
  3. Seed prompts (the questions engines answer), or auto-generate them.
  4. Run the report and read it back until it completes.
  5. Read the summary (score plus AI analysis), the cited sources and the tasks it filed: those are the to-do list.
  6. Audit your pages, implement the fixes in your repo, then track over time with a schedule, and find new questions to track with rankprompt_discover_prompts.

Engines and credits

Reports measure mentions and citations across seven answer engines, all on every plan: chatgpt, claude, gemini, grok, perplexity, muse and ai_overviews (Google AI Mode). Choose the platforms when you create a report; with none picked it runs on chatgpt, claude and ai_overviews.

  • 1 credit per prompt covers up to 3 platforms.
  • 2 credits per prompt cover 4 to 6.
  • 3 credits per prompt cover all 7.

See Pricing for the full cost model.

Security

  • OAuth 2.1 with PKCE (S256): browser sign-in, no secret in your shell history.
  • Dynamic client registration plus an explicit consent screen with Google sign-in.
  • Your API key is never exposed to the client. It is carried encrypted inside the access token and decrypted server-side only to call /v1.
  • Scoped, brand-restricted access. Revocation is enforced on every call.
  • A hosted remote server; the OAuth endpoints are rate-limited per IP.