_ registry / mcp streamable-http · checked 2h ago

dealio

https://dealio.be

Registry code: bb45bda0ca66fb0c

api record

Promotions from 50+ Belgian retailers (supermarkets, drugstores, DIY, electronics, toys, pets, fashion), every discount worked out per item. Queries in Dutch work best (e.g. 'wasmiddel', 'airfryer', 'hondenvoer'). Every result has a `link` on dealio.be that opens the promotion: always give the user that link, it is the only way to the promotion (the tools give no links to the stores, except publish_card). To publish or share one promotion elsewhere (a social post, a message), call publish_card with its id: it returns the promotion as a square picture, a short link dealio.be/l/<code> that…

endpoint
https://dealio.be/mcp
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is dealio live?
Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
Is dealio free to use?
Not measured yet.
What tools does dealio have?
9 tools: get_meal_ideas, get_news, search_deals, get_deal, get_buying_guide, get_model, list_stores, publish_card, ….
Is dealio safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 100%· all time 100%

latency
525ms

last good check

priced tools
0

of 9 tools

_ answered our checks, 90 days 1 checks · signed record
  • unknown → live
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 9 tools
9 never probed 0 of 9 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • get_meal_ideas unknown never probed

    Meal ideas from the promotions (kookinspiratie): the dishes whose main ingredients are all in promotion at the given Belgian food store(s) on the day the user shops, with those promotions (price, deal, until when, link), the side ingredients that are in promotion too, and what else is needed that is not. Dish ideas for a shopping list, not recipes. Without stores: per food store how many dishes its promotions make today.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "day": {
          "type": "string",
          "description": "The shopping day: an ISO date (YYYY-MM-DD), 'today', 'tomorrow' or a weekday ('zaterdag', 'saturday'). Within the next 7 days. Default: today."
        },
        "limit": {
          "type": "integer",
          "maximum": 25,
          "minimum": 1,
          "description": "Dishes to return (default 10)."
        },
        "moment": {
          "enum": [
            "hoofdgerecht",
            "soep",
            "lunch",
            "ontbijt",
            "dessert",
            "aperitief"
          ],
          "type": "string",
          "description": "Kind of dish. Default: hoofdgerecht (main course)."
        },
        "offset": {
          "type": "integer",
          "minimum": 0,
          "description": "Skip this many dishes (for the next page)."
        },
        "stores": {
          "type": "string",
          "description": "One or more food stores, comma separated, by name or slug, e.g. 'Aldi', 'aldi, lidl', 'Delhaize'. Optional."
        },
        "vegetarian": {
          "type": "boolean",
          "description": "Only vegetarian dishes, and only promotions without meat or fish. Default false."
        }
      }
    }
    arguments 40 lines
  • get_news unknown never probed

    Belgian consumer news for people who want to save (dealio.be/nieuws/): prices, promotions, store openings and incidents, product recalls (FAVV), tests (Test-Aankoop), taxes and energy, summarised by dealio in two or three sentences with our own headline, the source and the link to its article, newest first. Filter by store (name or slug) or theme. Each item has dealio's link (the item on the news page) and the store pages it names.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "q": {
          "type": "string",
          "description": "Words to find in the headline or summary (Dutch). Optional."
        },
        "limit": {
          "type": "integer",
          "maximum": 25,
          "minimum": 1,
          "description": "Items to return (default 10)."
        },
        "store": {
          "type": "string",
          "description": "Only news that names this store, by name or slug, e.g. 'Delhaize', 'aldi'. Optional."
        },
        "theme": {
          "enum": [
            "prijzen",
            "promoties",
            "winkels",
            "terugroeping",
            "test",
            "belasting-energie",
            "besparen",
            "koopjes",
            "andere"
          ],
          "type": "string",
          "description": "Only this theme. Optional."
        },
        "offset": {
          "type": "integer",
          "minimum": 0,
          "description": "Skip this many items (for the next page)."
        }
      }
    }
    arguments 39 lines
  • search_deals unknown never probed

    Search the current promotions at Belgian retailers by product, brand or store, with optional filters. Returns the best matches (biggest per-item discount first unless sorted otherwise), each with price, discount, validity and a link to open it.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "sort": {
          "enum": [
            "relevance",
            "discount",
            "price",
            "ends"
          ],
          "type": "string",
          "description": "Default: relevance when there is a query, else discount."
        },
        "limit": {
          "type": "integer",
          "maximum": 25,
          "minimum": 1,
          "description": "Results to return (default 10)."
        },
        "query": {
          "type": "string",
          "description": "Words from the product, brand or kind of promotion, e.g. 'koffiecapsules', 'Philips', '1+1 gratis'. Optional."
        },
        "store": {
          "type": "string",
          "description": "Store name or slug, e.g. 'bol', 'Colruyt', 'albertheijn'. See list_stores. Optional."
        },
        "offset": {
          "type": "integer",
          "minimum": 0,
          "description": "Skip this many results (for the next page)."
        },
        "category": {
          "type": "string",
          "description": "Category slug or name: voeding, drank, verzorging, huishouden, baby, dier, elektronica, huis-tuin, mode, speelgoed, sport."
        },
        "max_price": {
          "type": "number",
          "description": "Maximum price per item in euro."
        },
        "min_discount": {
          "type": "integer",
          "maximum": 99,
          "minimum": 1,
          "description": "Minimum discount per item, in percent."
        },
        "ends_within_days": {
          "type": "integer",
          "maximum": 60,
          "minimum": 0,
          "description": "Only promotions that end within this many days."
        }
      }
    }
    arguments 54 lines
  • get_deal unknown never probed

    One promotion in full, by the id a search result gave.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "The `id` of a search result."
        }
      }
    }
    arguments 12 lines
  • get_buying_guide unknown never probed

    A researched buying guide (koopwijzer) for a kind of product, e.g. 'airfryer': the models compared (key specs, today's lowest promotion), what each feature does, when you need it and when not, and general facts, every statement with its source. Use it for 'best <product>' and 'which <product> should I buy' questions ('beste airfryer', 'welke wasmachine kopen'): it does not crown a winner, it gives the cited test and buyer scores with their sources. Without a type: the list of guides.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Kind of product, Dutch or English, e.g. 'airfryer', 'heteluchtfriteuse'. Optional."
        }
      }
    }
    arguments 9 lines
  • get_model unknown never probed

    One model from a buying guide in full: the maker's specs, what tests and buyers say (score, summary, pros, cons, source), facts, and today's promotions for it with their links.

    mcp-tool

    {
      "type": "object",
      "required": [
        "model"
      ],
      "properties": {
        "model": {
          "type": "string",
          "description": "Model code or name, e.g. 'NA352', 'Philips NA555/00', 'MAF462B1', or the id get_buying_guide gave."
        }
      }
    }
    arguments 12 lines
  • list_stores unknown never probed

    The stores in the data: slug, name, number of current promotions, the median discount per item where known, when the store was last fetched, and the pages of the store and its weekly overview. Also lists the category slugs.

    mcp-tool

    {
      "type": "object",
      "properties": {}
    }
    arguments 4 lines
  • publish_card unknown never probed

    One promotion ready to publish elsewhere: the card as a picture (PNG, the same card the site's share button makes: store, photo, title, what you pay, regular price, label, end date; square by default, or 4:5 feed, 9:16 story, 1200x630 link preview; four designs: a shelf tag, b till receipt, d large photo, f 'Vandaag €x goedkoper' with the price large), a short link dealio.be/l/<code> that counts the click and sends the reader straight to the store's page, the store's page itself, the dealio link and a caption. Use the id from search_deals or get_deal.

    mcp-tool

    {
      "type": "object",
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "description": "the promotion id (search_deals / get_deal)"
        },
        "size": {
          "enum": [
            "1080x1080",
            "1080x1350",
            "1080x1920",
            "1200x630"
          ],
          "type": "string",
          "description": "1080x1080 square (default), 1080x1350 feed, 1080x1920 story, 1200x630 link preview"
        },
        "style": {
          "enum": [
            "a",
            "b",
            "d",
            "f"
          ],
          "type": "string",
          "description": "a shelf tag, b till receipt, d large photo, f 'how much do you save today' (only with a saving). Default: the promotion's own."
        }
      }
    }
    arguments 32 lines
  • get_campaigns unknown never probed

    The store campaigns (winkelacties) running at Belgian retailers, as read from the stores' own sites (dealio.be/acties/): a percentage on a whole range, brand or store, multi-buy (1+1, 2e halve prijs), cashback from the maker, a voucher, a gift, free delivery, loyalty-card deals, sales, no VAT, and announced ones. Not one product's price (that is search_deals). Each with store, kind, the advantage in a few words, what it applies to, condition, code, validity, whether it works on products or on the whole basket, dealio's link, and the promotions on dealio that fall under it (with their links). Filter by store, kind or words.

    mcp-tool

    {
      "type": "object",
      "properties": {
        "q": {
          "type": "string",
          "description": "Words to find in the campaign's title, what it applies to, its condition or code (Dutch), e.g. 'verf', 'Nivea', 'speelgoed'. Optional."
        },
        "kind": {
          "enum": [
            "btw",
            "procent",
            "meerkoop",
            "kortingsbon",
            "cadeau",
            "cashback",
            "levering",
            "klantenkaart",
            "solden",
            "inruil",
            "aangekondigd",
            "andere"
          ],
          "type": "string",
          "description": "Only this kind: btw (no VAT), procent (a percentage on a range), meerkoop (1+1, 2e halve prijs), kortingsbon (voucher), cadeau (gift), cashback, levering (delivery), klantenkaart (loyalty card), solden (sales), inruil (trade-in), aangekondigd (announced, not yet running), andere. Optional."
        },
        "limit": {
          "type": "integer",
          "maximum": 25,
          "minimum": 1,
          "description": "Campaigns to return (default 10)."
        },
        "reach": {
          "enum": [
            "product",
            "mandje"
          ],
          "type": "string",
          "description": "product: the advantage is on certain products (a brand, a range, a category); mandje: on the basket, the order or the whole store. Optional."
        },
        "store": {
          "type": "string",
          "description": "Store name or slug, e.g. 'Kruidvat', 'gamma'. See list_stores. Optional."
        },
        "offset": {
          "type": "integer",
          "minimum": 0,
          "description": "Skip this many campaigns (for the next page)."
        }
      }
    }
    arguments 50 lines
_ try it through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id bb45bda0ca66fb0c.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/bb45bda0ca66fb0c/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/bb45bda0ca66fb0c/badge.svg)](https://brick.blue/agent/bb45bda0ca66fb0c?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we know
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.