Polish online pharmacy apteka.online: products, prices, shop policies and the medicines register.
Maintained byapteka.online(verified)Also a maintainer?
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 puts products in the visitor's apteka.online cart (variant_id from search_catalog or get_product). The visitor opens it, checks the list and adds it; nothing changes before that, and the visitor pays at checkout. apteka.online is a Polish online pharmacy: it sells only non-prescription products, ships only within Poland (medicines only by courier, not to parcel lockers or pickup points) and lists prices in PLN gross. Do not give medical advice.
1 to 10 products, e.g. [{"variant_id": "variant_01...", "quantity": 2}]
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http mcp https://apteka.online/mcp
Build a link that puts products in the visitor's apteka.online cart (variant_id from search_catalog or get_product). The visitor opens it, checks the list and adds it; nothing changes before that, and the visitor pays at checkout. apteka.online is a Polish online pharmacy: it sells only non-prescription products, ships only within Poland (medicines only by courier, not to parcel lockers or pickup points) and lists prices in PLN gross. Do not give medical advice.
| Argument | Type | Description |
|---|---|---|
| lines* | array | 1 to 10 products, e.g. [{"variant_id": "variant_01...", "quantity": 2}] |
{
"type": "object",
"required": [
"lines"
],
"properties": {
"lines": {
"type": "array",
"items": {
"type": "object",
"required": [
"variant_id",
"quantity"
],
"properties": {
"quantity": {
"type": "integer",
"maximum": 99,
"minimum": 1
},
"variant_id": {
"type": "string",
"pattern": "^variant_[0-9A-Za-z]+$"
}
},
"additionalProperties": false
},
"maxItems": 10,
"minItems": 1,
"description": "1 to 10 products, e.g. [{\"variant_id\": \"variant_01...\", \"quantity\": 2}]"
}
},
"additionalProperties": false
}Compare two non-prescription medicines with the same active substance, like the "X czy Y" pages on apteka.online: indications from each SmPC (section 4.1), forms and strengths they share or not, and their offers in the shop. Only curated pairs: polocard czy acard, altaziaja czy altacet, zoxin-med czy nizoral, apselan czy sudafed, traumon czy difortan, voltaren-sport czy voltaren-max, etodal czy traumon, recigar czy tabex, otrivin czy xylogel, no-spa czy no-spa-max, hederasal czy prospan, cyclodynon czy castagnus, acatar-zatoki czy ibuprom-zatoki, maxiseptic czy octenisept, upsarin-c czy aspirin-c, essentiale-max czy essentiale-forte, biotebal czy biotynox. Quote the indications, do not recommend one over the other. apteka.online is a Polish online pharmacy: it sells only non-prescription products, ships only within Poland (medicines only by courier, not to parcel lockers or pickup points) and lists prices in PLN gross. Do not give medical advice. Medicine data comes from the Polish register of medicinal products (RPL) and the Ministry of Health refund announcement: prescription medicines are shown for information only and are not sold online, and refund prices are official maximum prices, not apteka.online prices.
| Argument | Type | Description |
|---|---|---|
| a* | string | First brand, e.g. Polocard |
| b* | string | Second brand, e.g. Acard |
{
"type": "object",
"required": [
"a",
"b"
],
"properties": {
"a": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "First brand, e.g. Polocard"
},
"b": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Second brand, e.g. Acard"
}
},
"additionalProperties": false
}Find medicines with the same active substance, like /odpowiedniki on apteka.online: sold_online lists shop products with price and unit price, catalog lists the register's other brands with official refund prices, availability in pharmacies and parallel imports. Filter by dose, route, salt, excipients to avoid (e.g. laktoza; unknown composition never counts as free from it), storage and prescription status; sort by name, availability, dose, package, price or unitprice. options lists the values that exist. apteka.online is a Polish online pharmacy: it sells only non-prescription products, ships only within Poland (medicines only by courier, not to parcel lockers or pickup points) and lists prices in PLN gross. Do not give medical advice. Medicine data comes from the Polish register of medicinal products (RPL) and the Ministry of Health refund announcement: prescription medicines are shown for information only and are not sold online, and refund prices are official maximum prices, not apteka.online prices.
| Argument | Type | Description |
|---|---|---|
| dose | string | A value from options.doses, e.g. 10 mg |
| salt | string | A value from options.salts (salt or ester of the substance) |
| sort | string | Order, default: refunded and well available first |
| limit | integer | Rows to return across both lists, 1 to 50, default 20 |
| order | string | Sort direction |
| query* | string | Active substance, brand or Latin name, or the key from /odpowiedniki/{key}, e.g. peryndopryl or Prestarium |
| route | string | A value from options.routes, e.g. Doustnie |
| offset | integer | Rows to skip, from next_offset of the previous answer |
| storage | array | Keep only these storage conditions: fridge, cool, room |
| availability | string | Catalog availability in pharmacies: withdata (default), all, 5 very good, 34 good, 2 hard to get, 1 none, nodata |
| prescription | string | Catalog dispensing category: all (default), otc, rp (prescription), other (Rpz, Rpw, Lz) |
| include_parallel | boolean | Also list parallel imports in the catalog |
| sold_online_only | boolean | Only products sold on apteka.online |
| exclude_excipients | array | Excipients to avoid, e.g. laktoza; rows without composition data are hidden and counted |
{
"type": "object",
"required": [
"query"
],
"properties": {
"dose": {
"type": "string",
"maxLength": 50,
"description": "A value from options.doses, e.g. 10 mg"
},
"salt": {
"type": "string",
"maxLength": 100,
"description": "A value from options.salts (salt or ester of the substance)"
},
"sort": {
"enum": [
"default",
"name",
"availability",
"dose",
"package",
"price",
"unitprice"
],
"type": "string",
"description": "Order, default: refunded and well available first"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Rows to return across both lists, 1 to 50, default 20"
},
"order": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort direction"
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Active substance, brand or Latin name, or the key from /odpowiedniki/{key}, e.g. peryndopryl or Prestarium"
},
"route": {
"type": "string",
"maxLength": 50,
"description": "A value from options.routes, e.g. Doustnie"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "Rows to skip, from next_offset of the previous answer"
},
"storage": {
"type": "array",
"items": {
"enum": [
"fridge",
"cool",
"room"
],
"type": "string"
},
"description": "Keep only these storage conditions: fridge, cool, room"
},
"availability": {
"enum": [
"withdata",
"all",
"5",
"34",
"2",
"1",
"nodata"
],
"type": "string",
"description": "Catalog availability in pharmacies: withdata (default), all, 5 very good, 34 good, 2 hard to get, 1 none, nodata"
},
"prescription": {
"enum": [
"all",
"otc",
"rp",
"other"
],
"type": "string",
"description": "Catalog dispensing category: all (default), otc, rp (prescription), other (Rpz, Rpw, Lz)"
},
"include_parallel": {
"type": "boolean",
"description": "Also list parallel imports in the catalog"
},
"sold_online_only": {
"type": "boolean",
"description": "Only products sold on apteka.online"
},
"exclude_excipients": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 10,
"description": "Excipients to avoid, e.g. laktoza; rows without composition data are hidden and counted"
}
},
"additionalProperties": false
}Get one medicine from the register by slug (from search_medicines or a /lek/{slug} URL): substance, strength, form, dispensing category, marketing authorisation holder, ATC code, packs with EAN, whether it is refunded, and the sections of its patient leaflet (ulotka) and SmPC (chpl) for get_medicine_document. product_handle is set only for a non-prescription medicine sold on apteka.online (use get_product with it). apteka.online is a Polish online pharmacy: it sells only non-prescription products, ships only within Poland (medicines only by courier, not to parcel lockers or pickup points) and lists prices in PLN gross. Do not give medical advice. Medicine data comes from the Polish register of medicinal products (RPL) and the Ministry of Health refund announcement: prescription medicines are shown for information only and are not sold online, and refund prices are official maximum prices, not apteka.online prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Medicine key from search_medicines or a /lek/{slug} URL, e.g. prestarium-10-mg-tabl-powl-10-mg-les |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"maxLength": 200,
"description": "Medicine key from search_medicines or a /lek/{slug} URL, e.g. prestarium-10-mg-tabl-powl-10-mg-les"
}
},
"additionalProperties": false
}Read the patient leaflet (ulotka) or the Summary of Product Characteristics (chpl) of a medicine from the register, one section at a time, e.g. chpl 4.2 for dosing, ulotka 3 for how to take it. Without section it lists the sections. A long section comes in parts: ask for part 2 and on while part < parts. Quote the text, do not add advice beyond it. apteka.online is a Polish online pharmacy: it sells only non-prescription products, ships only within Poland (medicines only by courier, not to parcel lockers or pickup points) and lists prices in PLN gross. Do not give medical advice. Medicine data comes from the Polish register of medicinal products (RPL) and the Ministry of Health refund announcement: prescription medicines are shown for information only and are not sold online, and refund prices are official maximum prices, not apteka.online prices.
| Argument | Type | Description |
|---|---|---|
| part | integer | Part of a long section, from 1 (default) to parts |
| slug* | string | Medicine key from search_medicines or a /lek/{slug} URL, e.g. prestarium-10-mg-tabl-powl-10-mg-les |
| section | string | Section number from get_medicine, e.g. 3 or 4.2; leave out to list the sections |
| document* | string | ulotka (patient leaflet) or chpl (SmPC) |
{
"type": "object",
"required": [
"slug",
"document"
],
"properties": {
"part": {
"type": "integer",
"minimum": 1,
"description": "Part of a long section, from 1 (default) to parts"
},
"slug": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"maxLength": 200,
"description": "Medicine key from search_medicines or a /lek/{slug} URL, e.g. prestarium-10-mg-tabl-powl-10-mg-les"
},
"section": {
"type": "string",
"pattern": "^[0-9]{1,2}(\\.[0-9]{1,2})?$",
"description": "Section number from get_medicine, e.g. 3 or 4.2; leave out to list the sections"
},
"document": {
"enum": [
"ulotka",
"chpl"
],
"type": "string",
"description": "ulotka (patient leaflet) or chpl (SmPC)"
}
},
"additionalProperties": false
}Get one apteka.online product by handle (from search_catalog results or a /products/{handle} URL): current price, availability, max quantity, variants with ids for the cart and a short description. details_url has the full data: composition, dosage, warnings. apteka.online is a Polish online pharmacy: it sells only non-prescription products, ships only within Poland (medicines only by courier, not to parcel lockers or pickup points) and lists prices in PLN gross. Do not give medical advice.
| Argument | Type | Description |
|---|---|---|
| handle* | string | Product handle, e.g. d-vitum-witamina-d3-1000-j-m-100-porcji-aerozol-6-ml |
{
"type": "object",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"maxLength": 200,
"description": "Product handle, e.g. d-vitum-witamina-d3-1000-j-m-100-porcji-aerozol-6-ml"
}
},
"additionalProperties": false
}Official refund prices of a medicine from the current Ministry of Health announcement, per pack (EAN): price at 100%, and per refunded indication the payment level and the patient's copay, plus free_65_plus and free_under_18. The same figures as the /lek card, with the validity of the announcement. These are not apteka.online prices. apteka.online is a Polish online pharmacy: it sells only non-prescription products, ships only within Poland (medicines only by courier, not to parcel lockers or pickup points) and lists prices in PLN gross. Do not give medical advice. Medicine data comes from the Polish register of medicinal products (RPL) and the Ministry of Health refund announcement: prescription medicines are shown for information only and are not sold online, and refund prices are official maximum prices, not apteka.online prices.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Medicine key from search_medicines or a /lek/{slug} URL, e.g. prestarium-10-mg-tabl-powl-10-mg-les |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"pattern": "^[a-z0-9-]+$",
"maxLength": 200,
"description": "Medicine key from search_medicines or a /lek/{slug} URL, e.g. prestarium-10-mg-tabl-powl-10-mg-les"
}
},
"additionalProperties": false
}Search the apteka.online catalog by product name, brand, active ingredient or need. Returns products in store ranking order, available ones first on each page of 60, with price and availability; a product page is /products/{handle}. apteka.online is a Polish online pharmacy: it sells only non-prescription products, ships only within Poland (medicines only by courier, not to parcel lockers or pickup points) and lists prices in PLN gross. Do not give medical advice.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Products to return, 1 to 10, default 5. A long answer holds fewer: then truncated is true and next_offset continues |
| query* | string | What to look for, short and in Polish, e.g. witamina D3 2000 or kaszel dzieci |
| offset | integer | Products to skip, 0 to 990: next_offset from the previous answer |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Products to return, 1 to 10, default 5. A long answer holds fewer: then truncated is true and next_offset continues"
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "What to look for, short and in Polish, e.g. witamina D3 2000 or kaszel dzieci"
},
"offset": {
"type": "integer",
"maximum": 990,
"minimum": 0,
"description": "Products to skip, 0 to 990: next_offset from the previous answer"
}
},
"additionalProperties": false
}Search the register of medicines authorised in Poland by brand name or active substance, prescription and non-prescription, like the /lek catalog on apteka.online. Returns slug, substance, strength, form, prescription (rx or otc), refunded and sold_online; use get_medicine, get_medicine_document or get_refund_prices with the slug. apteka.online is a Polish online pharmacy: it sells only non-prescription products, ships only within Poland (medicines only by courier, not to parcel lockers or pickup points) and lists prices in PLN gross. Do not give medical advice. Medicine data comes from the Polish register of medicinal products (RPL) and the Ministry of Health refund announcement: prescription medicines are shown for information only and are not sold online, and refund prices are official maximum prices, not apteka.online prices.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Medicines to return, 1 to 20, default 10 |
| query* | string | Brand or substance, e.g. prestarium or paracetamol |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "Medicines to return, 1 to 20, default 10"
},
"query": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Brand or substance, e.g. prestarium or paracetamol"
}
},
"additionalProperties": false
}Look up apteka.online shop policies: delivery methods and costs, payment methods, returns and complaints, discounts. Ask in Polish, e.g. dostawa, płatności, zwroty, reklamacje. Returns the best section, the other titles and links to the terms and privacy policy. apteka.online is a Polish online pharmacy: it sells only non-prescription products, ships only within Poland (medicines only by courier, not to parcel lockers or pickup points) and lists prices in PLN gross. Do not give medical advice.
| Argument | Type | Description |
|---|---|---|
| query* | string | Topic in Polish, e.g. koszty dostawy |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Topic in Polish, e.g. koszty dostawy"
}
},
"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 5, 2026.