Skip to main content
Glama

Server Details

TopFood publishes digital restaurant menus with QR codes. Give it a menu (text, photo transcription, or description) and it creates a live, shareable menu page the restaurant owner can claim for free — no signup required upfront.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 44 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools are completely distinct: one creates a restaurant menu, the other reports problems. No overlap or ambiguity in their purposes.

Naming Consistency5/5

Both tools follow the verb_noun snake_case pattern ('create_restaurant_menu', 'report_problem'), making the naming predictable and consistent.

Tool Count3/5

With only 2 tools, the surface feels thin for a general-purpose server, though each tool serves a clear, non-trivial function. It's borderline but not an extreme mismatch.

Completeness2/5

The server only offers creation of a menu and reporting issues. There are no operations to retrieve, update, delete, or list menus, leaving significant gaps for typical lifecycle management.

Available Tools

2 tools
create_restaurant_menuPublish a restaurant menu on TopFoodAInspect

Creates a live, public digital restaurant menu on topfood.app from structured menu data. Returns the public menu URL, a QR code image and a claim link. The menu is immediately visible to anyone with the link. IMPORTANT: always show the user the claim link — it is how the restaurant owner takes ownership of the menu by creating a free TopFood account; unclaimed menus are deleted after the claim link expires. Dish allergen labelling is not supported yet: fold allergen notes into the dish description text.

ParametersJSON Schema
NameRequiredDescriptionDefault
menusYesThe menus to publish (e.g. Food, Drinks). Max 400 dishes in total.
restaurantYesThe restaurant the menu belongs to.

TDQS

A4.6/5.0
Behavior5/5

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

Adds significant behavioral context beyond the annotations: menus are immediately public, ownership requires the claim link, unclaimed menus are deleted after expiration, and allergen labelling is unsupported. These are non-obvious side effects and limitations that the annotations (readOnlyHint=false, openWorldHint=true) do not convey.

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 tightly written sentences with no filler. The first sentence states purpose and return values; the second clarifies visibility; the third covers the critical claim-link workflow and a limitation. All content earns its place, and key information is front-loaded.

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

Completeness4/5

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

Since there is no output schema, the description appropriately lists the return values and explains the essential follow-up action (showing the claim link). It covers the main workflow but omits some specifics such as the claim-link validity period and error behavior, though the rich input schema handles structural validation.

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?

Schema description coverage is 100% and the schema already documents every field. The description goes beyond this by instructing how to handle allergen notes within dish descriptions, which is parameter-level guidance not present in the schema. It does not restate existing schema details.

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 action: 'Creates a live, public digital restaurant menu on topfood.app from structured menu data' and lists concrete return values (public menu URL, QR code, claim link). This clearly distinguishes it from the only sibling tool, report_problem, which serves a different purpose.

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 establishes clear context for when to use the tool — publishing a menu from structured data — and includes direct agent guidance ('always show the user the claim link'). It does not explicitly name exclusions or alternatives, but the only sibling (report_problem) is unrelated, so no competing use case is missed.

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

report_problemReport a problem with TopFoodAInspect

Sends a bug report or product feedback about TopFood to the maintainers. Use it when a tool call fails unexpectedly, when the published menu is wrong or incomplete, or when the restaurant owner tells you something is broken or missing. Do NOT use it for input that a tool already rejected with a clear explanation — fix the input and retry instead. Describe what was attempted, what happened, and what was expected. Reports are read by people and there is no reply channel: tell the user the report was sent, and that they should include an email address in the message if they want an answer. NEVER call this tool with test, preview, sample, placeholder, synthetic or schema-validation content, and never to check what the tool does or how it responds. Every call files a real report that a human being reads and acts on. If you are exercising, previewing, scanning or capturing this tool rather than relaying a problem an actual person just had, do not call it at all — there is no safe or dry-run way to try it.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesWhat happened, what was expected, and what the user was doing. Write it for a developer who cannot see this conversation. Include the user's own words when they reported it. Must describe a real problem a real person had. Test, preview, sample and placeholder text is not acceptable content for this field.
categoryYesbug = something is broken; missing_feature = something the user needs does not exist; confusing = it works but was unclear; pricing = about plans or cost; other = anything else.
claim_urlNoThe claim link returned by create_restaurant_menu, when the report is about a menu that was created in this conversation. It attaches the report to that restaurant.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations are all false, so the description carries the full burden. It discloses that reports are read by humans, there is no reply channel, and every call files a real report with no dry-run. It even instructs the agent to tell the user to include an email for a response. This goes well beyond annotations and prevents misuse.

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

Conciseness4/5

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

The description is longer than typical but every sentence serves a purpose: purpose, usage, exclusions, and behavioral warnings. It's front-loaded with the core action and then covers important caveats. No fluff, though the warning against test content could be slightly more compact.

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?

For a reporting tool with human consequences, the description is exhaustive. It covers what to do, what not to do, what to tell the user, and the real-world impact. There is no output schema, but the description fully compensates. An agent has everything needed to call it correctly and safely.

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?

Schema already has 100% coverage with good descriptions for each parameter. The description adds practical context: message must describe what happened/expected and include user's words, and claim_url attaches the report to a restaurant. It enriches the schema without redundancy, though the schema alone is already clear.

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 clearly states the verb (reports/sends), the resource (bug report or feedback about TopFood), and the recipients (maintainers). It distinguishes itself from the only sibling (create_restaurant_menu) by explicitly listing the triggers for use (tool failure, wrong menu, owner reports broken). No ambiguity.

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

Usage Guidelines5/5

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

Provides explicit when-to-use criteria (tool call fails unexpectedly, menu wrong/incomplete, owner reports broken) and explicit when-not-to-use (tool already rejected with clear explanation – fix and retry). Also forbids test/sample content and explains that every call is real. This is model guidance.

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.

  1. 1 tool update
    • Changedreport_problem1 field changed
      • changedInput schema / properties / message / description
        Previous value: -"What happened, what was expected, and what the user was doing. Write it for a developer who cannot see this conversation. Include the user's own words when they reported it."New value: +"What happened, what was expected, and what the user was doing. Write it for a developer who cannot see this conversation. Include the user's own words when they reported it. Must describe a real problem a real person had. Test, preview, sample and placeholder text is not acceptable content for this field."
  2. 2 tool updates
    • First observedcreate_restaurant_menu
    • First observedreport_problem

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    16
    22 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources