Hoppa till innehållet
plendio
Logga in

Plendio för AI-assistenter

Plendio har en öppen MCP-server så att en AI-assistent kan söka efter produkter och jämföra priser i danska, svenska, tyska och norska nätbutiker. Den är gratis, kräver ingen inloggning och kan bara läsa. Resten av sidan är på engelska och riktar sig till utvecklare.

MCP endpoint

https://plendio.se/mcp

What it is

Plendio is an independent price comparison service with AI product search for shoppers in Denmark, Sweden, Germany and Norway. The Plendio MCP server lets an AI assistant do what a shopper does on the website: search products in plain language, read a product's specifications and price history, and compare the shops that sell it, cheapest first, including shipping and whether the shop delivers to the shopper's country.

  • · No sign-in, no API key. The server is public and free.
  • · Read-only. Every tool only reads Plendio's catalogue; nothing is written, bought or sent.
  • · Transport: MCP streamable HTTP, stateless, JSON responses. There is no session to keep.
  • · One endpoint per domain: plendio.dk/mcp (Denmark, DKK), plendio.se/mcp (Sweden, SEK), plendio.de/mcp (Germany, EUR) and plendio.com/mcp. The domain sets the default market; every tool also takes a market argument (dk, se, de, no).
  • · Discovery: /.well-known/mcp.json, and llms.txt as a plain-text overview of the site.
  • · Prices are prices, links are links. Results carry consumer prices including VAT and a link to the product's Plendio page, which lists every shop's offer and sends the shopper to the shop. There are no ads in the results and no shop can buy a better position; Plendio may earn a commission when a shopper buys after clicking through, and that never changes the order (how we rank).

Connect it to an assistant

Use the endpoint URL above. Authentication: none.

Claude (claude.ai, Claude Desktop, mobile)

Settings, then Connectors, then Add custom connector. Name it Plendio, paste https://plendio.se/mcp as the URL, leave the authentication fields empty and add it. Then switch the connector on in a conversation and ask for a product. On team plans an owner adds the connector first.

Claude Code

claude mcp add --transport http plendio https://plendio.se/mcp

ChatGPT

In ChatGPT's settings open Connectors (Apps), then Advanced settings, and turn on Developer mode. Create a connector, paste the endpoint URL, choose no authentication, and enable it for a chat. Availability of developer mode depends on your plan.

Gemini CLI

gemini mcp add --transport http plendio https://plendio.se/mcp

or in ~/.gemini/settings.json:

{
  "mcpServers": {
    "plendio": { "httpUrl": "https://plendio.se/mcp" }
  }
}

Cursor, VS Code and other clients

Any client that speaks streamable HTTP takes the URL. In Cursor's mcp.json:

{
  "mcpServers": {
    "plendio": { "url": "https://plendio.se/mcp" }
  }
}

In VS Code's .vscode/mcp.json:

{
  "servers": {
    "plendio": { "type": "http", "url": "https://plendio.se/mcp" }
  }
}

To try the server by hand, use the MCP Inspector:

npx @modelcontextprotocol/inspector --cli https://plendio.se/mcp --transport http --method tools/list

or plain HTTP:

curl -s -X POST https://plendio.se/mcp \
  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_products","arguments":{"query":"laptop 32 GB RAM"}}}'

The four tools

All four are read-only, idempotent and closed-world (they never look beyond Plendio's catalogue), and every one carries a title and those annotations in tools/list. The examples below are shortened. Each result has structured content and a short text summary.

search_products: Search products

Free text in Danish, Swedish, German, Norwegian or English, plus optional filters: category, brands, shops, min_price, max_price, in_stock, sort (relevance, price_asc, price_desc), page (24 products per page), market. Spec words in the query ("32 GB RAM", "under 12000") are understood as on the website.

Example arguments

{
  "query": "laptop 32 GB RAM under 12000",
  "max_price": 12000,
  "in_stock": true
}

Example result (structured content)

{
  "query": "laptop 32 GB RAM under 12000",
  "market": "dk",
  "currency": "DKK",
  "total": 41,
  "total_exact": true,
  "page": 1,
  "page_size": 24,
  "total_pages": 2,
  "products": [
    {
      "id": 1804231,
      "title": "Acme Book 15 - 15.6\" - 32 GB RAM - 1 TB SSD",
      "brand": "Acme",
      "category": "Bærbare computere",
      "price_from": 8999,
      "currency": "DKK",
      "offer_count": 7,
      "in_stock": true,
      "image": "https://plendio.dk/img/...",
      "url": "https://plendio.dk/products/acme-book-15-32-gb-1804231"
    }
  ],
  "applied": { "max_price": 12000, "in_stock": true, "specs": ["ram_gb >= 32"] },
  "search_url": "https://plendio.dk/search?q=laptop+32+GB+RAM+under+12000"
}

get_product: Get product details

One product by the id that search_products returns: specifications, the offers of shops that ship to the market (at most 25, cheapest first) and a summary of the last year's price history.

Example arguments

{ "product_id": 1804231 }

Example result

{
  "id": 1804231,
  "title": "Acme Book 15 - 15.6\" - 32 GB RAM - 1 TB SSD",
  "brand": "Acme",
  "category": "Bærbare computere",
  "url": "https://plendio.dk/products/acme-book-15-32-gb-1804231",
  "market": "dk",
  "currency": "DKK",
  "in_stock": true,
  "specs": [{ "key": "ram_gb", "label": "RAM", "value": "32 GB" }],
  "offer_count": 2,
  "offers": [
    {
      "shop": "cheap.dk", "shop_host": "cheap.dk", "shop_country": "DK",
      "price": 8500, "currency": "DKK", "shipping": 99, "total": 8599,
      "availability": "in_stock", "condition": "new", "ships_to_market": "yes"
    }
  ],
  "price_history": {
    "currency": "DKK", "lowest": 7800, "average": 8600, "highest": 9500,
    "current": 8500, "since": "2026-06-29", "days": 92,
    "scope": "The cheapest price across all shops in the catalogue, whatever country they ship to."
  }
}

compare_prices: Compare prices

The shops that sell one product, cheapest first by total price including shipping (by price alone where a shop's shipping is unknown). Shops that do not ship to the market are left out unless include_other_markets is true.

Example arguments

{ "product_id": 1804231, "market": "dk" }

Example result

{
  "id": 1804231,
  "title": "Acme Book 15 - 15.6\" - 32 GB RAM - 1 TB SSD",
  "url": "https://plendio.dk/products/acme-book-15-32-gb-1804231",
  "market": "dk",
  "currency": "DKK",
  "offers": [
    {
      "shop": "cheap.dk", "shop_host": "cheap.dk", "shop_country": "DK",
      "price": 8500, "currency": "DKK", "shipping": 99, "total": 8599,
      "availability": "in_stock", "condition": "new", "ships_to_market": "yes"
    },
    {
      "shop": "dear.dk", "shop_host": "dear.dk", "shop_country": "DK",
      "price": 9000, "currency": "DKK", "shipping": 0, "total": 9000,
      "availability": "in_stock", "condition": "new", "ships_to_market": "yes"
    }
  ],
  "offers_omitted": 2
}

list_categories: List categories

The category tree with localized names and product counts: the top level, or the subcategories of parent. Use the returned slug as search_products' category filter.

Example arguments

{ "parent": "elektronik" }

Example result

{
  "market": "dk",
  "language": "da",
  "parent": "elektronik",
  "categories": [
    {
      "slug": "computere", "path": "elektronik/computere", "name": "Computere",
      "products": 3120, "has_children": true,
      "url": "https://plendio.dk/categories/electronics/computers"
    }
  ]
}

Limits and errors

  • · 120 tool calls per minute and 20000 per day for each client address. Listing the tools and the handshake are not counted the same way; they have ten times the allowance.
  • · Over the limit the server answers HTTP 429 with a Retry-After header and a JSON-RPC error that says how many seconds to wait.
  • · One JSON-RPC message per request (batches are refused with 400); a request body may be at most 64 KB.
  • · A search has 8 seconds, every other call 5; a call that runs out of time says so and suggests a narrower query.
  • · Answers are capped: 24 products per page, 25 offers per product, 60 categories per list, 60 specification rows. Use page or a filter for more.
  • · A failed call returns an error whose text says what to change (for example an unknown market, or a product id that does not exist), never a stack trace.

Privacy

The server has no accounts and sets no cookies. For each tool call we log the tool name, the market, the query text, the number of results, the outcome and duration, the client's name and version as it introduced itself, its user agent and a hashed form of the client's IP address (a keyed hash that changes whenever the server restarts and cannot be turned back into an address). The logs are used to run the service, keep it within its limits and see which questions it cannot answer yet. Plendio's own privacy policy covers the rest.

Support

Questions, bug reports and requests: hello@plendio.com. The operator's company details (name, CVR number and address) are on the contact and company details page and the terms of use apply.