Offers

Merchant offers with validated discounts and no bought rankings; accepting mints a voucher code.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
97%
Naming quality
80%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • HIGHTool poisoning patterns detected
  • LOWTool description contains role marker that could confuse chat modelsin offers_accept

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~382Tokens (tool definitions)
~611 BTypical response size
Minimal attention impact (0.30% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "offers": {
      "url": "https://offers.mattherbert.ca/mcp"
    }
  }
}

Remote endpoints

https://offers.mattherbert.ca/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢offers_find(query, category, city, country)

Search current offers by free-text query, category, and/or place. Returns active offers with title, pricing (including the reference price a discount is measured against), validity window, and location.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Free-text search over title, description, and product"
    },
    "category": {
      "type": "string",
      "description": "Offer category, e.g. restaurant, beauty, event"
    },
    "city": {
      "type": "string",
      "description": "City name"
    },
    "country": {
      "type": "string",
      "description": "Country name or code"
    }
  }
}
🟢offers_get(offer_id)

Get one offer by id: full details, redemption terms, validity, and the merchant's verification record (whether AITWIRE has independently measured the merchant, with accuracy statistics when it has).

Input Schema

{
  "type": "object",
  "properties": {
    "offer_id": {
      "type": "string",
      "description": "The offer id from offers_find"
    }
  },
  "required": [
    "offer_id"
  ]
}
🟢offers_accept(offer_id)

Claim a code offer for the user: mints a single-use redemption code they show the merchant in person. Use only once the user has decided to take a specific offer (confirm the details first). Returns the code and how to redeem it.

Input Schema

{
  "type": "object",
  "properties": {
    "offer_id": {
      "type": "string",
      "description": "The offer id from offers_find / offers_get"
    }
  },
  "required": [
    "offer_id"
  ]
}

Recommended Prompts

fetch_info
Fetch [information type] using Offers
Expected tools: offers_get
retrieve_data
Get details about [item] from Offers
Expected tools: offers_get
research_workflow
Search for [topic], then get detailed information about the top results using Offers
Expected tools: offers_findoffers_get
find_specific
Find [specific item] using Offers
Expected tools: offers_find
search_research
Search for information about [topic] using Offers
Expected tools: offers_find

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools