Asva AIPower the future

Asva AI MCP Server

Ask Claude, ChatGPT, Cursor, VS Code, or Windsurf about your brand's AI visibility. Get live answers from your Asva AI account without opening a dashboard.

Overview

The Asva AI MCP server exposes your Answer Engine Optimization data to any AI assistant that speaks the Model Context Protocol (MCP). Once connected, the assistant can pull your brand visibility, share of voice, citations, sentiment, competitor rankings, and regional performance on demand, backed by your live Asva AI account.

Authentication runs over OAuth 2.1 with PKCE. Your assistant never sees your password, and you can disconnect at any time from the Connectors page in the dashboard.

MCP endpoint: https://mcp.asvaai.com/mcp

Choose your connection method

Pick the setup that matches your AI assistant. All methods connect to the same MCP server and expose the same tools.

ClientSetupBest for
Claude WebPaste the URL in Settings → Connectors → Add custom connector.Analysts and marketers who live in claude.ai.
Claude Desktop / CodeOne terminal command using the Claude CLI.Engineers, data teams, and power users.
ChatGPTAdd as a Custom Connector in ChatGPT settings.Teams already in the ChatGPT Plus, Team, or Enterprise workflow.
CursorAdd a server entry to mcp.json via the command palette.Developers building AI-native tooling.
VS CodeAdd an HTTP server to .vscode/mcp.json, then use it from Copilot agent mode.Developers who work in VS Code with GitHub Copilot.
WindsurfSettings → Cascade → MCP Servers. Paste config, restart.Windsurf IDE users who rely on Cascade for research.
Other clientsUse the universal HTTP transport URL, or bridge with npx mcp-remote https://mcp.asvaai.com/mcp.Any MCP-compatible client not listed above.

Step-by-step setup

Claude Web (claude.ai)

  1. Go to claude.ai, click your avatar, then Settings, then Connectors.
  2. Click Add custom connector and paste https://mcp.asvaai.com/mcp.
  3. Sign in with your Asva AI account when the OAuth popup appears.

Claude Desktop or Claude Code

Run this in your terminal:

claude mcp add --transport http asvaai https://mcp.asvaai.com/mcp

A browser window opens for sign-in. After you authorize, run claude mcp list to confirm.

ChatGPT (Custom Connector)

  1. In ChatGPT Settings, open Beta features and enable Custom Connectors. On the Free tier, enable Developer mode under Settings, Connectors, Advanced settings.
  2. Go to Settings, then Connectors, then Create.
  3. Name it Asva AI, paste https://mcp.asvaai.com/mcp, Authentication OAuth.
  4. Sign in with your Asva AI account.

Cursor

  1. Press Cmd + Shift + P on macOS or Ctrl + Shift + P on Windows and Linux.
  2. Select Open MCP Settings, click Add new MCP server, and paste:
{
  "mcpServers": {
    "asvaai": { "url": "https://mcp.asvaai.com/mcp" }
  }
}

Save. Cursor opens a browser to complete OAuth.

VS Code (Copilot agent mode)

  1. Create .vscode/mcp.json in your workspace (VS Code 1.102+ uses the top-level servers key and a type field — do not reuse Cursor's mcpServers shape):
{
  "servers": {
    "asvaai": { "type": "http", "url": "https://mcp.asvaai.com/mcp" }
  }
}

Click Start on the server, authorize in the browser, then pick asvaai from the Tools picker in the Chat view (Agent mode). For a user-level install, run MCP: Add Server from the Command Palette and choose HTTP.

Windsurf

  1. Open Windsurf Settings.
  2. Go to Cascade, then MCP Servers.
  3. Add the configuration below, save, and restart Windsurf.
{
  "mcpServers": {
    "asvaai": { "serverUrl": "https://mcp.asvaai.com/mcp" }
  }
}

How it works

  1. 1
    You ask a question in your AI assistant.

    For example, "show me my brand visibility on ChatGPT last week."

  2. 2
    The assistant picks the right Asva AI tool.

    It calls your account over an OAuth-authenticated MCP channel.

  3. 3
    Asva AI returns your live data.

    The assistant formats the response in chat. Tool calls are audit logged.

What you can do

A few example prompts from customer accounts:

  • What is my brand mention rate on ChatGPT for the last 30 days?
  • Show share of voice for Gemini versus Perplexity in the US.
  • Which of my tracked topics has the worst citation rate this month?
  • Generate a visibility audit for stripe.com.
  • Drill into the actual AI responses for topic "best analytics tools".
  • List my top three improving topics in the last fourteen days.
  • Draft a weekly digest email for my team based on the last seven days of Asva AI data.

Tool reference

These are the tools the assistant can call. Every tool respects your account permissions. Read-only tools are marked as such in the MCP metadata; the one writer (generate_visibility_audit) creates a new report row in your own account.

Transport: Streamable HTTP (MCP spec 2025-03-26). All tools authenticate with the same short-lived OAuth 2.1 bearer token and respect the caller's brand permissions. Tool responses carry only analytics metadata about brands the caller has access to — no PII, billing data, or credentials.

ToolR/WKey inputsReturns
list_brandsreadsearch?: stringParent brands the authenticated user can access. Entry point for every other tool — use the id as parent_brand_id.
get_brand_visibilityreadparent_brand_id (UUID), days? (default 30), platforms?, regions?, topics?Headline visibility: mention rate, average position, net sentiment, share of voice, citation counts.
get_share_of_voicereadparent_brand_id, days?, platforms?, regions?Per-competitor share-of-voice breakdown for the selected date range.
get_citation_metricsreadparent_brand_id, days?, platforms?Top cited domains, citation count, and category mix (3rd-party media, company sites, marketplace, UGC).
get_competitorsreadparent_brand_id, days?, limit? (default 10), platforms?Competitor matrix with visibility score, sentiment, and per-platform performance.
get_sentiment_analysisreadparent_brand_id, days?, platforms?Positive / neutral / negative distribution, per-platform sentiment, example snippets and word cloud.
list_topicsreadparent_brand_id{topics: [...], count} — every tracked topic with id, name, region, and enabled platforms.
get_leaderboardreadparent_brand_id, days?, limit? (default 20), platforms?Ranked brand leaderboard including your brand and its child competitors.
get_platform_breakdownreadparent_brand_id, days?Same visibility metrics as get_brand_visibility, grouped per AI platform (ChatGPT, Perplexity, Gemini, Copilot, Grok, Meta AI, Google AI Mode).
get_regional_visibilityreadparent_brand_id, days?, platforms?, regions?, topics?Per-region rollup — mention rate, average position and net sentiment for each tracked region (e.g. US, IN, GB).
get_gpt_shopping_visibilityreadparent_brand_id, days? (default 60), focus_marketplace?, platforms?, regions?, topics?Visibility inside ChatGPT Shopping cards — per-marketplace rankings and per-topic shopping cards.
generate_llms_txtwriteurlGenerates an llm.txt + llm-full.txt for a site — pairs with the AEO workflow.
list_promptsreadparent_brand_id, topic_ids?, brand_mentioned?, search?, page?, page_size? (max ~100)Paginated list of the AI-search prompts we run for this brand.
get_prompt_responsesreadparent_brand_id, prompt_id (UUID, required)Actual AI answers captured for one prompt, with platform, region, timestamp, brand mentions, and citation URLs.
generate_visibility_auditwritedomain (required, e.g. stripe.com), region?, email?Kicks off a Quick Report pipeline (runs ~20–30 min). Returns immediately with status: "processing" and a report_id. Poll list_my_visibility_reports, then fetch with get_visibility_report. The one writer in the catalogue.
list_my_visibility_reportsreademail? (defaults to session), limit? (default 10)Recent Quick Reports for this user — completed + in-progress, with status and timestamps.
get_visibility_reportreadreport_id (required, e.g. qr_1776369025_7160)Full completed audit: scoring, competitor leaderboard, citations, and UI/PDF-ready sections.

Security and privacy

  • Every tool call is authenticated with a short-lived OAuth 2.1 bearer token. Refresh tokens expire after 30 days.
  • The MCP server never stores credentials or proxies to third-party language models on behalf of the assistant.
  • Each call is audit logged with your user ID and timestamp.
  • A tool call only returns data for brands the authenticated user has access to. Cross-account reads are rejected at the backend layer.
  • You can disconnect at any time from the Connectors page in the Asva AI dashboard. That revokes every token tied to that client.

For the full data-handling policy, see the Privacy Policy. Terms of use are at the Terms of Service page.

Troubleshooting

The OAuth popup never opens.

Your browser may be blocking popups for the client. Allow popups for claude.ai or chatgpt.com and try again.

A tool returns an "invalid token" error.

Access tokens expire every 15 minutes and refresh automatically. If you see this persistently, disconnect from the Connectors page and reconnect in your assistant.

The assistant says the tool is not available.

Start your message with "Use Asva AI to..." so the model picks the tool. Some assistants require you to enable the connector for the specific chat.

A card still says Connected after I removed the integration in my assistant.

Third-party clients do not always call our revoke endpoint when a user removes a connector on their side. Click Disconnect inside Asva AI to fully revoke the token.

A tool returns "brand not found" or an empty result.

Every analytics tool takes a parent_brand_id UUID, not a brand name. Call list_brands first (optionally with search: "your brand"), read the id field from the matching entry, and pass that UUID to the other tools.

OAuth fails with "redirect_uri_mismatch".

The client you are pasting the server URL into must be one of our registered MCP clients (Claude Web, Claude Desktop, ChatGPT, Cursor, Windsurf). If you are using a custom client, make sure it supports Dynamic Client Registration — our server exposes /oauth/register per RFC 7591.

I'm getting 429 Too Many Requests.

We rate-limit per authenticated user. If you hit the ceiling during a batch of tool calls, wait ~60 seconds and retry. Let us know at [email protected] if your workflow needs a higher ceiling.

A visibility audit is still "processing" after 10 minutes.

Audits usually finish in 20–30 minutes. If list_my_visibility_reports shows status: "processing" after 35 minutes, the pipeline likely failed silently — email [email protected] with the report_id and we will investigate.

More documentation

PageWhat's there
Privacy PolicyData we collect, retention, and user rights.
Terms of ServiceService agreement governing use of the Asva AI platform.
MCP Registry listingOur server's entry on the public MCP registry.

Support

For help with setup, missing tools, or access questions, email [email protected]. We respond within one business day.