TofuBofu AI Visibility
Server Details
Free AI visibility scan for any B2B company: see how often AI engines recommend it, plus the fixes.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
2 toolsget_visibility_reportARead-onlyInspect
Fetch the results of an AI-visibility scan started with scan_ai_visibility.
Args:
report_id: The id returned by scan_ai_visibility.
Returns:
While running: {status: "running", progress}. When done: the visibility
score, how often AI mentions the brand, share of voice, top competitors
winning the answers, and the highest-priority fixes, plus the report_url.
| Name | Required | Description | Default |
|---|---|---|---|
| report_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already set readOnlyHint=true and destructiveHint=false. The description adds behavioral context by describing two possible return states ('while running' vs 'when done'), which clarifies the polling aspect and output structure, going beyond what annotations provide.
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 reasonably concise with three sentences: one stating the purpose, and two structured as 'Args' and 'Returns' sections. It is front-loaded and avoids unnecessary words, though could be slightly tighter.
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?
For a tool with one parameter, no output schema, and good annotations, the description covers the purpose, parameter origin, and complete return behavior (including polling states). It fully equips an agent to use the tool correctly.
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?
The description explains the single parameter 'report_id' as 'The id returned by scan_ai_visibility,' adding meaningful context beyond the schema (which has no description and 0% coverage). This informs the agent where the value comes from.
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 'Fetch the results of an AI-visibility scan started with scan_ai_visibility,' which specifies the verb (fetch), resource (results of AI-visibility scan), and explicitly names the sibling tool (scan_ai_visibility) to distinguish itself.
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 indicates that this tool should be used after scan_ai_visibility has provided a report_id, providing clear context for when to use it. It does not explicitly state when not to use it or list alternatives, but the linkage to the sibling tool is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_ai_visibilityAInspect
Start a free AI-visibility scan for a B2B company's website.
Checks how often AI engines (ChatGPT, Claude, Perplexity, Gemini, Google AI
Mode, Microsoft Copilot) name the company when buyers ask for vendor
recommendations, and finds the gaps. The scan runs in the background
(roughly 1-2 minutes); call get_visibility_report with the returned
report_id to read the score and findings.
ASK THE USER for geo_scope and sells_to before calling, if you do not
already know them. Everything past `email` is optional and the scan runs
without it, but geo_scope changes EVERY question we generate: a firm that
sells across one country, scored on one city's questions, looks invisible
when it is not. Guessing is worse than asking, and asking costs one line of
conversation. Where you do not know, omit the field rather than inventing a
plausible value: an omitted field is recorded as unknown, and the report
says its framing was assumed.
Every parameter carries its own description, generated from the one intake
contract the in-app scan form renders from, so what you are told here and
what a customer is asked are the same question.
Returns:
report_id, a report_url to view live, whether an existing report was
reused (free scan already used this month), and which intake answers
were missing, so you can offer to re-run with them.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The user's work email. Required: we send the finished report there and it identifies the account. One free scan per email per month. | ||
| domain | Yes | The company's website or domain, e.g. "acme.com". | |
| capacity | No | Who will do the fixes? We size and sequence the plan to match. A solo founder does not get a list built for a five-person team. One of: solo (Just me); one_marketer (One marketer); small_team (A small team, 2 to 4); full_team (A full team, 5 or more). Shapes the fix plan, which is generated in the tail after the engines answer. Omit it rather than guessing: an omitted answer is recorded as unknown, a guessed one is indistinguishable from a real answer. | |
| sells_to | No | What size and type of customer? SMB and enterprise are different questions with different winners. Shapes the same. 'Best sales engagement platform for SMB teams' is not the same question as 'for enterprise revenue orgs'. Omit it rather than guessing: an omitted answer is recorded as unknown, a guessed one is indistinguishable from a real answer. | |
| geo_scope | No | Where do you sell? Getting this wrong skews the whole report: a national firm scored on one city's questions looks invisible, and a local one scored nationally looks unwinnable. One of: global (Anywhere); national (Across one country); national_local (National, with a local angle); local (My own city or region). Shapes every buying question. This is the single highest-leverage answer here. Omit it rather than guessing: an omitted answer is recorded as unknown, a guessed one is indistinguishable from a real answer. | |
| locations | No | Which places? The country you sell across, or the cities you are bound to. Shapes which geography goes into a localized buying question. Omit it rather than guessing: an omitted answer is recorded as unknown, a guessed one is indistinguishable from a real answer. | |
| competitors | No | Who would a buyer otherwise pick? Companies the user says a buyer would pick instead of them. We track whoever the engines name either way, so this is the user's own view rather than the whole comparison set. Shapes the comparison set, the mismatch between who you name and who the engines do, and which of those two a given finding is about. Omit it rather than guessing: an omitted answer is recorded as unknown, a guessed one is indistinguishable from a real answer. | |
| buyer_questions | No | Questions your buyers ask. Questions this company's buyers actually ask. They are put to the engines verbatim and tracked scan over scan, which is what makes a trend line mean anything. Shapes the questions themselves, pinned ahead of the generated ones. Omit it rather than guessing: an omitted answer is recorded as unknown, a guessed one is indistinguishable from a real answer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the background execution, return values (report_id, report_url, reuse flag, missing answers), and the impact of omitting fields. Explicitly warns against guessing, which is consistent with the openWorldHint. No contradictions with annotations.
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 excessively verbose and repetitive, repeating the phrase 'Omit it rather than guessing: an omitted answer is recorded as unknown, a guessed one is indistinguishable from a real answer' for multiple parameters. This could be condensed significantly without loss of clarity.
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 covers the return values and the follow-up step of calling get_visibility_report. It also explains the rationale behind optional parameters, making the tool's behavior and expected results clear.
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?
Even though schema coverage is 100%, the description enriches each parameter with meaningful context, such as geo_scope's impact on report accuracy and competitor's role in shaping the comparison set. This goes beyond mere naming.
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's function: starting an AI-visibility scan for a B2B website. It distinguishes from the sibling tool by implying that get_visibility_report retrieves the results, while this tool initiates the scan.
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 instructs to call get_visibility_report with the returned report_id to read results. Also advises asking the user for geo_scope and sells_to before calling, and explains that optional fields can be omitted, providing clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user or an account that owns the GitHub organization, then choose Claim with GitHub.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Free AI visibility check: is your business cited when customers ask AI? Score plus competitors.
Free AI-visibility and competitive Exposure Audit for any domain. No account, no API key.
Audit your brand's visibility across ChatGPT, Gemini, Claude, Perplexity + 6 more engines.
Scan any website's AI readiness: AI search visibility and AI agent usability. Free, no auth.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEvaluates any website's AI visibility with 15 checks across crawlability, structure, content, and connectivity, and provides actionable fixes.10MIT
- AlicenseAqualityDmaintenanceAudit your brand's visibility across ChatGPT, Perplexity, Claude, and Google AI - get citation rates, AEO health scores, content gap analysis, and a 9-page content suite to rank in AI-generated answers.5100MIT
- AlicenseAqualityDmaintenanceEnables users to scan any website for AI search visibility, producing AEO, GEO, agent readiness, and mention-readiness scores along with AI identity and business profile insights. Paid tools extend this to competitive comparisons, detailed audits, and generated fixes.41MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to scan brand visibility across ChatGPT, Claude, Gemini & Perplexity, analyze website GEO readiness, compare competitors, and get actionable recommendations.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
The two tools have clearly distinct roles: one initiates a scan, the other retrieves results. No functional overlap or ambiguity.
Both names follow the same verb_noun pattern ('scan_visibility' and 'get_visibility_report'), consistent and predictable.
With only two tools, the set is minimal and focused, perfectly matching the simple scan-and-retrieve workflow without excess.
The tool pair covers the complete lifecycle of an AI-visibility scan: initiating it and fetching the resulting report. No missing steps are apparent.