Vizzybl LogoVizzybl LogoVizzybl

Coding Agent Quickstart

Wire Vizzybl into Claude Code, Cursor, or VS Code — the Claude Skill, the custom MCP connector, the MCP server, and the REST API, in one page.

Last updated

Quickstart for coding agents

Connect Vizzybl to your coding agent once, and it can answer questions about how your brand appears inside AI answers without you opening a dashboard.

Vizzybl measures the output side of AI search: what ChatGPT, Claude, Gemini, Perplexity, Grok, Copilot, Google AI Overviews and Google AI Mode actually say about your brand, which sources they cite, and where a competitor gets named instead.

Start here

Connect the MCP server (30 seconds, below), then paste this into your agent:

Read https://vizzybl.ai/llms.txt for background, then use the Vizzybl MCP server
to show me our share of voice across every AI engine for the last 30 days, and
the competitor domains that get cited where ours doesn't.

Your agent calls get_visibility_stats and citation_gap, and answers from your real workspace data. Neither tool spends credits.

Before you begin

You need:

  • An Ultra or Enterprise plan. API, skill, and MCP access are on these tiers.
  • The owner or admin role in the workspace, to create keys or authorize a connector.
  • An API key from Settings → API Keys, unless you connect over OAuth. It starts with vzbl_live_ and is shown only once.

Start read-only. A key holds only the scopes you grant, and read:* covers every read scope and no write scope. A read-only key cannot run an audit, create a prompt, or spend a credit — the write tools return 403 naming the missing scope. Add write:audits or write:prompts later, deliberately.

Pick your path

PathUse it whenSetup
Claude SkillYou work in Claude Code and want slash commands plus the full API reference loaded in context/plugin install
Custom connectorYou use claude.ai or Claude Desktop and want 1-click OAuth with no key to storePaste one URL
MCP serverYou use Cursor, VS Code, or any other MCP clientOne JSON block
REST APIYou are writing code, a CI job, or a scriptcurl

The skill and the MCP server reach the same data by different routes. Skill, MCP, or both? below explains when to pick which.

Option A: the Claude Skill

The skill teaches Claude to call the Vizzybl REST API directly, and ships a full endpoint reference and an OpenAPI spec alongside it.

Claude Code — as a plugin. Add the marketplace once, then install:

/plugin marketplace add vizzybl-ai/claude-plugins
/plugin install vizzybl-geo@vizzybl

Updates arrive automatically — Claude Code checks the marketplace in the background.

Claude Desktop or claude.ai. Upload the packaged skill (.zip) under Settings → Features → Skills, then allow the skill to reach us: turn on Allow network egress and add vizzybl.ai under Domain allowlist → Additional allowed domains. Without that, every request fails with a network error.

Set your key and you are done:

export VIZZYBL_API_KEY="vzbl_live_..."

Five commands cover the common workflows:

CommandWhat it does
/vizzybl-geo:pulse [days]Week-over-week share of voice, rank, and sentiment
/vizzybl-geo:answers [topic]The verbatim AI answers for your prompts, grouped by engine
/vizzybl-geo:gaps [domain]Citation gaps — cited domains where yours isn't
/vizzybl-geo:scorecard [days]Per-engine visibility breakdown
/vizzybl-geo:audit <url>Run a GEO audit — spends credits

/vizzybl-geo:audit is marked user-invoked only, so Claude can never trigger an audit on its own. Full setup detail lives in Claude Skill.

Option B: the MCP server

One remote server exposes 27 tools — reads, workflow recipes, and four metered actions.

  • Server URL: https://mcp.vizzybl.ai/v1/mcp
  • Transport: Streamable HTTP
  • Scope: one workspace per connection, so no tool ever needs a tenant or brand ID

Claude Desktop or claude.ai — the custom connector. Go to Settings → Connectors → Add custom connector, paste https://mcp.vizzybl.ai/v1/mcp, and complete the OAuth consent in the browser. No key to copy or store: consent mints a key named MCP: <client> under Settings → API Keys, and revoking it there disconnects the client immediately.

Claude Code. One command, then approve the OAuth prompt:

claude mcp add --transport http vizzybl https://mcp.vizzybl.ai/v1/mcp

Cursor. Add the server to ~/.cursor/mcp.json:

{"mcpServers":{"vizzybl":{"url":"https://mcp.vizzybl.ai/v1/mcp"}}}

VS Code. Add the server to .vscode/mcp.json in your project:

{"servers":{"vizzybl":{"type":"http","url":"https://mcp.vizzybl.ai/v1/mcp"}}}

For a client without OAuth support, or a headless setup, send an API key instead: Authorization: Bearer vzbl_live_....

The tool list, scope requirements, and token lifetimes are in MCP Server.

Option C: the REST API

Every skill and MCP tool is a thin wrapper over the public REST API at https://vizzybl.ai/api/v1. Call it directly from code or CI:

curl -s https://vizzybl.ai/api/v1/stats \
  -H "Authorization: Bearer $VIZZYBL_API_KEY"

See API Authentication for keys, scopes, and revocation, and API Endpoints for the full surface.

Give your agent the docs

Point your agent at the index before it starts, so it reads our definitions instead of guessing at them:

ResourceURLWhat it gives an agent
Documentation indexhttps://vizzybl.ai/llms.txtA curated llms.txt index of our concept and methodology pages, each linked to clean markdown
Clean markdown mirrorhttps://vizzybl.ai/api/md/xeTj7LieR96BGNXk8Eh5/{page}.mdAny indexed page as markdown, with no navigation chrome to burn tokens on
Blog markdownhttps://vizzybl.ai/api/blog/{slug}/mdAny article as markdown; https://vizzybl.ai/rss.xml is the authoritative feed

Note. llms.txt indexes the concept pages — what GEO is, how the metrics are calculated, how to read the dashboard. It does not yet index the integration pages, so link those four directly when your agent needs them: Claude Skill, MCP Server, API Authentication, and API Endpoints.

Reading the index first is the cheaper move. It is a few hundred tokens and tells the agent which pages exist, so it fetches two markdown files instead of crawling the HTML docs.

Skill, MCP, or both?

Both reach the same workspace data, so this is about where your agent runs.

  • Use the skill when your agent has a terminal. It reads a full endpoint reference, so it can compose calls we never wrote a tool for — combining filters, paginating, reshaping a response — and the five slash commands give you repeatable one-liners.
  • Use the MCP server when your agent has no shell, or when you would rather not handle a key at all. OAuth means the credential never touches your config, and the tool list is typed, so the client can show a confirmation before anything is spent.
  • Both is fine. They authenticate separately and do not conflict. A common setup is the connector on claude.ai for questions on the move, and the skill in Claude Code for real work.

What spends credits

Most of the surface is read-only and free. Four actions are not:

ActionTool / endpointScopeCost
Run a GEO auditrun_audit, POST /api/v1/auditswrite:auditsCredits, settled when the audit completes
Poll an auditget_audit, GET /api/v1/audits/{auditId}read:brandFree
Create monitored promptscreate_prompts, POST /api/v1/promptswrite:promptsFree, up to 50 at a time
Re-scrape a promptscrape_promptwrite:promptsCharges prompt_monitor_run

MCP clients surface a confirmation before any non-read tool runs, and the skill is instructed to state the cost and check your balance with get_quota first. Audits and scrapes are asynchronous: you get an ID back immediately, so a "running…" answer before any score appears is expected, not a failure.

Troubleshooting

  • 401 — the key or token is missing, revoked, expired, or malformed. Re-check VIZZYBL_API_KEY, or re-authorize the connector.
  • 403 — the key lacks the scope for that tool, or the plan is no longer Ultra or Enterprise. The message names the missing scope.
  • 402 — not enough credits for a metered action. Check the balance with get_quota; retrying will not help.
  • 429 rate limited — back off and retry. The error says how long to wait.
  • 429 monthly limit — the monthly cap for that action is spent. Unlike a rate limit, waiting will not clear it this month.
  • 422 — the monitored-prompt cap is full. Pause or archive a prompt, then retry.
  • Network error from a skill on claude.ai — egress is off, or vizzybl.ai is missing from the domain allowlist.

Next steps