Skip to main content
Glama

Shopfront Chennai Local Commerce

Server Details

Hyperlocal commerce and verified merchant directory MCP server for Chennai, India.

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
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
jeeva-m-21/shopfront
GitHub Stars
0

TDQS

A3.5/5.0

Scored across 5 tools

Disambiguation4/5

find_shops (discover shops) and get_shop_info (detailed profile of one shop) are clearly distinguished by scope. get_catalog (browse full catalog by category) and search_catalog (text-similarity search with filters) both touch catalog items, but their browse-vs-search split and differing parameters keep them separable.

Naming Consistency5/5

All tools follow a consistent snake_case verb_noun pattern (find_shops, get_action_link, get_catalog, get_shop_info, search_catalog). The verbs (find/get/search) are used predictably for their resource types.

Tool Count4/5

Five tools is well-scoped for a customer-facing shop discovery flow, and each tool clearly earns its place. It is slightly lean, but nothing feels redundant or missing at the tool-count level.

Completeness4/5

The surface covers discovery (find_shops), shop detail (get_shop_info), catalog browsing and search, and an outbound action link, forming a coherent end-to-end enquiry flow. Persisting orders or post-booking state is absent, but the action-link pattern reasonably offloads that to external channels.

Available Tools

5 tools
find_shopsA
Read-only
Inspect

Find and rank local shops in Chennai for a customer request. Always provide locality when the customer has told you where they are. If the customer has not said where they are, ask them for a Chennai area before calling this tool. Use category when it is clear. Results already satisfy distance, budget, and open-now constraints.

ParametersJSON Schema
NameRequiredDescriptionDefault
latNo
lngNo
limitNo
queryNo
categoryNo
localityNo
open_nowNo
radius_kmNo
max_price_inrNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds real behavioral content beyond that: a mandatory prerequisite (must obtain a locality from the customer rather than calling speculatively) and the guarantee that 'results already satisfy distance, budget, and open-now constraints,' which tells the agent not to post-filter. Return shape and limits are not described, so not a 5.

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?

Four short sentences with no filler. The purpose is front-loaded, the operational prerequisite follows immediately, and the closing sentence preempts redundant client-side filtering. Every sentence changes agent behavior.

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

Completeness3/5

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

There is no output schema and only a readOnlyHint annotation, so the description has to do more than one short constraint sentence for a 9-parameter tool. It resolves the biggest ambiguity (locality is required in spirit even though the schema marks nothing required) but leaves the return shape, result count behavior, and most parameter roles unexplained.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden for 9 parameters. It meaningfully covers only locality (a 'Chennai area') and category ('when it is clear'), and only implicitly gestures at radius_km, max_price_inr, and open_now through the constraint sentence. lat, lng, limit, and query are never explained, leaving more than half the surface undocumented.

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

Purpose4/5

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

The description states a specific verb and resource with scope: 'Find and rank local shops in Chennai for a customer request.' That is far more concrete than a generic search, and the Chennai framing separates it from catalog siblings like get_catalog and search_catalog. It stops short of naming an explicit sibling it is distinct from, so it lands at 4 rather than 5.

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?

It gives genuine when-to-use direction: always supply locality when the customer states their location, and ask for a Chennai area before calling if they haven't. It also says to use category 'when it is clear.' No alternative tools are named and no exclusion conditions are given, so it is clear context without the explicit routing that a 5 requires.

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

get_catalogB
Read-only
Inspect

Retrieve available menu or service catalog items for a shop grouped by category, with price display and duration, supporting cursor-based pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
cursorNo
shop_slugYes

TDQS

B3.2/5.0
Behavior3/5

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

The readOnlyHint annotation already establishes this is a safe read, so the bar is lower. The description usefully adds that results are grouped by category and include price and duration, plus that pagination is cursor-based — return-shape context the annotations do not provide. It stops short of stating default behavior for the optional kind parameter or how the cursor is obtained.

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?

A single dense sentence with the core purpose front-loaded and no filler. It is slightly overloaded, stacking output shape and pagination into one clause, but every element carries information.

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

Completeness3/5

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

For a simple read-only list tool with no output schema, the description covers the return grouping, the key fields, and pagination — enough to call it. It omits the kind default, cursor acquisition, and any routing versus search_catalog, which are the remaining gaps.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It implies shop_slug ('for a shop'), cursor ('cursor-based pagination'), and kind ('menu or service' maps to the product/service enum), giving partial semantic grounding. However it never names the enum values or states what happens when kind is omitted, leaving real ambiguity for a 3-parameter tool.

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

Purpose4/5

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

States a specific verb and resource ('Retrieve available menu or service catalog items for a shop') and adds meaningful scope detail: grouping by category, price/duration fields, and cursor pagination. It does not, however, distinguish itself from the sibling search_catalog, so an agent cannot tell from the description alone which of the two to pick.

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

Usage Guidelines2/5

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

There is no when-to-use guidance and no mention of the obvious alternative, search_catalog, which appears in the sibling list. The phrase 'available ... items' hints at a browse/listing context but no condition or exclusion is stated.

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

get_shop_infoB
Read-only
Inspect

Retrieve detailed public shop profile including address, locality, coordinates, weekly opening hours, upcoming closures, contact numbers, action mode, and latest menu timestamp.

ParametersJSON Schema
NameRequiredDescriptionDefault
shop_slugYes

TDQS

B3/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe read. The description adds useful scope context by characterizing the profile as 'public' and listing exactly which fields are returned, but it says nothing about error behavior for an unknown slug, rate limits, or whether closures/hours are timezone-qualified.

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?

A single dense sentence that front-loads the verb and resource, then lists outputs. The field enumeration is long but each item is informative rather than filler, so it earns its length despite reading as a run-on list.

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

Completeness3/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 correctly carries the burden of describing return values and does so well. However, it is silent on the sole input parameter and on failure modes, leaving real gaps for an agent that must decide when to call this versus find_shops.

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

Parameters2/5

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

There is one required parameter and schema description coverage is 0%, so the description is the only place semantics could be supplied — and it never mentions shop_slug, its format, or where the value comes from. The name is self-explanatory, but the description does not compensate for the coverage gap.

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

Purpose4/5

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

States a specific verb (Retrieve) and resource (public shop profile) and enumerates the returned fields, so the agent knows exactly what it gets back. It does not, however, differentiate itself from the sibling find_shops or explain that this is the by-slug lookup path.

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

Usage Guidelines2/5

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

No when-to-use guidance, no prerequisites, and no mention of the sibling alternatives (find_shops for discovery, get_catalog/search_catalog for menu data). The only hint at usage is the required slug parameter, which the description never discusses.

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

search_catalogC
Read-only
Inspect

Search items within a specific shop catalog using text similarity and full-text search with optional price ceiling and item kind filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNo
limitNo
queryYes
shop_slugYes
max_price_inrNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description usefully adds that matching uses text similarity plus full-text search, but says nothing about ranking, default limit, pagination, or result caps (limit max 20), which an agent would want before calling.

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?

A single front-loaded sentence with no filler; the core action and scope come first, filters second. Slightly dense but every clause carries information.

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

Completeness2/5

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

With five parameters, 0% schema coverage, and no output schema, the description should explain the search contract — default/max result count, ordering or relevance behavior, and slug format. None of that is present, leaving real gaps for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry parameter meaning. It explains max_price_inr ('price ceiling') and kind ('item kind filtering') but leaves query semantics, shop_slug format, and the limit parameter (bounds/default) entirely undocumented.

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

Purpose4/5

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

States a specific verb and resource ('Search items within a specific shop catalog') plus the mechanism (text similarity and full-text search) and filterable facets. It is clearly distinguishable from get_catalog or get_shop_info by implication, but it never names a sibling or draws the contrast explicitly.

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

Usage Guidelines2/5

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

There is no when-to-use / when-not-to-use guidance and no mention of the sibling tools (find_shops, get_catalog, get_shop_info). The only implicit cue is that a text query is required, which the schema already enforces.

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. 5 tool updates
    • First observedfind_shops
    • First observedget_action_link
    • First observedget_catalog
    • First observedget_shop_info
    • First observedsearch_catalog

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Official MCP server for 1acre.in, enabling lookup of survey numbers, browsing cadastral data, and generating land-intelligence reports for India's verified land marketplace through MCP-compatible clients.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for Karrito - the digital catalog builder for WhatsApp sellers in LATAM, enabling AI assistants to manage store operations like products, orders, discounts, reviews, shipping, and analytics.
    30
    9 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.