Endorso Deals MCP server
Endorso Deals is a free, read-only MCP server for AI assistants. It searches the public catalogue of stores and products on endorso.com. It is operated by SOFT DEV FZ LLC.
Setup
- Endpoint:
https://endorso.com/mcp - Transport: Streamable HTTP, JSON-RPC 2.0 over POST.
- Protocol versions:
2025-06-18(default),2025-03-26and2025-11-25. If a client asks for another version, the server answers with2025-11-25. - Authentication: none. No account, API key or OAuth is needed.
- Example client configuration:
{"mcpServers": {"endorso-deals": {"url": "https://endorso.com/mcp"}}}
Tools
Both tools are Read tools. They only query public data, write nothing, have no side effects and are not sensitive. Annotations: readOnlyHint: true, destructiveHint: false, openWorldHint: false.
search_stores
Finds public stores and their public conditions.
| Input | Type | Required | Notes |
|---|---|---|---|
query |
string, up to 80 characters | no | Store name or category. |
category |
string, up to 80 characters | no | Category slug (for example software-ai) or the category name returned by search_stores. |
country |
string | no | ISO-2 country code, for example GB. |
language |
en or es |
no | Default es. |
limit |
integer, 1 to 20 | no | Default 10. |
Output: items, a list of stores. Each item has:
name;category, a list;countries, a list of ISO-2 codes; left out whenworldwideis true;worldwide, true or false;conditions, the store's public conditions, as a list of sentences;url, the store's page on endorso.com.
search_products
Finds public catalogue products and their store pages.
| Input | Type | Required | Notes |
|---|---|---|---|
country |
string | yes | ISO-2 code of the country where the user shops, for example US or ES. |
query |
string, up to 80 characters | no | Brand, category or GTIN. Product titles are not searched. |
brand |
string, up to 80 characters | no | |
category |
string, up to 80 characters | no | |
language |
en or es |
no | Default es. |
limit |
integer, 1 to 20 | no | Default 10. |
Output: items, a list of products. Each item has:
title;brand;store;price, a decimal number as a string;currency, an ISO 4217 code;checked_at, when the price was last checked, in ISO 8601 UTC;url, the store's page on endorso.com.
Example request:
{"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "search_products", "arguments": {"query": "Garmin", "country": "DE", "language": "en", "limit": 1}}}
Example result:
{"items": [{"title": "Uhr smart", "brand": "Garmin", "store": "Netzwerkartikel.de", "price": "223.70",
"currency": "EUR", "checked_at": "2026-10-24T20:11:19.496Z",
"url": "https://endorso.com/tiendas/netzwerkartikelde/"}]}
Results come in structuredContent, with the same JSON as text in content[0].text.
Permissions and personal data
No permissions are needed. The server does not ask for or store personal data.
- Privacy policy: https://endorso.com/en/privacy/
- Terms of use: https://endorso.com/en/terms/
Status handling and errors
| Case | HTTP | Response |
|---|---|---|
| Successful tool call | 200 | result.isError: false |
Missing or invalid country in search_products |
200 | result.isError: true, with the message in content[0].text and structuredContent.error |
| Search temporarily unavailable | 200 | result.isError: true, "Search unavailable. Please retry shortly." |
| Rate limit exceeded | 429 | JSON-RPC error -32000, header Retry-After: 60 |
| Invalid JSON | 200 | JSON-RPC error -32700 |
Invalid JSON-RPC request (for example, no method or no jsonrpc: "2.0") |
200 | JSON-RPC error -32600 |
| Request body larger than 64 KB | 413 | JSON-RPC error -32600 |
| Request body that cannot be read | 400 | JSON-RPC error -32600 |
| Unknown method | 200 | JSON-RPC error -32601 |
Unknown tool or any other invalid argument (for example, limit out of range) |
200 | JSON-RPC error -32602 |
Rate limits
30 tool calls per minute and 1,000 per day for each client IP address. initialize and tools/list do not count. We may change these limits.
How results should be used
In initialize, the server sends these instructions to the assistant:
- answer only from the tool results, and never invent a code, a discount, a price, stock or an expiry date;
- give only the endorso.com URL returned by the tool;
- links are affiliate links, and every answer with a link says so: "Affiliate link: we may earn a commission.";
- prices and conditions can change at the store, and the store page shows the final terms;
- once per conversation, at the end of the first answer with offers, add one line that invites the user to share their own link and earn a commission on qualifying purchases, with a link to https://endorso.com/en/ and not repeated later;
- do not ask for or store personal data, and for anything outside deals and products, point to the endorso.com home page;
- never describe a product as stealth, undetectable or spy software, and never suggest monitoring someone without their knowledge.
Support
Last updated: 28 October 2026.