KI

Kindred Offers and Discounts MCP Server

Discover live deals and coupons from e-commerce merchants worldwide on the Kindred Offers and Discounts MCP server (by kindred.co).

Quick Install
npx -y @kindred-app/mcp-server-kindred-offers

Overview

The Kindred Offers and Discounts MCP server is a Model Context Protocol (MCP) compatible backend that makes live e‑commerce deals, coupons, and merchant discount information available to applications and LLMs. It acts as a runtime bridge between model-assisted flows and fresh, structured offers data from Kindred’s merchant network, letting models call deterministic tools instead of hallucinating promotional details.

This server is useful for developers building shopping assistants, coupon finders, browser extensions, or any conversational agent that needs up‑to‑date offers. By exposing the data through MCP-style tools, you can integrate offer discovery directly into model workflows, enforce input/output contracts, and keep response content grounded on real merchant data.

Features

  • Exposes offer and merchant data as MCP-compatible tools for deterministic model calls
  • Returns structured offer metadata: title, description, merchant, price, validity/expiration, coupon code, and destination URL
  • Supports search and retrieval by query, merchant, category, region, and price range
  • Lightweight server intended to be run locally, in containers, or as a cloud service
  • Configurable via environment variables (API keys, ports, rate limits)
  • Health, metadata, and tooling endpoints for discovery and integration

Installation / Configuration

Prerequisites:

  • Node.js (14+) or Docker
  • Kindred API key (if required by your configuration)

Quick start (clone and run locally):

# Clone repository
git clone https://github.com/kindred-app/mcp-server-kindred-offers.git
cd mcp-server-kindred-offers

# Install dependencies
npm install

# Run the server (example)
KINDRED_API_KEY=your_api_key_here PORT=8080 npm start

Run with Docker:

# Build image
docker build -t kindred-offers-mcp .

# Run container
docker run -e KINDRED_API_KEY=your_api_key_here -p 8080:8080 kindred-offers-mcp

Common environment variables

VariableDescriptionDefault
KINDRED_API_KEYAPI key for access to Kindred merchant/offer backend(none)
PORTHTTP port to listen on8080
NODE_ENVNode environment (development/production)production
RATE_LIMITMax requests per minute (server-side throttling)60

After startup, the server exposes discovery endpoints (tool metadata, health) and tool invocation endpoints (see Available Tools).

Available Tools / Resources

The MCP server exposes a small set of deterministic tools (RPC-style) that models or apps can call. The following table summarizes the common tools — use these as the contract when integrating with models.

Tool namePurposeInput (example)Output (example)
search_offersSearch active offers by query, category, or merchant{ “q”:“running shoes”, “region”:“US”, “limit”:5 }[ { “id”:“o_123”, “title”:“20% off”, “merchant”:“ShoeCo”, “price”:“$79.99”, “expires”:“2026-05-01”, “url”:“https://…” } ]
get_offerRetrieve full details for one offer by id{ “offer_id”:“o_123” }{ “id”:“o_123”, “title”:“20% off”, “description”:“…”, “merchant”:“ShoeCo”, “coupon”:“SH20”, “expires”:“2026-05-01”, “url”:“https://…” }
list_merchantsList merchants matching a filter{ “q”:“outdoor”, “limit”:10 }[ { “merchant_id”:“m_55”, “name”:“TrailGear”, “domain”:“trailgear.example” } ]
promotions_by_merchantCurrent promotions for a merchant{ “merchant_id”:“m_55” }[ { “id”:“o_200”, “title”:“Free shipping”, … } ]

Example tool discovery endpoints (conventional):

  • GET /mcp/tools — returns JSON listing available tools and their schemas
  • GET /health — returns server status

Example invocation pattern (generic HTTP):

curl -X POST "http://localhost:8080/mcp/invoke/search_offers" \
  -H "Content-Type: application/json" \
  -d '{"q":"wireless earbuds","region":"US","limit":3}'

Response (example):

[
  {
    "id": "o_901",
    "title": "15% off Wireless Earbuds",
    "merchant": "AudioBrand",
    "price": "$59.99",
    "coupon": "EAR15",
    "expires": "2026-06-30",
    "url": "https://audiobrand.example/deal"
  }
]

Note: endpoint paths and exact payload shapes may vary slightly depending on server version. Consult the /mcp/tools metadata endpoint for exact schemas.

Use Cases

  • Conversational shopping assistant: When a user asks “Find me deals on winter jackets under $200,” the LLM calls search_offers with the query, price ceiling, and region. The server returns live matching offers and coupon codes that the assistant can present or use to generate a checkout link.
  • Coupon extension or toolbar: A browser extension queries promotions_by_merchant for the visited domain and displays applicable coupon codes from the Kindred network in real time.
  • Email or SMS deal alerts: A backend job periodically calls search_offers for category feeds (e.g., “gaming laptops”) and formats the structured offers into digestible notifications for subscribers.
  • Data validation for content generation: Use get_offer to fetch authoritative details (expiration, exact coupon string) before including promotional text in generated output to avoid stale or incorrect promotions.

Tips for Developers

  • Always use the tool discovery endpoint to confirm the exact input and output schemas before wiring tools into your model flows.
  • Treat offer data as time‑sensitive: cache conservatively and refresh frequently for critical flows.
  • Validate and sanitize merchant URLs before embedding links into user‑facing content.
  • Respect rate limits and configure retries/backoff for transient upstream errors.

For the latest source, issues, and contribution guidelines, visit the project repository: https://github.com/kindred-app/mcp-server-kindred-offers.