Amazon Orders
PYPI · AMAZON-ORDERS-MCP
An MCP server for Amazon order history, line items, and transactions, built on amazon-orders
Available components
Last scanned (2 hours ago)
Scores higher than 67% of PyPI servers
Category E-commerce
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security94
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Declares code that runs automatically (build-time code we could not rule out (a Hatch, PDM or setuptools build hook, a dynamic version we could not read statically, shipped VCS metadata or a stray root module)) and that we could not recognise. It may be perfectly ordinary, but we have not established what it does. View diagnostics → Partial
- 2 of 40 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 3 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability70
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1057 tokens (~132/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Unverified: 1 category
A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 15 Oct 26 68
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 18 Oct 2026 · Analysed pypi/amazon-orders-mcp@1.2.0
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
| Reason | No attestation published |
Background: How many MCP packages publish verified provenance →
Install scripts 2 scripts
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | setuptools.build_meta |
| build_hook | unreviewed | tool.setuptools.dynamic attr |
Background: Why install scripts are a supply-chain risk →
Dependencies 40 packages
| Packages resolved | 40 |
|---|---|
| Stale | 1 |
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
check_session ~30
Check with Amazon whether the user's saved session still works, and which Amazon site the server is set to read.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| sign_in | – | – | What to do to sign in, if the user isn't. |
| signed_in | boolean | yes | Whether Amazon still accepts the user's saved session. If Amazon couldn't be reached to check, a saved session is assumed to still work. |
| site | string | yes | The Amazon site the server is set to read. |
No examples provided.
get_config ~49
Get the settings that can be changed with `update_config`, and their values. What each one does: https://amazon-orders.readthedocs.io/api.html#amazonorders.conf.AmazonOrdersConfig
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| preferences | object | yes | The user's choices, changed only when they ask. A null value means the default. |
| tuning | object | yes | Settings you may adjust yourself when calls keep failing. A null value means the default. |
No examples provided.
get_gift_card_activity ~41
Get Amazon Gift Card activity for a given number of days.
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | – | The number of days worth of Gift Card activity to get. |
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | – | A list of the requested GiftCardActivity, newest first. |
No examples provided.
get_order ~33
Get the full details for a given Amazon Order ID.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | The Amazon Order ID to lookup. |
| Name | Type | Req | Description |
|---|---|---|---|
| amazon_discount | number | – | The Amazon discount, as a negative amount. Only populated when `full_details` is `True`. |
| cancelled | boolean | – | `True` if the Order was cancelled. When `True`, fields like `grand_total` and the totals on the details page may be `None` because Amazon stops rendering them. |
| coupon_savings | number | – | The Order coupon savings, as a negative amount. Only populated when `full_details` is `True`. |
| estimated_tax | number | – | The Order estimated tax. Only populated when `full_details` is `True`. For Whole Foods Market orders this is the "Tax and Fees" total from the receipt. |
| free_shipping | number | – | The Order free shipping, as a negative amount. Only populated when `full_details` is `True`. |
| full_details | boolean | – | If the Orders full details were populated from its details page. |
| gift_card | number | – | The Gift Card total (rendered as "Gift Card" on digital order details pages), as a negative amount. Only populated when `full_details` is `True`. |
| gift_wrap | number | – | The Gift Wrap total. Only populated when `full_details` is `True`. |
| grand_total | number | – | The Order grand total. |
| index | integer | – | Where the Order appeared in the history when it was queried. This will inevitably change (e.g. when a new Order is placed, all indexes will then be off by one), but is still captured as it may be app… |
| is_whole_foods | boolean | – | `True` if this is a Whole Foods Market purchase (an in-store/FOPO purchase or a Whole Foods receipt order). Unlike other unsupported order types, these expose a `grand_total` and (often) an `item_cou… |
| item_count | integer | – | The number of items in the purchase, when Amazon summarizes the count instead of listing the items (e.g. Whole Foods Market orders show "N items in this purchase"). `None` when no such summary is sho… |
| items | array | – | The Order Items. |
| multibuy_discount | number | – | The Multibuy discount, as a negative amount. Only populated when `full_details` is `True`. |
| order_details_link | string | – | The Order details link. |
| order_number | string | – | The Order number. May be `None` only when the Order is `cancelled` and Amazon stripped the order number from the details page (the `order_number` parameter is used as a fallback in that case). |
| order_placed_date | string | – | The Order placed date. |
| payment_method | string | – | The Order payment method. Only populated when `full_details` is `True`. For Whole Foods Market orders this is the card brand of the first payment method on the receipt (e.g. "Visa"). |
| payment_method_last_4 | string | – | The Order payment method's last 4 digits, preserved verbatim so leading zeros are not lost. Only populated when `full_details` is `True`. |
| promotion_applied | number | – | The Order promotion applied, as a negative amount. Only populated when `full_details` is `True`. |
| recipient | object | – | The Order Recipients. |
| refund_total | number | – | The Order refund total. Only populated when `full_details` is `True`. |
| reward_points | number | – | The Order reward points, as a negative amount of currency (not a count of points). Only populated when `full_details` is `True`. |
| shipments | array | – | The Order Shipments. |
| shipping_total | number | – | The Order shipping total. Only populated when `full_details` is `True`. |
| subscription_discount | number | – | The Order Subscribe & Save discount, as a negative amount. Only populated when `full_details` is `True`. |
| subtotal | number | – | The Order subtotal. Only populated when `full_details` is `True`. |
| total_before_tax | number | – | The Order total before tax. Only populated when `full_details` is `True`. |
No examples provided.
get_order_history ~261
Get a batch of the Amazon Order history for a given time period, with a cursor to fetch the next batch.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | – | – | The `cursor` of the previous batch, to fetch the next one. The filters it was fetched with carry over. |
| full_details | boolean | – | Get the full details for each Order in the batch. This will execute an additional request per Order. |
| limit | – | – | Stop fetching history pages once at least this many Orders are collected. Whole pages are fetched, so the batch can hold up to a page more than `limit`. `None` fetches every page. |
| start_index | – | – | The index of the Order from which to start fetching in the history. Ignored if `cursor` is provided. |
| time_filter | – | – | The time filter to use. Supported values are `"last30"` (last 30 days), `"months-3"` (past 3 months), or `"year-YYYY"` (specific year). If provided, this takes precedence over the `year` parameter. |
| year | – | – | The year for which to get history. Ignored if `time_filter` or `cursor` is provided. Defaults to the current year if neither `year` nor `time_filter` is specified. |
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | object|null | – | Pass this back as `cursor` to the same call to fetch the next batch. A JSON-safe `dict` to keep as it is, not to build or change. `None` when there are no more results. |
| has_more | boolean | – | `True` if there are more results to fetch with `cursor`. |
| items | array | – | The results in this batch. |
No examples provided.
get_transactions ~180
Get a batch of Amazon Transaction history for a given number of days, or for a single Order, with a cursor to fetch the next batch.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | – | – | The `cursor` of the previous batch, to fetch the next one. The `days` window or `order_id` it was fetched with carries over. |
| days | integer | – | The number of days worth of Transactions to get. Ignored when `order_id` or `cursor` is given. |
| limit | – | – | Stop fetching Transaction pages once at least this many Transactions are collected. Whole pages are fetched, so the batch can hold up to a page more than `limit`. `None` fetches every page. |
| order_id | – | – | If given, only Transactions for this Amazon Order ID are returned, as in `get_transactions`. Ignored when `cursor` is given. |
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | object|null | – | Pass this back as `cursor` to the same call to fetch the next batch. A JSON-safe `dict` to keep as it is, not to build or change. `None` when there are no more results. |
| has_more | boolean | – | `True` if there are more results to fetch with `cursor`. |
| items | array | – | The results in this batch. |
No examples provided.
sign_in ~141
Sign the user in to Amazon, when they ask you to or after a tool says they aren't signed in. Opens a browser window on the user's computer, where they sign in on Amazon's own page, so their credentials are never seen. Wait for them to finish, which they have 120 seconds to do. If it says there's no browser to sign in with, ask the user which to use, then call this again with `browser`.
| Name | Type | Req | Description |
|---|---|---|---|
| browser | – | – | Only when there's no browser to sign in with: the one the user chose, either one offered to download for them or a browser they already have installed. It's saved, so they're only asked once. |
| Name | Type | Req | Description |
|---|---|---|---|
| sign_in | – | – | What to do to sign in, if the user isn't. |
| signed_in | boolean | yes | Whether Amazon still accepts the user's saved session. If Amazon couldn't be reached to check, a saved session is assumed to still work. |
| site | string | yes | The Amazon site the server is set to read. |
No examples provided.
update_config ~241
Change a setting. Change a preference, like the Amazon site (`domain`) or the browser to sign in with (`browser`), only when the user asks. You may change a tuning setting yourself when calls keep failing (e.g. a longer `request_timeout` after timeouts, or a smaller `thread_pool_size` when Amazon throttles requests), and tell the user what you changed. `warn_on_missing_required_field` returns partial data instead of an error, so say so if you change it. A preference is saved, and tuning lasts until the server restarts unless `save` is true, which you can offer if a change keeps helping. After changing `domain`, check with `check_session`, since the user may need to sign in again. What each setting does: https://amazon-orders.readthedocs.io/api.html#amazonorders.conf.AmazonOrdersConfig
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | The setting, from `get_config`. |
| save | – | – | Whether to save the change. By default, a preference is saved and tuning isn't. |
| value | – | yes | The new value. Null or an empty string sets it back to the default. |
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | The setting. |
| saved | boolean | yes | Whether the change was saved, or only made until the server restarts. |
| value | – | – | The value now in effect. A null value means the default. |
No examples provided.
How do I install the Amazon Orders MCP server?
Amazon Orders runs locally as a PyPI package, launched with uvx amazon-orders-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · amazon-orders-mcp
claude mcp add alexdlaird-amazon-orders-mcp -- uvx amazon-orders-mcp
What is the Amazon Orders MCP server?
Amazon Orders is an MCP server listed in the public MCP registry as io.github.alexdlaird/amazon-orders-mcp. An MCP server for Amazon order history, line items, and transactions, built on amazon-orders. This page covers its PyPI package (amazon-orders-mcp).
Is the Amazon Orders MCP server safe to use?
Amazon Orders scores 68 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 18 October 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Amazon Orders MCP server expose?
Amazon Orders exposes 8 tools: sign_in, get_order_history, get_order, get_transactions, get_gift_card_activity, and 3 more. Their descriptions and schemas cost roughly 976 tokens of context every time the server is loaded.
Is the Amazon Orders MCP server still maintained?
Amazon Orders is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What licence is the Amazon Orders MCP server under?
Amazon Orders declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.