Gaurmon

com.gaurmonPublished by gaurmon.comOfficial publisherv1.0.1Updated Nov 5, 2026

Toronto grocery prices for your agent: flyer deals, shelf prices, and the flyer behind each one.

VerifiedStreamable HTTPWeb executableLocation & LifestyleProductivity & WorkflowFinance

Overview

AI-generated overview

Gaurmon gives an assistant Greater Toronto grocery price evidence: nearby stores, weekly flyer offers with unit prices, shelf prices, and the flyer image…

What you can do
  • Locate a Canadian postal code, FSA or coordinates, and list stores within a radius with their current flyers and offer counts
  • Search this week's flyer offers by item words, aisle or nearby place, with comparable unit prices and an offer ID
  • Compare items across banners near a place, and check regular shelf prices for staples not on sale
  • Show the flyer crop an offer was read from, and report where a price sits (cheapest, median, priciest) plus price history by flyer week and long-run averages
  • Record purchases from a receipt and read back a savings record against typical, cheapest and priciest prices
  • Read and edit a shared grocery list and the meals behind it, with items costed near a place
When to use it
Useful when someone wants an assistant to check Toronto-area grocery deals, compare prices across banners, verify a price with the flyer image, or keep a costed grocery list and savings record across agents and devices.
Requirements
A remote streamable HTTP endpoint; no package, environment variables or headers are declared. Most tools take a location (postal code, FSA or lat,lng). An account plan is reported by account_status, so a Gaurmon account is likely needed for list and savings tools.
Before you install
The server's own instructions call the tools read-only, but record_purchases, update_list and update_meals write to a stored grocery list, meal plan and purchase record kept by Gaurmon, so treat those as data-changing. Coverage is limited: shelf prices are No Frills only, some store locations are unknown, and Statistics Canada averages are used as a labelled fallback. No authentication is declared in the manifest.

Installation

In SourceWeft

  1. Open Gaurmon in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.gaurmon%2Fgaurmon/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "gaurmon": {
      "type": "http",
      "url": "https://www.gaurmon.com/api/mcp"
    }
  }
}

Tools

15

locate

Locate a place

Place a Canadian postal code, FSA or lat,lng as coordinates. Free. Use it to check a location before searching.

Parametersplacerequired

coverage

What Gaurmon covers

Banners, current flyer weeks, store counts and known gaps (e.g. FreshCo store locations unknown; shelf prices No Frills only, with Statistics Canada Ontario averages as a labelled fallback). Free. Call it before telling a user something isn't on sale.

Takes no parameters.

account_status

Gaurmon account status

The user's Gaurmon plan: trial days left, or the paid plan and when it renews. Free.

Takes no parameters.

stores_near

Grocery stores near a place

Stores within a radius, nearest first, each with every flyer it runs this week and how many offers each flyer has.

ParametersnearrequiredbannersradiusKm

search_offers

Search flyer offers

This week's flyer offers for item words, an aisle, or deals near a place: give at least one of `query`, `aisle` or `near`. Each row has a comparable unit price (per kg, L or item), dates, the nearest store carrying it, and an offerId for get_offer_evidence. At most 50 rows a call; use `aisle` and `unit` filters and `fields` to keep answers small.

ParametersnearsortunitaislelimitqueryfieldsbannersradiusKmattributesmaxUnitPriceminDiscountPercent

compare_items

Compare items across stores

For each item, the best comparable flyer offer at each banner near a place (priced offers first, the item itself by name, then lowest unit price), plus per-banner totals. Items with no flyer offer come back null: try shelf_prices for those.

ParametersnearitemsrequiredbannersradiusKm

shelf_prices

Everyday shelf prices

Regular (non-flyer) prices for staples, for items not on sale this week. Store shelf prices are No Frills only for now. One row per product; `proxy: true` means the price was read at another branch of the banner. Each row carries `baseline`, the Statistics Canada Ontario average for that kind of item when there is one, and `vsOntarioAveragePct`. When no store price exists (e.g. Food Basics, FreshCo), `hits` is empty and `fallback` holds only the StatCan averages: say they are provincial averages, not what a store charges.

ParametersnearlimitqueryrequiredfieldsradiusKm

get_offer_evidence

Flyer evidence for an offer

The flyer crop an offer was read from (as an image), with its page, dates and banner. Use it to show the user, or for a price match at the till.

ParametersofferIdrequired

price_range

Price range for an item

Where a price sits: the cheapest, typical (median) and priciest qualified unit price for the same item across stores near a place on a day (flyer offers valid that day, shelf prices read within a week), how many prices each rests on, and `status` ranged | thin_range | unranged. Give quantity, unit and paidMinor to get the percentile and savings for a price. Use it before a purchase to say what a fair price is; record_purchases stores the same numbers.

ParametersonitemrequirednearrequiredunitquantityradiusKmpaidMinor

record_purchases

Record a purchase in the savings record

Add a receipt to the user's savings record: one row per line (generic item, quantity, unit, paidMinor in cents, optional offerId from search_offers). Each line is stored with its price range around the store that day (cheapest, typical, priciest) and returns savings vs each plus the percentile; negative savings (paid above typical) are kept. Lines on a thin range are shown but not totalled. Each line has `basis` (what it was compared with) or `notCounted` (why not) and a plain `summary`; the receipt has a `summary`, `method` and `methodUrl` (how savings are counted, an estimate compared with typical prices nearby) to pass on to the user. Append-only and idempotent: reuse `operationId` to retry safely; to fix a purchase, record a new one with `supersedesPurchaseId`.

ParametersnearrequiredbasisrequiredlinesrequiredbannerstoreIdradiusKmoperationIdrequiredpurchasedOnrequiredcorrectionReasonsupersedesPurchaseId

get_savings

The user's savings record

The running savings record, as estimates compared with typical prices nearby: the headline `vsTypical` (paid vs the typical, median price of the same items around the store on the same days; positive = under typical), `vsCheapest` (left on the table) and `vsPriciest`, totals by flyer week and by month, the best and worst lines, every line with the prices behind it, `summary` (lead with this: what was compared, what wasn't and why), `shareable`, one sentence the user can post, and `method` with `methodUrl`, a short plain explanation of how savings are counted and where it's published, to give the user when they ask. Totals count ranged lines only; thin and unranged lines are counted separately. Free, including after the trial.

ParameterstofromlinesLimit

price_history

Price history for an item

An item's observed unit-price range (min, median, max per kg, L or item) by flyer week (Thursday to Wednesday), from flyer offers and shelf prices near a place, plus `longRun`: the Statistics Canada monthly average unit price for the item since 2017 (Ontario, else Canada), with its 1- and 5-year change. `weeksKnown` says how many weeks Gaurmon has: its history started with the Oct 29 2026 flyer week and grows by one each Thursday, so say so when it's short, and say `longRun` is a provincial average, not a store price.

ParametersitemrequirednearunitweeksradiusKm

get_list

The user's grocery list

The user's grocery list and the meals behind it, kept by Gaurmon so they're the same in every agent and device. Each item is costed near a place for the amount needed (its own amount plus its meals'), from the cheapest flyer offer or everyday shelf price: by weight, by whole packages, multibuys per item; `price.how` says how and `approximate` when the size isn't comparable. `stops` groups items by store (at most `maxStores`, only `preferBanners` when set). `meals` lists each meal's ingredients and cost share; `mealIds` on an item says which meals need it. Unpriced items aren't counted in `totals`. Ids are for update_list and update_meals. Which stores to visit, and when, is yours to suggest.

ParametersnearradiusKmmaxStorespreferBanners

update_list

Change the grocery list

Add items to, remove items from, or tick items on the user's grocery list by hand (at most 100 items; an item already on the list isn't added twice, but one there only for a meal becomes wanted by hand too). Give an amount for each item so it's costed right. Use item ids from get_list. `clear: "checked"` removes ticked items after a shop; `clear: "all"` empties the list and its meals. For a meal's ingredients use update_meals instead, so they stay linked. Returns the list like get_list. After a shop, offer to record what was bought with record_purchases.

ParametersaddnearcheckclearremoveuncheckradiusKmmaxStorespreferBanners

update_meals

Change the meals behind the grocery list

Add, remove, replace or edit the meals behind the user's grocery list; their ingredients go on and off the list to match, in one transaction. Send a whole plan at once with `add` (at most 21 meals, 40 ingredients each, amounts in any unit). Shared ingredients are combined where units allow. Removing a meal lowers what's needed of shared items and removes items no other meal needs, but never items added by hand; ticked items stay, marked noLongerNeeded. `replace` swaps a meal for another in one step. Returns the list like get_list plus `change` (items added and removed, estimate before and after) and `undo`: the update_meals arguments that reverse it.

ParametersaddnearremoveupdatereplaceradiusKmmaxStorespreferBanners

Version history

2
  1. v1.0.1LatestNov 5, 2026
  2. v1.0.0Nov 3, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.