Skip to main content
Glama

ARC (arcreport.ai): can an agent reach checkout?

Find stores

find_stores
Read-onlyIdempotent

Call this when you need to pick a store for a product need and want one where a saved check shows an agent reached checkout. Filters: category or q (shopper words), min_grade (optional, default none), limit (default 5). Returns total, the store hosts with checked_at and grade, and a full_list link. Each store carries its Agent Readiness Grade (grade, null when not graded). Best current grade first (A, then B…); an expired grade ranks after current ones of the same letter; newest checked_at first within a grade. Results are ordered only by published grade and freshness, never by anything else. Pass min_grade to keep only stores with a current grade of that letter or better. Example: find_stores({"category":"running shoes","limit":3}) → {"total":12,"stores":[{"host":"…","checked_at":"…","grade":{"grade":"A",…}}],…}. A store missing from the list is not a no. Saved checks only: no store fetch, no scan, no login. Advisory; ARC stops before payment. Errors: {error:{code, message, next_step}}.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "find_stores"
  }
}

Input Schema

NameRequiredDescriptionDefault
qNoProduct need, such as skincare or camping gear.
limitNoHow many stores to return. Default 5.
categoryNoCategory or shopper words, such as footwear or running shoes.
min_gradeNoOptional: keep only stores whose current (not expired) Agent Readiness Grade is this letter or better (A, B, C, D or F). Default none: every store is listed. Expired and not-graded stores are left out when this is set.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / min_grade
      Added value: +{
      +  "description": "Optional: keep only stores whose current (not expired) Agent Readiness Grade is this letter or better (A, B, C, D or F). Default none: every store is listed. Expired and not-graded stores are left out when this is set.",
      +  "enum": [
      +    "A",
      +    "B",
      +    "C",
      +    "D",
      +    "F"
      +  ],
      +  "type": "string"
      +}
  2. Added

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, and the description still adds substantial behavior beyond them: it explicitly disclaims network activity (no fetch, scan, or login), pins the ordering to published grade then freshness with a tie rule for expired grades, states the advisory/ARC-stops-before-payment boundary, and gives the error envelope shape. That is exactly the extra context an agent needs to interpret results correctly.

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?

It is front-loaded with the use case, then filters, return shape, ordering, example, and errors — a followable structure. There is minor redundancy, notably the ordering rule restated twice ("Best current grade first" / "ordered only by published grade and freshness, never by anything else") and schema defaults repeated in the Filters line, but nothing is badly padded.

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?

With no output schema, the description carries the return-value burden and does so: total, store hosts with checked_at and grade, full_list link, null-grade handling, plus a literal example response. Combined with the error shape and pagination-by-limit guidance, an agent can call and interpret it; the only real hole is disambiguation from find_agent_ready_stores.

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 coverage is 100%, so the baseline is 3; the description goes further by restating min_grade as a same-letter-or-better filter over current (non-expired) grades and noting that expired and ungraded stores drop out when it is set, plus a worked example call. It adds a little meaning beyond the schema rather than merely echoing it, though q vs category overlap is only loosely explained.

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 opens with a specific verb and resource in context: pick a store for a product need where a saved check shows an agent reached checkout, which is far more precise than the bare name/title. It does not, however, differentiate itself from the very similar sibling find_agent_ready_stores, so an agent still has to guess which of the two store-finding tools to open.

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 states an explicit trigger condition ("Call this when you need to pick a store...") and a key inclusion heuristic ("A store missing from the list is not a no"). It also scopes the data source ("Saved checks only: no store fetch, no scan, no login") and marks the output advisory, but it never names an alternative tool or a when-not condition, so routing against siblings remains inferential.

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.

Resources