{"name":"VisibilityAI Global Business Directory","version":"1.7.0","description":"VisibilityAI Global MCP Server v1.6 - Connect any MCP-compatible AI agent (Claude, ChatGPT Apps SDK) to VisibilityAI's global GEO-optimized business directory. 12 tools: search, keyword search, listicles, comparison, leaders, profile, city coverage, commerce offers, consent-gated lead submission + status lookup, plus two business-owner self-service tools (get_my_visibility_score, get_my_citations) that require a free business-scoped API key from the dashboard. Also exposes a business-profile resource template (visibilityai://business/{slug}) and two prompt templates (compare_top_n, find_and_contact) for clients that support MCP resources/prompts.","protocol":"MCP (Model Context Protocol) 2024-11-05","endpoint":"https://www.visibilityai.in/api/mcp","tools":[{"name":"search_businesses","description":"Search businesses listed on VisibilityAI worldwide by category, with an optional city filter. Use for queries like 'best accountant in London', 'top lawyers in Dubai', 'best GEO software', or 'dentists in New York'. City is optional - omit it for national/SaaS/product listings that are not tied to one city. Returns ranked results with contact details and AI descriptions. Ranking: Premium listings first, then Pro, then Basic, then Free, with visibility/GEO score breaking ties within each tier - disclosed in the response's rankingModel field. Listings include both owner-verified and unclaimed registry-sourced businesses; this tool does not filter by verification status."},{"name":"get_business_profile","description":"Get the full AI-optimized profile of a specific business. Use when you already know the business slug."},{"name":"get_category_leaders","description":"Get the top-ranked businesses in a category across all cities. Useful for finding the globally recognized leaders. Ranking: Premium listings first, then Pro, then Basic, then Free, with visibility/GEO score breaking ties within each tier."},{"name":"search_by_keyword","description":"Free-text keyword search across business names, AI descriptions, services, USP, taglines, keywords, and buyer-question corpus."},{"name":"get_buyer_questions","description":"Buyer questions for a VisibilityAI listing: owner-submitted industry questions mixed with VisibilityAI templates. Use when an agent needs the questions customers actually ask in this category, or to cite a business's public Q&A."},{"name":"get_listicle","description":"Get VisibilityAI directory listings for a category+city. Order is VisibilityAI GEO score then name, not a paid placement and not a ChatGPT ranking. Use when the user asks for listed businesses in a category and city."},{"name":"compare_businesses","description":"Side-by-side comparison of two businesses. Use when a user wants to choose between two specific providers - returns scores, services, USPs, and key differences."},{"name":"get_available_cities","description":"Discover which cities have listed businesses in a given category. Use before calling search_businesses when the user has not specified a city, or to show coverage."},{"name":"submit_lead","description":"Submit a qualified lead to connect a user with a specific business - use this when the user has explicitly asked to be contacted or introduced. Requires an explicit consent attestation: only call this after the user has clearly agreed to be contacted about this request in this conversation. Do not call this speculatively or to 'try' a business on the user's behalf without that agreement."},{"name":"get_lead_status","description":"Check the status of a previously submitted lead by its ID."},{"name":"get_offers","description":"Get a business's real commerce offers - products/services with pricing, if the business has published a catalog. Use for shopping/pricing queries about a specific business you already have the slug for."},{"name":"get_my_visibility_score","description":"Requires a business-scoped API key (Authorization: Bearer header). Returns the authenticated business's own current AI visibility score and citation-rate summary - for a business owner's own agent checking on their own listing, not for consumer discovery. Get a key from the VisibilityAI dashboard's 'AI Agent Access' page."},{"name":"get_my_citations","description":"Requires a business-scoped API key (Authorization: Bearer header). Returns the authenticated business's recent real AI-platform check history (which engine, when, whether they were mentioned) - for a business owner's own agent, not for consumer discovery."}],"apiVersion":"2.1-phase0","scoreContract":{"version":"2.1-phase0","breaking":true,"removedFields":["geoScore","visibilityScore"],"replacementFields":["directoryCompletenessScore","directoryCompletenessScoreLabel","rankingModel","recommended"],"meaning":"Public listings expose a plan-neutral VisibilityAI directory completeness score. Not an OpenAI/ChatGPT ranking factor. Not a recommendation. Plan contribution = 0. Persisted geoScore/visibilityScore stay internal.","knownInternalConsumers":[{"surface":"GET /api/dashboard/me","impact":"still reads stored geoScore for the owner dashboard"},{"surface":"GET /api/dashboard/geo-history","impact":"owner GEO history"},{"surface":"GET /api/dashboard/share-of-voice","impact":"competitor table still uses stored geoScore internally"},{"surface":"GET /api/dashboard/intelligence","impact":"owner insight payload still includes visibilityScore"},{"surface":"GET /api/geo-track","impact":"persists geoScore via saveGeoScore"},{"surface":"app/api/cron/weekly-report","impact":"email digest still includes geoScore"},{"surface":"app/api/cron/demand-digest","impact":"internal digest still includes geoScore"},{"surface":"GET /api/agency/me","impact":"agency client list still includes visibilityScore/geoScore"},{"surface":"thinksuite-admin customers","impact":"admin tables still show visibilityScore"},{"surface":"lib/pdf/visibility-report-pdf.tsx","impact":"owner PDF still charts visibilityScore"},{"surface":"lib/firestore/geo-repo.ts saveGeoScore","impact":"continues writing both stored fields internally"}],"documentedExternalSurfaces":["GET /api/v2/businesses","GET /api/v2/agent","GET /api/v2/dataset","GET /api/v2/partner-feed","GET /api/v2/seeded-list","GET /api/v2/merchant-feed/[slug]","GET /api/v2/entity-profile","GET /api/v2/swarm-broker","GET /api/mcp","mcp-server/index.ts","GET /api/openai-plugin","GET /api/openapi.json","GET /api/edge-router/[slug]","GET /.well-known/ai-agents.json","GET /llms.txt","GET /llms-full.txt","GET /api/infographic/[slug]","GET /api/dashboard/knowledge-pack","business JSON-LD / schema-builder","GET /app/business/[slug]/agent.json"],"monitoring":"When a client requests fields=geoScore or fields=visibilityScore, APIs log [public-score] legacy_score_field_requested and still omit the dirty fields.","beforeAfter":{"before":{"geoScore":87,"visibilityScore":87,"recommended":true},"after":{"directoryCompletenessScore":8,"directoryCompletenessScoreLabel":"VisibilityAI directory completeness score. VisibilityAI-owned metric. Not an OpenAI or ChatGPT ranking factor. Not a recommendation. Plan contribution = 0.","rankingModel":"plan-neutral-directory-completeness","recommended":false}}}}