TOP GUN GEO-Lens
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@TOP GUN GEO-Lensquick check visibility for brand 'Stripe'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
TOP GUN GEO-Lens — MCP Brand Visibility Auditor
For AI Agents: This is an MCP server. Connect it, call its tools, and instantly know whether any brand is visible to LLMs and AI search engines — with actionable recommendations to improve it.
What This Does
TOP GUN GEO-Lens measures how visible a brand is across the sources that power AI answers: Brave AI Search, Exa neural search, and LLM-indexed content. It returns a scored report with citations, index status, and concrete GEO (Generative Engine Optimization) recommendations.
Use it when an agent needs to answer questions like:
"Is [brand] showing up in AI-powered search results?"
"Why isn't [brand] being recommended by AI assistants?"
"What should [brand] do to rank higher in LLM outputs?"
Related MCP server: Sanbi ADK Agent MCP Server
Tools
geo_quick_check — $0.05 USDC
Fast snapshot of brand visibility in AI-indexed sources.
Output | Detail |
Visibility score | 0–100 |
Score label | Strong / Moderate / Weak / Not Found |
Top 3 citations | URL, title, snippet, source |
2 quick tips | Actionable GEO improvements |
{
"tool": "geo_quick_check",
"query": "Stripe",
"paymentToken": "<stripe-session-id>"
}audit_brand — $1.50 USDC
Full brand visibility audit using dual search (Brave + Exa, 10 results each).
Output | Detail |
Visibility score | 0–100 |
Score label | Strong / Moderate / Weak / Not Found |
Top 5 citations | URL, title, snippet, source, position |
LLM index status | Brave indexed, Exa indexed, estimated reach |
6 GEO recommendations | Prioritized, actionable improvements |
{
"tool": "audit_brand",
"query": "Anthropic",
"paymentToken": "<stripe-session-id>"
}get_payment_info — Free
Returns payment URLs and USDC wallet address for both tiers. Call this first if you don't have a payment token.
{
"tool": "get_payment_info"
}Agent Workflow
1. Call get_payment_info → get payment URLs
2. Direct user to payment link → user pays $0.05 or $1.50 USDC
3. User provides Stripe session ID
4. Call geo_quick_check or audit_brand with paymentToken
5. Parse structured results → score, citations, recommendationsIf paymentToken is omitted, the tool returns a payment link instead of results — no error thrown.
Connecting to Claude / MCP Clients
Add to your claude_desktop_config.json (or equivalent MCP config):
{
"mcpServers": {
"top-gun-geo-lens": {
"command": "node",
"args": ["/path/to/top_gun_mcp_server/dist/index.js"],
"env": {
"STRIPE_SECRET_KEY": "sk_live_...",
"STRIPE_PAYMENT_URL": "https://buy.stripe.com/...",
"STRIPE_QUICK_CHECK_PAYMENT_URL": "https://buy.stripe.com/...",
"BRAVE_SEARCH_API_KEY": "BSA...",
"EXA_API_KEY": "...",
"USDC_WALLET_ADDRESS": "0x..."
}
}
}
}Setup
git clone https://github.com/spacemandomains/top_gun_mcp_server
cd top_gun_mcp_server
npm install
cp .env.example .env # fill in your keys
npm run build
npm startRequired env vars:
Variable | Required | Description |
| Yes | Stripe secret key for payment verification |
| Yes | Payment link for full audit ($1.50 USDC) |
| Yes | Payment link for quick check ($0.05 USDC) |
| No* | Brave Search API key |
| No* | Exa neural search API key |
| No | USDC wallet address shown to payers |
*At least one search API key is required for results.
Pricing Summary
Tool | Cost | Best For |
| $0.05 USDC | Quick sanity check, high-volume workflows |
| $1.50 USDC | Deep audit, client reports, GEO strategy |
Tech Stack
Runtime: Node.js ≥ 18, TypeScript
Protocol: Model Context Protocol (
@modelcontextprotocol/sdk)Search: Brave Search API + Exa neural search
Payments: Stripe + USDC on-chain
Deploy: Vercel-ready
For AI Agents — Key Facts
Transport:
stdioNo streaming — all responses are single text blocks
Scores range 0–100;
>= 70= Strong,40–69= Moderate,1–39= Weak,0= Not FoundPayment tokens are Stripe Checkout Session IDs (format:
cs_live_...)Calling any paid tool without a token returns a structured payment prompt, not an error
audit_brandis strictly more detailed thangeo_quick_check; use quick_check for speed/cost, audit for depth
Available Tools
3 toolsaudit_brandAInspect
Full brand visibility audit across LLM-indexed sources (Brave + Exa, 10 results). Returns a visibility score (0–100), score label, top 5 citation URLs, LLM index status, and 6 actionable GEO recommendations. Costs $1.50 USDC. For a quick snapshot at $0.05 use geo_quick_check.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Brand name, company, or product to audit (e.g. 'Anthropic', 'Linear', 'Vercel') | |
| paymentToken | No | Stripe checkout session ID from a completed $1.50 USDC payment. If omitted, the tool returns a payment link instead of audit results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description discloses cost ($1.50 USDC), payment flow (Stripe session ID or payment link), data sources, and result count. Does not cover error handling or side effects, but the tool is read-only and non-destructive, so the transparency is adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: first defines purpose and output, second specifies cost and alternative. Every sentence adds value with no redundancy or unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite no output schema, the description fully enumerates return components (score range, label, citations, status, recommendations). Combined with 100% schema parameter coverage and only two parameters, the description provides complete context for an agent to understand tool behavior and expected results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear descriptions for both 'query' and 'paymentToken' parameters. The tool description adds context about sources and results but does not provide additional parameter-level detail beyond what the schema already conveys. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool performs a 'Full brand visibility audit' specifying sources (Brave + Exa), number of results (10), and exact outputs (visibility score, label, citation URLs, index status, GEO recommendations). Distinct from sibling 'geo_quick_check' which is described as a quick snapshot.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions alternative 'geo_quick_check' for a cheaper quicker snapshot, providing clear context on when to use this full audit vs a lighter option. However, no additional guidance on when not to use this tool besides cost considerations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
geo_quick_checkAInspect
Quick brand visibility snapshot across LLM-indexed sources. Returns a score (0–100), top 3 citation URLs, and 2 quick improvement tips. Single-source search (5 results). Costs $0.05 USDC. For full citations, LLM index status, and 6 GEO recommendations use audit_brand ($1.50).
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Brand name, company, or product to check (e.g. 'Stripe', 'Notion', 'Acme') | |
| paymentToken | No | Stripe checkout session ID from a completed $0.05 USDC payment. If omitted, the tool returns a payment link. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses return format (score, URLs, tips), scope (single-source, 5 results), cost ($0.05), and payment behavior (token optional, returns link if omitted). It lacks details on error handling or data freshness, but for a quick check tool the main behavioral traits are covered well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two sentences, front-loaded with the core purpose. Every clause adds information (score, citations, tips, count, cost, alternative). No wasted words, easy to scan. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema), the description covers essential aspects: what it returns, cost, payment flow, and alternative. It could mention data sourcing or rate limiting but the completeness is adequate for a quick check tool. Minor gaps prevent a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters described. The description adds value by explaining the paymentToken role (if omitted, returns payment link) and that query is for a brand check, reinforcing the schema. This extra context justifies a score above the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a 'quick brand visibility snapshot across LLM-indexed sources', noting it returns a score, top 3 citation URLs, and 2 tips. It distinguishes from sibling audit_brand by specifying that tool returns full citations, LLM index status, and 6 recommendations, making the purpose and differentiation very clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use this tool (quick snapshot) vs. audit_brand (full analysis), including cost comparison. It also explains that omitting paymentToken returns a payment link, guiding the agent on how to handle payment. This provides clear context for usage and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_payment_infoAInspect
Get payment URLs and USDC wallet address for both audit tiers.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description implies a read operation ('Get') but does not explicitly state idempotency, side effects, or rate limits. For a simple 0-param tool, this is adequate but could be improved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words, delivering the essential information efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no parameters and no output schema, yet the description covers what the tool returns. It is mostly complete, though the exact format of payment URLs or wallet address is not specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, and schema coverage is 100%. Per guidelines, baseline for 0 params is 4, and the description does not need to add parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'payment URLs and USDC wallet address for both audit tiers'. It is specific and leaves no ambiguity about what the tool retrieves.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (geo_quick_check, audit_brand) or any prerequisites/context for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
3 tool updates
v1.0.0- First observed
audit_brand - First observed
geo_quick_check - First observed
get_payment_info
TDQS
Get_payment_info is clearly separate from the two audit tools. Geo_quick_check and audit_brand serve the same core purpose but are well-differentiated by cost and depth, reducing ambiguity.
Naming is inconsistent: 'get_payment_info' uses verb_noun, 'geo_quick_check' uses a compound noun, and 'audit_brand' uses verb_noun. No clear pattern across tools.
With only 3 tools, the server feels minimal for a brand visibility service. While each tool has a clear purpose, the surface is thin for typical CRUD or lifecycle coverage.
The core audit functionality is covered, but there are obvious gaps: no tool to retrieve audit history, manage payments, or update user profile. The service likely requires repeated interactions, yet no persistence tools exist.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Monitor brand visibility, citations, competitors, sentiment, and GEO performance in AI search.
- CiteHawkOAuthcom.citehawk
AI-search visibility (GEO) analytics: brand scores, competitor rankings, recommendations, evidence.
Measure how AI engines cite your brand. Cross-engine GEO visibility, as agent tools.
GEO platform: track brand visibility, citations, sources and measurement verdicts across AI answers.
1
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.16291MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to run brand-visibility audits by querying multiple AI engines, generating competitive leaderboards, and identifying growth opportunities. Integrates with any MCP-capable client to measure and act on brand discoverability in AI recommendations.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to scan brand visibility across ChatGPT, Claude, Gemini & Perplexity, analyze website GEO readiness, compare competitors, and get actionable recommendations.MIT
- AlicenseAqualityCmaintenanceEnables AI visibility analysis for brands, providing scores, sentiment, competitor comparison, and recommendations across multiple AI models like Claude and GPT-4o.2151MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Spacemandomains/top_gun_mcp_server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server