Bearings, farm machinery parts and machines for Ukraine and the EU: search, prices, stock, orders.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Build a link that opens agrodiler.com with these items in the cart and the order form shown. Use it when the buyer prefers to finish on the site or your client cannot call place_order. Quantities below the minimum order quantity are raised to it. Does not place an order.
Site language and market: uk (Ukrainian, default) and ru (Russian) = Ukraine, prices in UAH, Nova Poshta delivery; en (English, site root) = EU market, prices in EUR, delivery to EU countries (ship_to is required for quote and place_order).
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http catalog https://www.agrodiler.com/mcp
Build a link that opens agrodiler.com with these items in the cart and the order form shown. Use it when the buyer prefers to finish on the site or your client cannot call place_order. Quantities below the minimum order quantity are raised to it. Does not place an order.
| Argument | Type | Description |
|---|---|---|
| lang | string | Site language and market: uk (Ukrainian, default) and ru (Russian) = Ukraine, prices in UAH, Nova Poshta delivery; en (English, site root) = EU market, prices in EUR, delivery to EU countries (ship_to is required for quote and place_order). |
| items* | array |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"items"
],
"properties": {
"lang": {
"enum": [
"uk",
"ru",
"en"
],
"type": "string",
"default": "uk",
"description": "Site language and market: uk (Ukrainian, default) and ru (Russian) = Ukraine, prices in UAH, Nova Poshta delivery; en (English, site root) = EU market, prices in EUR, delivery to EU countries (ship_to is required for quote and place_order)."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"handle",
"qty"
],
"properties": {
"qty": {
"type": "integer",
"maximum": 9999,
"minimum": 1
},
"handle": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]{0,199}$",
"description": "Product handle from search_products"
}
},
"additionalProperties": false
},
"maxItems": 50,
"minItems": 1
}
},
"additionalProperties": false
}Confirm an order request with the 6-digit code the buyer received by email, plus order_number and order_secret from place_order. Ask the buyer for the code; never guess it. 8 attempts per order request in total (a resent code does not reset them). After confirmation the request goes to a manager; no payment is taken.
| Argument | Type | Description |
|---|---|---|
| code* | string | |
| order_number* | integer | |
| order_secret* | string | order_secret from the place_order reply |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"order_number",
"order_secret",
"code"
],
"properties": {
"code": {
"type": "string",
"pattern": "^[0-9]{6}$"
},
"order_number": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"order_secret": {
"type": "string",
"pattern": "^[0-9a-f]{32}$",
"description": "order_secret from the place_order reply"
}
},
"additionalProperties": false
}Details of one product by handle: title, part number, brand, type, size and stock, minimum order quantity (moq), current unit price in the market currency (UAH incl. VAT for uk/ru, EUR excluding VAT for en: quote adds the VAT of the delivery country) (null = price on request, set by the manager), product page URL. Read-only.
| Argument | Type | Description |
|---|---|---|
| lang | string | Site language and market: uk (Ukrainian, default) and ru (Russian) = Ukraine, prices in UAH, Nova Poshta delivery; en (English, site root) = EU market, prices in EUR, delivery to EU countries (ship_to is required for quote and place_order). |
| handle* | string | Product handle from search_products |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"handle"
],
"properties": {
"lang": {
"enum": [
"uk",
"ru",
"en"
],
"type": "string",
"default": "uk",
"description": "Site language and market: uk (Ukrainian, default) and ru (Russian) = Ukraine, prices in UAH, Nova Poshta delivery; en (English, site root) = EU market, prices in EUR, delivery to EU countries (ship_to is required for quote and place_order)."
},
"handle": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]{0,199}$",
"description": "Product handle from search_products"
}
},
"additionalProperties": false
}Submit an order request on behalf of the buyer, after they approved the items and the quote total. No payment is taken and nothing is charged: a 6-digit code is emailed to the buyer; after the buyer confirms (confirm_order or the email link) a manager checks it and contacts them. idempotency_key is required: reuse it on retries so a lost reply never creates a second request. Keep order_secret from the reply for confirm_order. Use only the buyer's own email with their consent. Limits: 3 requests per hour per buyer email and per network address.
| Argument | Type | Description |
|---|---|---|
| lang | string | Site language and market: uk (Ukrainian, default) and ru (Russian) = Ukraine, prices in UAH, Nova Poshta delivery; en (English, site root) = EU market, prices in EUR, delivery to EU countries (ship_to is required for quote and place_order). |
| items* | array | |
| comment | string | |
| contact* | object | |
| ship_to | object | Delivery destination. Required when lang is en (EU market: shipping and VAT depend on the country); must be omitted for uk and ru (Ukraine: Nova Poshta). |
| delivery | string | Ukraine: city and Nova Poshta branch. EU: street address and city. Or other delivery wishes |
| assistant | string | Your product name, e.g. "Claude" |
Calculate the binding total for a list of items with the same code the site checkout uses (prices, minimum order, shipping rules: Nova Poshta for Ukraine; for lang en shipping and VAT by the ship_to country, minimum order 49 EUR excl. VAT). Read-only: creates no order. Use the returned total_minor as expected_total_minor in place_order.
| Argument | Type | Description |
|---|---|---|
| lang | string | Site language and market: uk (Ukrainian, default) and ru (Russian) = Ukraine, prices in UAH, Nova Poshta delivery; en (English, site root) = EU market, prices in EUR, delivery to EU countries (ship_to is required for quote and place_order). |
| items* | array | |
| ship_to | object | Delivery destination. Required when lang is en (EU market: shipping and VAT depend on the country); must be omitted for uk and ru (Ukraine: Nova Poshta). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"items"
],
"properties": {
"lang": {
"enum": [
"uk",
"ru",
"en"
],
"type": "string",
"default": "uk",
"description": "Site language and market: uk (Ukrainian, default) and ru (Russian) = Ukraine, prices in UAH, Nova Poshta delivery; en (English, site root) = EU market, prices in EUR, delivery to EU countries (ship_to is required for quote and place_order)."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"handle",
"qty"
],
"properties": {
"qty": {
"type": "integer",
"maximum": 9999,
"minimum": 1
},
"handle": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]{0,199}$",
"description": "Product handle from search_products"
}
},
"additionalProperties": false
},
"maxItems": 50,
"minItems": 1
},
"ship_to": {
"type": "object",
"required": [
"country"
],
"properties": {
"country": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"description": "Delivery country, ISO 3166-1 alpha-2 (DE, PL, FR…)"
},
"postcode": {
"type": "string",
"maxLength": 16
}
},
"description": "Delivery destination. Required when lang is en (EU market: shipping and VAT depend on the country); must be omitted for uk and ru (Ukraine: Nova Poshta).",
"additionalProperties": false
}
},
"additionalProperties": false
}Email the buyer a new confirmation code when the first did not arrive or expired (30 minutes). Needs order_number and order_secret from place_order. At most 2 resends per order request; the old code stops working.
| Argument | Type | Description |
|---|---|---|
| order_number* | integer | |
| order_secret* | string | order_secret from the place_order reply |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"order_number",
"order_secret"
],
"properties": {
"order_number": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"order_secret": {
"type": "string",
"pattern": "^[0-9a-f]{32}$",
"description": "order_secret from the place_order reply"
}
},
"additionalProperties": false
}Search the agrodiler.com catalog (bearings, spare parts for agricultural machinery, machines; stores for Ukraine and the EU) with the same search as the site. lang selects the site and market: en (EU, EUR), uk or ru (Ukraine, UAH). Accepts part numbers, bearing designations (also GOST numbers, converted to ISO), sizes like "25x52x15", brands and names. match "close_in_size": the number was decoded but is not in the catalog; items share d and D (other width or height) and are not exact substitutes. Returns handles for get_product/quote/cart_link/place_order. Does not reserve stock or change anything.
| Argument | Type | Description |
|---|---|---|
| lang | string | Site language and market: uk (Ukrainian, default) and ru (Russian) = Ukraine, prices in UAH, Nova Poshta delivery; en (English, site root) = EU market, prices in EUR, delivery to EU countries (ship_to is required for quote and place_order). |
| limit | integer | |
| query* | string | Part number, bearing designation (6205-2RS, 32010, GOST 180205), size "25x52x15", brand or name |
| section | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"lang": {
"enum": [
"uk",
"ru",
"en"
],
"type": "string",
"default": "uk",
"description": "Site language and market: uk (Ukrainian, default) and ru (Russian) = Ukraine, prices in UAH, Nova Poshta delivery; en (English, site root) = EU market, prices in EUR, delivery to EU countries (ship_to is required for quote and place_order)."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 20,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 2,
"description": "Part number, bearing designation (6205-2RS, 32010, GOST 180205), size \"25x52x15\", brand or name"
},
"section": {
"enum": [
"any",
"bearing",
"part",
"machine"
],
"type": "string",
"default": "any"
}
},
"additionalProperties": false
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 14, 2026.
| idempotency_key* | string | Required. A new UUID v4 per order request; on a retry (timeout, lost reply) send the SAME key: you get the same order and its order_secret instead of a duplicate |
| expected_total_minor* | integer | total_minor from the quote the buyer agreed to |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"items",
"contact",
"expected_total_minor",
"idempotency_key"
],
"properties": {
"lang": {
"enum": [
"uk",
"ru",
"en"
],
"type": "string",
"default": "uk",
"description": "Site language and market: uk (Ukrainian, default) and ru (Russian) = Ukraine, prices in UAH, Nova Poshta delivery; en (English, site root) = EU market, prices in EUR, delivery to EU countries (ship_to is required for quote and place_order)."
},
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"handle",
"qty"
],
"properties": {
"qty": {
"type": "integer",
"maximum": 9999,
"minimum": 1
},
"handle": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]{0,199}$",
"description": "Product handle from search_products"
}
},
"additionalProperties": false
},
"maxItems": 50,
"minItems": 1
},
"comment": {
"type": "string",
"maxLength": 2000
},
"contact": {
"type": "object",
"required": [
"name",
"email"
],
"properties": {
"name": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"maxLength": 254,
"description": "The buyer's own email: the confirmation code is sent there"
},
"phone": {
"type": "string",
"pattern": "^\\+?[0-9][0-9 ()-]{5,38}[0-9]$",
"maxLength": 40
}
},
"additionalProperties": false
},
"ship_to": {
"type": "object",
"required": [
"country"
],
"properties": {
"country": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"description": "Delivery country, ISO 3166-1 alpha-2 (DE, PL, FR…)"
},
"postcode": {
"type": "string",
"maxLength": 16
}
},
"description": "Delivery destination. Required when lang is en (EU market: shipping and VAT depend on the country); must be omitted for uk and ru (Ukraine: Nova Poshta).",
"additionalProperties": false
},
"delivery": {
"type": "string",
"maxLength": 1000,
"description": "Ukraine: city and Nova Poshta branch. EU: street address and city. Or other delivery wishes"
},
"assistant": {
"type": "string",
"pattern": "^[\\p{L}\\p{N} ._()/-]+$",
"maxLength": 60,
"description": "Your product name, e.g. \"Claude\""
},
"idempotency_key": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"description": "Required. A new UUID v4 per order request; on a retry (timeout, lost reply) send the SAME key: you get the same order and its order_secret instead of a duplicate"
},
"expected_total_minor": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "total_minor from the quote the buyer agreed to"
}
},
"additionalProperties": false
}