Green Pharmacies
Server Details
Pharmacy delivery in Sharm El Sheikh, Egypt: search medicines, prices, stock and make a cart link.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Each tool has a distinct role: category browsing, keyword search, deals, product detail, category listing, store info, and cart-link creation. Although browse_category, current_deals, and search_products all return product lists, their inputs and purposes are clearly differentiated.
All names use snake_case and are readable, but current_deals and store_info are noun phrases rather than the verb_noun pattern used by the other five tools. This is a minor inconsistency and does not create confusion.
Seven tools are well matched to a focused pharmacy browsing and cart-handoff server, with each covering a separate customer need. No tool feels redundant or missing from the count.
The surface covers discovery via categories, search, and deals; product detail; store and delivery info; and cart-link creation for checkout handoff. No obvious browsing or pre-purchase operation is missing, and checkout is intentionally external.
Available Tools
7 toolsbrowse_categoryBrowse a categoryARead-onlyInspect
Best-selling products in one category (slug from list_categories).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| category | Yes | ||
| language | No | Language of the answer: en, ar, ru, it or de. Default en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, non-destructive, and closed-world, so safety is covered. The description adds a meaningful behavioral trait — results are ordered by best-selling — but says nothing about pagination, result size relative to 'limit', or the absence of filters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the core resource is front-loaded. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only browse tool with no output schema and annotations covering safety, this is close to adequate. It still omits what a result looks like (product summaries?), how 'limit' interacts with ranking, and whether the category must be an exact slug match.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 33% schema description coverage, the description partially compensates by explaining where the required 'category' slug comes from. The 'limit' parameter receives no semantic explanation in either the schema or the description, leaving its purpose to be inferred from the min/max bounds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete resource and ordering (best-selling products in one category), which tells an agent exactly what comes back. It does not explicitly name how it differs from siblings like search_products or current_deals, so it stops short of full disambiguation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(slug from list_categories)' is an explicit prerequisite that routes the agent to the right sibling for obtaining the required value. There is no stated when-not-to-use or comparison against search_products, but the retrieval path is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_cart_linkCreate a cart linkARead-onlyInspect
Make a link that opens the store's cart with these products already in it. The customer opens it, checks the cart and completes the order on the site. Nothing is ordered until they confirm there.
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| language | No | Language of the answer: en, ar, ru, it or de. Default en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=false, so safety is covered. The description adds genuinely useful context beyond that: creating the link does not place an order, and fulfillment happens later on the site when the customer confirms. It omits link lifetime/expiry and whether carts can be reused, which is the remaining behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the outcome and followed immediately by the important non-ordering caveat. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should say what the agent receives (a URL to hand to the customer) and ideally note link validity. The deferred-order semantics are covered well, but the return value and the meaning of the required items parameter are left unexplained, which is a meaningful gap for a two-parameter creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: the language parameter is documented in the schema, but the nested items objects (slug, quantity, 1–20 limit, max 30 items) have no descriptions anywhere. The description says only 'these products' without explaining that slug identifies a product or what quantity means, so it fails to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Make a link that opens the store's cart with these products already in it.' This is clearly distinguishable from every sibling, which are all catalog-browsing or lookup tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended scenario is implied — a customer wants to check out a set of products — but the description never says when to prefer this over search_products/get_product, nor that slugs must come from the catalog first. Usage is inferable rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
current_dealsCurrent dealsCRead-onlyInspect
Products on offer right now, with the discount.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| language | No | Language of the answer: en, ar, ru, it or de. Default en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds only the return content (discount included) and says nothing about ordering, pagination, or how the default limit behaves.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with no wasted words, but its brevity comes at the cost of under-specification rather than efficient information density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no usage guidance, and an undocumented limit parameter, an agent would have to guess how to constrain results or when this tool is preferable to its siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: language is documented in the schema, but limit has no description anywhere. The tool description does not compensate by explaining what limit controls or its 1-30 bounds, leaving a real gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies the resource and scope ('products on offer right now, with the discount'), so an agent knows it returns discounted items. However, it lacks a specific verb and never distinguishes itself from siblings like search_products or browse_category, which could also surface discounted products.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus search_products, browse_category, or get_product. Neither inclusion conditions nor exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productGet product detailsARead-onlyInspect
Full details of one product by its slug: description, active ingredient, how to use, warnings, price and availability.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| language | No | Language of the answer: en, ar, ru, it or de. Default en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered structurally. The description adds value by disclosing the shape of the payload (description, ingredient, usage, warnings, price, availability), which is meaningful given there is no output schema. It does not say what happens for an unknown slug or how availability/price are formatted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the resource, the lookup key, and the return fields, and no filler. Every clause carries information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the enumerated field list does the work of describing the response, and the tool is simple (2 params, flat object). Remaining gaps are small: the language parameter is never mentioned and there is no statement about behavior for a nonexistent slug.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%: the language parameter is documented in the schema (enum of values, default en), while slug carries only min/max length constraints. The description supplies the key semantic that slug is the product identifier, but says nothing about the language parameter or the accepted slug format, so it neither compensates for the gap nor exceeds the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Full details of one product') and constrains the lookup key to 'slug'. It enumerates the returned fields, so an agent knows exactly what it gets. It does not name or distinguish itself from siblings like search_products or browse_category, which is the only thing separating it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'by its slug' implies a lookup workflow — an agent must already have a slug, presumably from search_products or browse_category — but that prerequisite and the choice against those siblings is left to inference. No when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_categoriesList categoriesARead-onlyInspect
All product categories in the store, with the slug to pass to browse_category.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language of the answer: en, ar, ru, it or de. Default en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=false and destructiveHint=false, so the safety profile is covered. The description usefully discloses that returned values include a slug intended for chaining into browse_category, but says nothing about hierarchy, ordering, or completeness of the category set.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with no redundancy, and the chaining hint is packed into the same clause rather than padded out.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, but the description compensates by saying what a caller gets back (categories plus slugs) and what to do with it. For a no-required-parameter read tool this is close to sufficient, with only the shape/ordering of the list left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single optional 'language' parameter and its allowed values are fully documented in the schema. The description adds no parameter-level meaning beyond this, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the resource (product categories) and the key payload (the slug), and explicitly links it to the sibling browse_category, so an agent can distinguish it from browse_category itself. The verb 'list' is implied rather than stated, keeping it just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'slug to pass to browse_category' gives a clear follow-on step, which implies this is a discovery/enumeration tool used before browsing. However, it never states when to prefer it over search_products or current_deals, nor any exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsSearch productsARead-onlyInspect
Search the pharmacy catalog by product name, brand, active ingredient or symptom keyword (for example: paracetamol, sunscreen, Panadol). Returns matching products with price and availability.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| language | No | Language of the answer: en, ar, ru, it or de. Default en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered structurally. The description adds real value by disclosing the return payload ('price and availability'), but says nothing about result count defaults, the limit cap, or behavior when the language differs from the query language.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler: the search surface and its examples come first, the return contract second. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, single-required-param search with no output schema, the description covers what is searched and what comes back. The remaining gap is result volume — neither the default nor the 20-item cap is surfaced, which matters for an agent planning follow-up calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% — just the language enum is documented in the schema — so the description must compensate. It does clarify what 'query' accepts (name, brand, ingredient, symptom) with examples, but 'limit' (1–20) is explained nowhere and the description never mentions language selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search the pharmacy catalog') and enumerates the matchable fields (name, brand, active ingredient, symptom keyword) with concrete examples. It doesn't explicitly name siblings like browse_category or current_deals, so the boundary with browsing is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The example queries (paracetamol, sunscreen, Panadol) imply that this is the keyword-lookup tool, which is useful context. However, there is no explicit 'use this when / use browse_category instead when' guidance and no mention of alternatives among the six siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
store_infoDelivery and payment informationARead-onlyInspect
Where the store delivers, delivery time and fee, the free-delivery threshold, and accepted payment methods.
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language of the answer: en, ar, ru, it or de. Default en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered elsewhere. The description usefully discloses what data is actually returned (delivery area, fee, threshold, payment methods), but says nothing about whether this is static store-wide policy versus per-order or per-region data, nor about freshness or caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that enumerates the covered topics with no preamble, filler, or repetition. Every clause maps to information the agent would actually need to know is available.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the burden of describing return content, and it does so by enumerating the four information categories. For a static, read-only, single-optional-parameter lookup tool this is close to sufficient; only the shape of the answers (structured fields vs prose) is left unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single optional 'language' parameter is fully documented in the schema with its allowed values and default. The description therefore adds nothing about parameters, and baseline 3 applies; mentioning that output language is controllable would have been a modest improvement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource and enumerates its scope precisely: delivery area, delivery time and fee, free-delivery threshold, and accepted payment methods. An agent can distinguish it from browse_category, get_product, or current_deals without ambiguity. It is a content list rather than a verb+resource phrasing, which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the content enumerated: an agent should call this for questions about shipping, delivery costs, or payment options. There is no explicit when-to-use statement, no exclusion, and no named alternative among the siblings, though no sibling meaningfully overlaps this scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
- First observed
browse_category - First observed
create_cart_link - First observed
current_deals - First observed
get_product - First observed
list_categories - First observed
search_products - First observed
store_info
Related MCP Connectors
Ozerki pharmacy catalog, local pickup availability and tracked basket handoff for AI agents.
Order food, groceries & pharmacy delivery in Kurdistan & Iraq: search, menus, cart, checkout.
Report pharmacy stock, and post a pharmacy's verified status, from your AI assistant.
US Rx prices by pharmacy near you + free discount card; foreign-brand equivalents; 12 languages
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables searching Saudi FDA registered drugs with official SAR prices, checking current shortages and recent approvals, and accessing clinical trials and registered drug companies in Saudi Arabia.9 npmMIT
- AlicenseNot gradedqualityCmaintenanceProvides AI agents with comprehensive access to Israel's complete pharmaceutical database from the Ministry of Health, enabling drug information search, therapeutic comparisons, and safety assessments.19Creative Commons Attribution Non Commercial Share Alike 4.0 International
- AlicenseNot gradedqualityCmaintenanceEnables MCP-compatible AI clients to search the Tianjin Medical Insurance drug catalog by name and retrieve stocking institutions with latest price, distance, coordinates, and last transaction date. Supports a one-step lookup that goes from a drug name straight to the list of pharmacies carrying it.MIT
- AlicenseAqualityAmaintenanceEnables AI agents to search Iranian doctors by speciality, city, neighborhood, insurance and visit type, compare office and online consultation fees, check free appointment times up to a month ahead, and read reviews. Also covers hospitals, clinics, labs, pharmacies, fixed-price clinic offers and health articles, all read-only so booking happens on the site via a returned link.14396 PyPI2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.