Skip to main content
Glama

AI Visibility Check

ai_visibility_check
Read-onlyIdempotent

Probe one or more LLMs for what they know about a business / brand / product / topic and score visibility (0-100) per model. Default model is Workers AI Llama-3.3-70b (free); pass _apiKey to also probe Anthropic (BYO key — you pay Anthropic directly for those calls). Returns per-model {score, confidence, signals, raw_response} + a combined view. Useful for AI-marketing audits, pre-launch brand checks, competitive monitoring.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
entityYesThe thing to ask about. Brand/business name, product name, person, or topic. E.g. "Pipeworx", "OpenInvoice", "Acme Corp pricing".
modelsNoWhich models to probe. Supported: "workers-ai" (free default), "anthropic" (requires _apiKey). Omit for just workers-ai.
_apiKeyNoOptional Anthropic API key (sk-ant-...) — only needed if "anthropic" is in models. Passed straight through to api.anthropic.com.
contextNoOptional: a phrase locating the entity (e.g. "Boston restaurant", "B2B SaaS"). Helps disambiguate common names.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even with annotations already declaring readOnly/openWorld/idempotent, the description adds valuable behavioral detail: the default model (Workers AI Llama-3.3-70b) is free, using Anthropic requires a BYO key with direct payment, and the response structure is outlined. It also mentions how _apiKey is handled ('passed straight through'), which is important for cost and privacy expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: function and output, default model and optional Anthropic integration, return format and use cases. It is front-loaded with the most important information and contains zero filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description explicitly states the return structure (per-model {score, confidence, signals, raw_response} + combined view). It also covers model options, cost, use cases, and required parameter (entity). For a 4-param tool with no output schema, this is remarkably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already covers all parameters at 100% coverage, so the baseline is 3. The description enriches this by explaining the default model behavior and the 'BYO key' payment implication for _apiKey, adding meaning beyond the schema's basic descriptions. This lifts it slightly above the baseline, though the schema still does most of the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Probe') and resource ('one or more LLMs'), then defines the output (visibility score 0-100 per model). It clearly distinguishes itself from sibling tools like scan_competitor_ai_presence by focusing on individual LLM awareness scoring rather than a broader competitor scan. The scope (business/brand/product/topic) is explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit use cases: 'AI-marketing audits, pre-launch brand checks, competitive monitoring.' It does not state when not to use it or name alternatives, so it stops short of full exclusionary guidance. However, the context is clear and actionable enough for an agent to select this tool appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation2/5

Several tools have heavily overlapping purposes: ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, deep_research, and discover_tools all provide data lookup/research. The PolyMarket family (bet_research, polymarket_arbitrage, polymarket_edges, polymarket_edge_tracker, polymarket_fill_risk, polymarket_kalshi_spread) also creates boundary confusion despite varied signals.

Naming Consistency3/5

Most tools use snake_case, but the naming pattern is mixed: some are imperative verb phrases (query_layer, validate_claim), while others are noun phrases (entity_profile, recent_alerts, layer_info). Descriptions are readable overall, but there is no consistent verb_noun convention across the set.

Tool Count2/5

34 tools is high and the vast majority are unrelated to the server's stated ArcGIS Abbotsford purpose. The set appears to be a generic Pipeworx data/prediction-market toolkit with only a few GIS-specific tools, making the count excessive for the declared scope.

Completeness2/5

For the ArcGIS Abbotsford domain, the surface is severely incomplete: only search_datasets, query_layer, and layer_info cover GIS functionality, lacking update/delete/create operations or broader dataset management. For the actual Pipeworx domain, coverage is decent, but that does not match the server name.