Apple Store MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HTTPS_PROXY | No | Optional proxy using the standard HTTPS_PROXY environment variable. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Search the Apple Store. Use list_storefronts to discover supported countries and shop languages. Use search_products for sitemap discovery; select apple_search and the accessories tab for priced accessory results. Use explore_product on a product page to discover buy choices, readable configuration options, prices, and optional nearby store availability. Use get_product for product details. Use get_configuration_options for current price and compatible choices; use get_configuration_pickup to check those selections near a location. Use compare_availability to compare variant pickup and delivery across locations, including all stores in smaller countries. Use check_delivery for part numbers or check_configuration_delivery for configured products and a postal code. These tools only read information. Use find_stores to find Apple retail stores. Prices and availability can change; availability is not a reservation or exact stock count.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_storefrontsA | List supported Apple Store countries, shop languages, currencies and URLs. Product and store IDs are country-specific. |
| search_productsA | Find sitemap pages by default; use apple_search for Apple search tabs and priced accessories. Sitemap results are not a complete product catalog and do not have variant prices. Apple search filters apply locally to one page. |
| get_productA | Read product details from an Apple Store product page by part number, slug, or URL, including price, availability, description, images and specifications where available. |
| explore_productA | Explore product choices, variants and prices; add a location for nearby store quotes or postal_code for delivery estimates. Read-only; no reservation or purchase. |
| get_configuration_optionsA | Get live configuration choices and relative price deltas. Upgrade choices may require changing other dimensions; they are not necessarily compatible. The selected price and deltas come from Apple and depend on the returned selected dimensions. Identifiers and coverage vary by product and storefront. |
| check_deliveryA | Read current delivery estimates for product variants and a postal code. No purchase or reservation is made. A missing estimate means unknown, not unavailable. |
| check_configuration_deliveryA | Check delivery estimates for a configurable product. The returned configuration identifies the checked selections. No purchase or reservation is made; a missing estimate is unknown. |
| get_configuration_pickupA | Check price, options and nearby store availability for a configuration. Read-only: does not reserve or purchase anything. The returned configuration identifies the checked product. Apple may block or change the endpoint. |
| browse_sitemapA | Browse the Apple Store sitemap for a country and return links, optionally filtered by a keyword. Useful for discovering product pages when search is unavailable. |
| compare_availabilityA | Compare pickup and delivery estimates for variants. Failed, missing and unchecked results are reported as unknown. Read-only; does not reserve or purchase. |
| list_apple_storesB | List Apple retail stores published in the selected country's store directory. |
| check_variant_pickupB | Read pickup availability quotes for product variants at nearby stores. Results are estimates, not reservations or stock counts. |
| find_storesB | Find Apple retail stores in the selected country. Returns store names, addresses, phone numbers and coordinates where available. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Several pairs are functionally near-identical: find_stores vs list_apple_stores (both return stores for a country), and search_products vs browse_sitemap (both traverse the sitemap to discover product pages). The availability cluster (compare_availability, check_variant_pickup, check_delivery, check_configuration_delivery, get_configuration_pickup) has real pickup/delivery distinctions but enough overlap that an agent can easily pick the wrong one, especially between compare_availability and the individual check_* tools.
All names are snake_case verb_noun (get_product, check_delivery, browse_sitemap), which is a clear predictable pattern. Minor drift: 'list_apple_stores' injects the vendor name where the sibling uses plain 'find_stores', and verbs vary broadly (find/list/search/get/explore/check/compare/browse) for similar read operations.
13 tools sits comfortably in a well-scoped range for a read-only storefront/product/availability server. The count is slightly inflated by redundant store-listing and availability tools that could be consolidated into 2-3, but nothing feels gratuitous at a per-domain level.
The lifecycle is well covered for a read-only server: store discovery, storefront metadata, product search/detail, configuration options, and pickup/delivery estimates, with purchase explicitly out of scope. Minor gaps remain—no get_store for store details/hours by ID and no direct category or product-listing primitive beyond sitemap paging.