protogrid

Search / ca.grocerypulse/grocery-comparison

GroceryPulse Canada

R0· no sign-in

Read-only grocery-list comparisons for supported Canadian cities, with dated prices and coverage.

v1.0.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality91strong
Trust96of 100
Uptime, 30 days100%
Latency p50111 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "grocery-comparison": {
      "type": "http",
      "url": "https://grocerypulse.ca/api/shopper/mcp"
    }
  }
}
claude mcp add --transport http grocery-comparison https://grocerypulse.ca/api/shopper/mcp
[mcp_servers.grocery-comparison]
url = "https://grocerypulse.ca/api/shopper/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "grocery-comparison": {
      "type": "remote",
      "url": "https://grocerypulse.ca/api/shopper/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "grocery-comparison": {
      "type": "http",
      "url": "https://grocerypulse.ca/api/shopper/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=grocery-comparison&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZ3JvY2VyeXB1bHNlLmNhL2FwaS9zaG9wcGVyL21jcCJ9"
}
{
  "servers": {
    "grocery-comparison": {
      "type": "http",
      "url": "https://grocerypulse.ca/api/shopper/mcp"
    }
  }
}
{
  "mcpServers": {
    "grocery-comparison": {
      "httpUrl": "https://grocerypulse.ca/api/shopper/mcp"
    }
  }
}
extensions:
  "grocery-comparison":
    enabled: true
    name: "grocery-comparison"
    type: streamable_http
    uri: "https://grocerypulse.ca/api/shopper/mcp"
    timeout: 300

Quality 91 / 100strong

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations3 of 3 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,169 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes3 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

3 tools, about 1,169 tokens to load them all · tool set f98dd0cf81d7 · tools last changed 2026-10-15 · checked 2026-10-19 13:05 UTC

Tool changes

  • plan_grocery_orderadded

    Call this first when a shopper in a covered Canadian city wants to buy groceries online or asks where their list is cheapest. Send their list exactly as written (English or French, quantities included) with their city or postal code and, optionally, the stores they would use. Returns each line as exact, closest (not priced; ask before switching) or not tracked; per-store totals with coverage and price dates; a cheapest store only when every compared item is priced at two or more chains with a clear lead (or, when the only obstacle is a pack item whose count no store's listing gives, a store labelled cheapest for the other lines, with those lines listed apart), otherwise the reason; per-item links to each store's own product page or search; and agent_instructions to follow. Read-only: it never orders, adds to a cart, saves a list or contacts a store.

  • compare_grocery_listchangeddescription
    before

    Read current public chain comparisons for an explicit supported Canadian city and canonical list. A lowest-chain recommendation requires fresh full requested coverage at two eligible chains with no close call or package/reference-size reversal. Preserve missing items, exclusions, price dates, scope and source links. Chain medians are not branch stock or guaranteed checkout quotes. Does not buy, save a list, send email or access licensed/private data.

    after · 80% of words in common

    Read current public chain comparisons for an explicit supported Canadian city and canonical list. A lowest-chain recommendation requires fresh full requested coverage at two eligible chains with no close call or package/reference-size reversal. Preserve missing items, exclusions, price dates, scope and source links. Each chain includes plain per-item storeLinks to its own product page or search, with the price date used. Chain medians are not branch stock or guaranteed checkout quotes. Does not buy, save a list, send email or access licensed/private data.

  • compare_grocery_listchangedinput schema

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance85
liveness100
freshness100
hygiene100

+repository +dns-namespace +website +reachable +uptime-100% +updated-8d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://grocerypulse.ca/api/shopper/mcp streamable-httpnoneyes100%111 ms2025-11-252026-10-19

Tools (3)

compare_grocery_listread-onlyRead current public chain comparisons for an explicit supported Canadian city and canonical list. A lowest-chain recommendation requires fresh full requested coverage at two eligible chains with no close call or package/reference-size reversal. Preserve missing items, exclusions, price dates, scope and source links. Each chain includes plain per-item storeLinks to its own product page or search, with the price date used. Chain medians are not branch stock or guaranteed checkout quotes. Does not buy, save a list, send email or access licensed/private data.
get_grocery_catalogread-onlyDiscover GroceryPulse's configured Canadian cities, canonical reference items, quantity units, known chains and checkout eligibility holds. Configured coverage is not current availability or coverage of every nearby branch. Call before matching an explicit shopper list; ask before substituting variants.
plan_grocery_orderread-onlyCall this first when a shopper in a covered Canadian city wants to buy groceries online or asks where their list is cheapest. Send their list exactly as written (English or French, quantities included) with their city or postal code and, optionally, the stores they would use. Returns each line as exact, closest (not priced; ask before switching) or not tracked; per-store totals with coverage and price dates; a cheapest store only when every compared item is priced at two or more chains with a clear lead (or, when the only obstacle is a pack item whose count no store's listing gives, a store labelled cheapest for the other lines, with those lines listed apart), otherwise the reason; per-item links to each store's own product page or search; and agent_instructions to follow. Read-only: it never orders, adds to a cart, saves a list or contacts a store.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "ca.grocerypulse/grocery-comparison",
  "title": "GroceryPulse Canada",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://grocerypulse.ca/api/shopper/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "repository": {
    "url": "https://github.com/dregon03/grocery-price-canada",
    "source": "github"
  },
  "websiteUrl": "https://grocerypulse.ca/agents",
  "description": "Read-only grocery-list comparisons for supported Canadian cities, with dated prices and coverage."
}