Skip to main content
Glama
mansournorouzi

Amazon SP-API MCP Server

Amazon SP-API MCP Server

A Model Context Protocol (MCP) server that connects Claude to Amazon Seller Central via the SP-API. Enables natural language queries for sales data, inventory, reports, fees, reimbursements, and analytics.

Security Notice (March 31, 2026): The axios npm package was briefly compromised in a supply chain attack. Malicious versions 1.14.1 and 0.30.4 were published between 00:21 and 03:15 UTC on March 31 before npm removed them. These versions contained a trojanized dependency (plain-crypto-js) that installed a remote access trojan. This repo's axios dependency has been pinned to 1.14.0 (the last clean version). If you ran npm install during the attack window, delete your node_modules folder and reinstall. See: Snyk advisory, Datadog analysis.

Key Feature: No AWS Credentials Required

As of October 2023, Amazon SP-API no longer requires AWS IAM credentials. This server uses LWA (Login with Amazon) OAuth 2.0 only, making setup simpler and more secure.

Related MCP server: Salesforce MCP Server

Features

Core Operations

  • Orders: Get orders, order details, and order items

  • Inventory: FBA inventory summary and detailed health metrics

  • Sales: Sales metrics by day/week/month with totals and averages

Financial Reports

  • Reimbursements: FBA reimbursements for lost/damaged inventory

  • Settlements: Payment disbursement details and breakdowns

  • Fee Estimates: Per-SKU FBA fee estimates

  • Storage Fees: Monthly storage charges

  • Long-term Storage Fees: LTSF for aged inventory

Analytics

  • Sales & Traffic: Sessions, page views, conversion rates, buy box %

  • Search Terms: Brand Analytics search term performance (requires Brand Registry)

  • Inventory Ledger: Track inventory movements and adjustments

Prerequisites

  • Node.js 18+

  • Amazon Seller Central account

  • SP-API application registered in Developer Central

  • LWA credentials (Client ID, Client Secret, Refresh Token)

Installation

git clone https://github.com/mansournorouzi/amazon-sp-mcp.git
cd amazon-sp-mcp
npm install
npm run build

Configuration

Create a .env file with your credentials:

# Copy the example
cp .env.example .env

Required environment variables:

# Login with Amazon (LWA) OAuth 2.0 Credentials
LWA_CLIENT_ID=amzn1.application-oa2-client.xxxxx
LWA_CLIENT_SECRET=your_lwa_client_secret
LWA_REFRESH_TOKEN=Atzr|your_refresh_token

# Seller Information
SELLER_ID=your_seller_id
MARKETPLACE_ID=ATVPDKIKX0DER

# SP-API Endpoint (optional, defaults to North America)
SP_API_ENDPOINT=https://sellingpartnerapi-na.amazon.com

Marketplace IDs

Region

Marketplace

ID

US

Amazon.com

ATVPDKIKX0DER

CA

Amazon.ca

A2EUQ1WTGCTBG2

MX

Amazon.com.mx

A1AM78C64UM0Y8

UK

Amazon.co.uk

A1F83G8C2ARO7P

DE

Amazon.de

A1PA6795UKMFR9

JP

Amazon.co.jp

A1VC38T7YXB528

SP-API Endpoints

Usage with Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "amazon-seller": {
      "command": "node",
      "args": ["/path/to/amazon-sp-mcp/build/index.js"],
      "env": {
        "LWA_CLIENT_ID": "amzn1.application-oa2-client.xxxxx",
        "LWA_CLIENT_SECRET": "your_secret",
        "LWA_REFRESH_TOKEN": "Atzr|your_token",
        "SELLER_ID": "your_seller_id",
        "MARKETPLACE_ID": "ATVPDKIKX0DER",
        "SP_API_ENDPOINT": "https://sellingpartnerapi-na.amazon.com"
      }
    }
  }
}

Restart Claude Desktop after making changes.

Usage with Claude Code

Add .mcp.json to your project root:

{
  "mcpServers": {
    "amazon-seller": {
      "command": "node",
      "args": ["./build/index.js"],
      "env": {
        "LWA_CLIENT_ID": "${LWA_CLIENT_ID}",
        "LWA_CLIENT_SECRET": "${LWA_CLIENT_SECRET}",
        "LWA_REFRESH_TOKEN": "${LWA_REFRESH_TOKEN}",
        "SELLER_ID": "${SELLER_ID}",
        "MARKETPLACE_ID": "${MARKETPLACE_ID}",
        "SP_API_ENDPOINT": "${SP_API_ENDPOINT}"
      }
    }
  }
}

Available Tools

Orders

Tool

Description

get_orders

List orders by date range, status, fulfillment channel

get_order_details

Get details for a specific order

get_order_items

Get line items for an order

Inventory

Tool

Description

get_inventory_summary

FBA inventory levels and health

get_fba_inventory_details

Detailed breakdown of reserved/unfulfillable quantities

Sales

Tool

Description

get_sales_metrics

Sales aggregates by day/week/month

Financial Reports

Tool

Description

get_fba_reimbursements

Lost/damaged inventory reimbursements

get_settlement_report

Payment disbursement details

get_fba_fee_estimates

Per-SKU fee breakdown

get_storage_fees

Monthly storage charges

get_longterm_storage_fees

LTSF for aged inventory (365+ days)

Analytics

Tool

Description

get_sales_traffic_report

Sessions, page views, conversion rates

get_search_terms_report

Brand Analytics search terms (Brand Registry required)

get_inventory_ledger

Inventory movement summary

Example Queries

Once configured, you can ask Claude questions like:

  • "What were my sales last week?"

  • "Show me my FBA reimbursements for January"

  • "What's my current inventory health?"

  • "Pull my settlement report for the last payment"

  • "What are my storage fees by SKU?"

  • "Which products have the best conversion rate?"

  • "Show me my long-term storage fees"

Development

# Build
npm run build

# Run in development mode
npm run dev

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Lint
npm run lint

# Format
npm run format

Architecture

src/
├── index.ts                    # MCP server entry point
├── config/
│   └── index.ts                # Configuration & validation
├── auth/
│   └── token-manager.ts        # LWA OAuth 2.0 token management
├── client/
│   ├── sp-api-client.ts        # HTTP client (no AWS signing!)
│   └── rate-limiter.ts         # SP-API rate limiting
├── tools/
│   ├── index.ts                # Tool registry
│   ├── orders.ts               # Orders API tools
│   ├── inventory.ts            # Inventory API tools
│   ├── sales.ts                # Sales API tools
│   └── reports/
│       ├── reimbursements.ts   # FBA reimbursements
│       ├── settlements.ts      # Settlement reports
│       ├── fees.ts             # Fee reports
│       └── analytics.ts        # Brand analytics
├── types/
│   └── sp-api.ts               # TypeScript definitions
└── utils/
    ├── csv-parser.ts           # Report CSV parsing
    └── report-poller.ts        # Async report polling

License

MIT

Resources

Available Tools

20 tools
get_catalog_itemB

Get detailed product information from the Amazon catalog by ASIN. Returns product title, brand, category, BSR (Best Sellers Rank), images, bullet points, and attributes.

ParametersJSON Schema
NameRequiredDescriptionDefault
asinYesThe ASIN of the product to retrieve
includedDataNoComma-separated data to include: summaries, attributes, salesRanks, images, dimensions, identifiers, relationships, productTypessummaries,attributes,salesRanks,images

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It lists return fields but omits any side effects, permission requirements, rate limits, or safety implications (e.g., read-only nature).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no redundant information, but it could benefit from slight structuring for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lists returned fields but does not explain response structure or data types, which is needed since no output schema exists. However, for a simple lookup tool, it provides the minimum context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description does not need to add parameter details, but it also doesn't explain the meaning or format of includedData options beyond their names, leaving some ambiguity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's verb ('Get') and resource ('detailed product information from the Amazon catalog by ASIN'), and lists specific return fields, making it distinct from siblings like search_catalog.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving product details by ASIN but does not explicitly mention when to use this tool versus alternatives (e.g., search_catalog) or provide usage boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_fba_fee_estimatesC

Get estimated FBA fees per SKU including referral fees, fulfillment fees, and other charges. Helpful for understanding per-unit costs and profitability analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It implies a read operation but does not mention authentication, rate limits, or any side effects. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action, and contains no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and no output schema, the description is incomplete and inconsistent with the schema. It fails to clarify how the tool works without inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description says 'per SKU' but the input schema has zero parameters, creating a contradiction. This misleads the agent about input requirements.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool estimates FBA fees per SKU and lists specific fee components, making the purpose distinct among siblings. However, it lacks detail on how SKUs are specified.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions profitability analysis but does not provide explicit guidance on when to use this tool versus alternatives, nor does it state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_fba_inventory_detailsB

Get detailed FBA inventory information including breakdown of reserved quantities, unfulfillable reasons, and researching quantities. Provides deeper insight into inventory status.

ParametersJSON Schema
NameRequiredDescriptionDefault
sellerSkuNoFilter by specific seller SKU
asinNoFilter by specific ASIN

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must bear the full burden of behavioral disclosure. It only states the output content but does not mention read-only nature, pagination, error scenarios, or any operational traits. For a data retrieval tool, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, which is concise. The first sentence efficiently lists the breakdown details. The second sentence is a bit generically repetitive but still short.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 2 optional parameters and no output schema, the description adequately conveys the tool's purpose. However, it does not mention response format or how to interpret the data, leaving some gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (both parameters described in schema). The description does not add additional meaning beyond 'filter by', but it also does not mislead. Baseline 3 is appropriate as the schema carries the parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the tool as providing detailed FBA inventory information, listing specific breakdowns (reserved quantities, unfulfillable reasons, researching quantities). It distinguishes itself from sibling tools like get_inventory_summary by focusing on deeper insight.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives (e.g., get_inventory_summary, get_inventory_ledger). The phrase 'provides deeper insight' offers an implied context, but no when-not or sibling comparisons are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_fba_reimbursementsA

Get FBA reimbursements for lost, damaged, or returned inventory within a date range. Shows reimbursement amounts, reasons, and affected products. Useful for tracking Amazon credits for inventory issues.

ParametersJSON Schema
NameRequiredDescriptionDefault
startDateYesStart date in YYYY-MM-DD format
endDateYesEnd date in YYYY-MM-DD format

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden for behavioral disclosure. It indicates a read operation ('gets') and describes the data returned, which is transparent. However, it does not mention any potential side effects, required permissions, rate limits, or data volume considerations, leaving some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences. The first sentence clearly states the primary function, and the second adds context on usefulness. Every sentence adds value, and there is no redundant or unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has two simple parameters and no output schema, the description adequately explains its purpose and output. It covers the key aspects of what the tool does and what information it provides. Slight improvement could be made by noting the format or pagination, but it is largely complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides full descriptions for both parameters (startDate, endDate) with format YYYY-MM-DD, achieving 100% schema description coverage. The description does not add additional semantic detail beyond what the schema already provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves FBA reimbursements for lost, damaged, or returned inventory within a date range. It specifies the output includes reimbursement amounts, reasons, and affected products, distinguishing it from sibling tools like get_fba_inventory_details or get_fba_fee_estimates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the tool is 'useful for tracking Amazon credits for inventory issues', which implies when to use it, but it does not provide explicit guidance on when not to use it or mention alternative tools for related tasks. The context of usage is implied but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_financial_event_groupsA

Get financial event groups (payment disbursements) from Amazon Seller Central. Shows grouped financial events including fund transfers, account balances, and settlement periods. Useful for tracking payments and reconciliation.

ParametersJSON Schema
NameRequiredDescriptionDefault
financialEventGroupStartedAfterYesISO 8601 date. Event groups that started after this date
financialEventGroupStartedBeforeNoISO 8601 date. Event groups that started before this date
maxResultsNoMaximum number of results per page (max 100)
nextTokenNoPagination token for next page of results

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It describes what the tool returns but does not mention whether it is read-only, required permissions, rate limits, or any safety considerations. The lack of explicit safety info is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long with no fluff. The first sentence states the core purpose, the second adds what is shown, and the third suggests use cases. It is front-loaded and every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given moderate complexity (4 parameters, 1 required), no output schema, and no annotations, the description covers the function adequately but lacks details on pagination behavior, return structure, and behavioral traits. It does not fully compensate for missing annotations and output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with each parameter having a clear description in the schema. The description does not add additional detail beyond the schema, so it meets the baseline of 3 without providing extra enrichment.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'financial event groups' from Amazon Seller Central, and elaborates on what is included (fund transfers, account balances, settlement periods). It distinguishes from sibling tools like 'get_financial_events' by mentioning 'grouped' events, providing adequate context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the tool is 'useful for tracking payments and reconciliation,' which implies a usage context, but it does not explicitly state when to prefer this tool over alternatives (e.g., get_financial_events), nor does it provide exclusions or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_financial_eventsB

Get financial events for a date range from Amazon Seller Central. Returns all financial events including sales, refunds, fees, reimbursements, and adjustments. Events are grouped by type for easy analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
postedAfterYesISO 8601 date. Financial events posted after this date (e.g., 2025-01-01T00:00:00Z)
postedBeforeNoISO 8601 date. Financial events posted before this date
maxResultsNoMaximum number of results per page (max 100)
nextTokenNoPagination token for next page of results

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description mentions 'all financial events' and 'grouped by type' but omits pagination behavior, rate limits, or data freshness. Limited behavioral disclosure beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with verb and resource. No unnecessary words, effective structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters and no output schema, description covers basic purpose but lacks details on pagination, default values, and error handling. Adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. Description adds no extra meaning beyond the schema; it mentions date range but doesn't elaborate on maxResults or nextToken functionality.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it retrieves financial events for a date range, listing types like sales, refunds, fees. Specific verb and resource, but does not explicitly distinguish from related siblings like get_financial_event_groups or get_settlement_report.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Only implies usage for date-range queries. Lacks when-not-to-use or explicit context about other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_inventory_ledgerA

Get inventory ledger summary showing inventory movements including receipts, shipments, returns, adjustments, and balance changes over time. Helps track where inventory went.

ParametersJSON Schema
NameRequiredDescriptionDefault
startDateYesStart date in YYYY-MM-DD format
endDateYesEnd date in YYYY-MM-DD format

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It describes the output content but does not mention read-only nature, result size limits, pagination, or latency expectations, which would help an agent anticipate behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action (Get inventory ledger summary) and elaborated with specific movements. Each phrase adds value, though the second sentence is slightly redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and 100% parameter coverage, the description adequately explains what the ledger contains. However, it lacks information about time range granularity, data recency, or how this differs from other inventory tools among the many siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear parameter descriptions for startDate and endDate. The description adds no additional meaning beyond the schema, so it meets the baseline without extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves an inventory ledger summary showing specific movement types (receipts, shipments, returns, adjustments, balance changes) and states its purpose to track inventory movements, distinguishing it from simpler summary tools like get_inventory_summary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The hint 'helps track where inventory went' implies a traceability use case but does not explicitly state when to use this tool over alternatives like get_inventory_summary or get_fba_inventory_details, nor does it provide exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_inventory_summaryB

Get FBA inventory summary including quantity available, reserved, inbound, and unfulfillable. Shows inventory health at a glance for all or specific SKUs.

ParametersJSON Schema
NameRequiredDescriptionDefault
sellerSkusNoFilter by specific seller SKUs (max 50)
nextTokenNoPagination token for next page of results

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description fails to disclose behavioral traits such as pagination (nextToken parameter), read-only nature, or potential errors. It only lists output fields but not side effects or access requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, front-loaded with the main action. Every word adds value; no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema and no annotations, the description does not cover key contextual details like pagination behavior, response format, error conditions, or limits. The summary is too high-level for an agent to fully understand the tool's output and usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters. The tool description adds marginal value by noting 'for all or specific SKUs', which aligns with sellerSkus, but provides no extra context for nextToken.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get FBA inventory summary' and specifies the fields (available, reserved, inbound, unfulfillable). It conveys a concise purpose but does not explicitly distinguish from sibling tools like get_fba_inventory_details, which limits clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for a quick overview ('at a glance'), but lacks explicit guidance on when to use this tool versus alternatives, no mention of prerequisites or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_longterm_storage_feesB

Get long-term storage fees (LTSF) for inventory stored over 365 days. Shows aged inventory charges to help identify products incurring extra storage costs.

ParametersJSON Schema
NameRequiredDescriptionDefault
startDateYesStart date in YYYY-MM-DD format
endDateYesEnd date in YYYY-MM-DD format

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states it 'shows aged inventory charges' but does not disclose whether the operation is read-only, any authentication needs, rate limits, or other behavioral aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action and resource, and contains no wasted words or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, and the description does not specify the return format, structure, or details of the fees shown. It vaguely mentions showing charges but lacks completeness for an agent to fully understand expected output.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both startDate and endDate described adequately in the schema. The description does not add additional meaning beyond what the schema already provides, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'long-term storage fees', and specifies 'for inventory stored over 365 days', which distinguishes it from the sibling tool 'get_storage_fees' that likely covers shorter periods.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the purpose ('identify products incurring extra storage costs') but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_order_detailsA

Get detailed information about a specific Amazon order by order ID. Returns full order details including shipping address, buyer info, and order status.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdYesThe Amazon order ID (e.g., 111-1234567-1234567)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It indicates it is a read (get) operation and lists return fields, but lacks details on side effects, rate limits, authentication needs, or data scoping. The transparency is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that are front-loaded and concise. Every word contributes value, with no repetition or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one parameter and no output schema, the description adequately sketches the return content (shipping address, buyer info, order status). It is largely complete but could be more explicit about the full response structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (the orderId parameter is well-defined with type and example). The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Get') and resource ('detailed information about a specific Amazon order by order ID'), and lists key return fields that distinguish it from siblings like get_orders (which lists orders) and get_order_items (items only).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when you have a specific order ID and need full details, but it does not explicitly state when to use it versus alternatives (e.g., get_orders for listing, get_order_financial_events for financial data). With 18 siblings, more explicit guidance would improve selection accuracy.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_order_financial_eventsA

Get all financial events for a specific Amazon order. Returns detailed financial breakdown including the sale amount, fees, taxes, shipping charges, and any adjustments for that order.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdYesThe Amazon order ID (e.g., 111-1234567-1234567)
maxResultsNoMaximum number of results per page (max 100)
nextTokenNoPagination token for next page of results

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears the full burden. It discloses the return structure (sale amount, fees, taxes, shipping, adjustments) and implies it is read-only. It does not discuss pagination or authorization, but the schema adds pagination details. Overall adequate for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no extraneous information. First sentence states core purpose, second adds return detail. Efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description explains the return content well. It lacks mention of pagination or response structure, but the schema includes nextToken. For a relatively simple tool with three parameters, it is mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds little beyond the schema for individual parameters. However, the overall description helps contextualize the parameters by stating what the tool returns, which is useful but not extensive.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves financial events for a specific Amazon order, using a specific verb ('Get') and resource ('financial events'). It also distinguishes from broader sibling tools like get_financial_events by tying to an order ID.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use this tool (for a specific order's financial events). However, it does not provide explicit exclusions or mention alternatives among sibling tools, though the context of requiring orderId implies order-specific use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_order_itemsB

Get the line items (products) for a specific Amazon order. Returns details about each item including ASIN, SKU, quantity, price, and tax.

ParametersJSON Schema
NameRequiredDescriptionDefault
orderIdYesThe Amazon order ID

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It implies read-only behavior and lists returned fields (ASIN, SKU, quantity, price, tax) but omits details like rate limits, authentication needs, or potential errors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no extraneous words. First sentence states purpose, second lists return fields. Perfectly concise for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter, no-output-schema tool, the description is adequate. It covers purpose and key return data but lacks details on pagination, limits, or edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter 'orderId', and the description adds minimal additional context beyond the schema's 'The Amazon order ID'. No new constraints or format details are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool retrieves line items for a specific Amazon order, listing key fields returned. It uses specific verb+resource but does not explicitly distinguish from sibling tools like get_order_details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives among the 18 sibling tools. The description simply states what it does without contextual usage advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_ordersB

Retrieve a list of orders from Amazon Seller Central. You can filter by date range, status, and fulfillment channel. Returns order summaries including order ID, status, total, and buyer info.

ParametersJSON Schema
NameRequiredDescriptionDefault
createdAfterNoISO 8601 date. Orders created after this date (e.g., 2025-01-01T00:00:00Z)
createdBeforeNoISO 8601 date. Orders created before this date
lastUpdatedAfterNoISO 8601 date. Orders updated after this date
lastUpdatedBeforeNoISO 8601 date. Orders updated before this date
orderStatusesNoFilter by order status: Pending, Unshipped, PartiallyShipped, Shipped, Canceled
fulfillmentChannelsNoAFN (Fulfilled by Amazon) or MFN (Merchant Fulfilled)
maxResultsNoMaximum number of orders to return (max 100)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It only describes the basic retrieval function without disclosing behavioral traits like authorization requirements, rate limits, or any side effects. The description is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. The verb and resource are front-loaded, and the structure is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 7 parameters, no output schema, and no annotations, the description provides high-level purpose but lacks details on required parameters, pagination, ordering, or complete return value structure. It is adequate but has gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add meaning beyond what the schema already provides; it merely restates the filtering capability.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves a list of orders from Amazon Seller Central with filtering options and lists returned fields. It does not explicitly differentiate from sibling tools like get_order_details, but the scope (list vs details) is implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as when needing individual order details or events. It only states what the tool does without context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sales_metricsA

Get aggregated sales metrics from Amazon Sales API. USE THIS for longer date ranges (7+ days, 30 days, etc). IMPORTANT: Data has a 24-48 hour delay, so the last 2 days will NOT have data. For yesterday/today sales, use get_sales_summary instead. Returns total sales, unit count, order count grouped by day/week/month.

ParametersJSON Schema
NameRequiredDescriptionDefault
intervalNoTime granularity for the metricsDay
startDateYesStart date in ISO 8601 format (e.g., 2025-01-01)
endDateYesEnd date in ISO 8601 format (e.g., 2025-01-31)
asinNoFilter by specific ASIN
skuNoFilter by specific SKU

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully bears the burden. It discloses the 24-48 hour data delay (last 2 days lack data), a critical behavioral trait. Additional implied read-only behavior and aggregation grouping add transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise, front-loaded sentences: purpose, usage guidance, then behavioral and return info. No redundant words; each sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter tool with no output schema, the description covers return contents (sales, units, orders), data delay, granularity, and usage context. It is fully adequate for an agent to understand input/output and when to invoke.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (all parameters have descriptions). The description adds usage context like 'longer date ranges' for startDate/endDate, implying a minimum range, and that interval groups by the enumerated values. This extra semantic value justifies a 4 above baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Get aggregated sales metrics' and specifies it's for longer date ranges (7+ days, etc.), distinguishing from sibling get_sales_summary. Also lists the returned metrics (total sales, unit count, order count grouped by day/week/month).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides when to use ('for longer date ranges') and when not to use ('for yesterday/today sales, use get_sales_summary instead'). Also notes the 24-48 hour data delay, guiding the agent on data freshness.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sales_summaryA

Get REAL-TIME sales summary calculated from orders data. USE THIS for yesterday/today sales (last 48 hours) since Sales API has a delay. Also useful when you need accurate recent data. Returns total sales, order count, units sold, and daily breakdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
startDateYesStart date in YYYY-MM-DD format (e.g., 2025-01-01)
endDateYesEnd date in YYYY-MM-DD format (e.g., 2025-01-31)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Notes real-time, orders-based calculation, and return fields. Lacks details on auth requirements, rate limits, or potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three efficient sentences: purpose and source, usage guideline, return fields. No wasted words; front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple 2-param tool with no output schema. Covers what, when, and what returned. Lacks mention of pagination or error conditions, but these are less critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters have schema descriptions (100% coverage). Description does not add new semantics beyond date format; it reinforces the real-time context but provides no additional meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specifically states it retrieves a 'REAL-TIME sales summary calculated from orders data,' clearly identifying the resource and verb. Differentiates from siblings like 'get_sales_metrics' by emphasizing real-time nature and direct order calculation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises use for 'yesterday/today sales (last 48 hours) since Sales API has a delay' and for 'accurate recent data.' Strong context but does not explicitly name alternative tools for comparison.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_sales_traffic_reportB

Get detailed sales and traffic data including sessions, page views, conversion rate (unit session percentage), buy box percentage, and sales by ASIN. Essential for understanding product performance and conversion optimization.

ParametersJSON Schema
NameRequiredDescriptionDefault
startDateYesStart date in YYYY-MM-DD format
endDateYesEnd date in YYYY-MM-DD format
reportOptionsNo

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the type of data returned (sessions, page views, etc.) but fails to disclose important traits such as read-only nature, authorization requirements, rate limits, data freshness, or any side effects. This leaves significant behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: two sentences that front-load the key metrics and purpose with no redundant text. Every word contributes to understanding the tool's function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three parameters (one nested), no output schema, and many siblings, the description adequately lists the data fields but lacks usage guidance and behavioral details. It is sufficient for basic understanding but not comprehensive for confident invocation without further context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67%, meaning the schema already documents two of three parameters. The tool description adds no additional meaning about parameters (e.g., dateGranularity or asinGranularity) beyond listing the metrics returned. Thus it provides no extra value, and the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves detailed sales and traffic data and lists specific metrics like sessions, page views, conversion rate, buy box percentage, and sales by ASIN. However, it does not explicitly differentiate from sibling tools like get_sales_metrics or get_sales_summary, missing an opportunity to clarify its unique scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for understanding product performance and conversion optimization but provides no explicit guidance on when to use this tool versus alternatives. No when-not-to-use or exclusion criteria are mentioned, leaving the agent without clear decision rules.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_search_terms_reportA

Get Brand Analytics search term report showing top search terms, search frequency rank, and click/conversion share by ASIN. Requires Brand Registry. Helps understand how customers find your products.

ParametersJSON Schema
NameRequiredDescriptionDefault
startDateYesStart date in YYYY-MM-DD format
endDateYesEnd date in YYYY-MM-DD format

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must convey behavioral traits. It notes the Brand Registry requirement and the report nature, but lacks details on read-only status, response size, pagination, or refresh cadence. Adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first covers purpose and output fields, second adds prerequisite and value. No superfluous words, well front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a simple date-range tool with complete schema and no output schema, the description covers purpose, prerequisite, and use case. Minor gaps: no mention of timezone, data aggregation level, or date range limits, but sufficient for selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear date parameter descriptions. The description adds no further clarification beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool retrieves a Brand Analytics search term report listing top search terms, frequency rank, and click/conversion share. Distinct from sibling tools like get_sales_traffic_report or get_catalog_item by focusing on search terms and requiring Brand Registry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions the prerequisite (Brand Registry) and the use case (understanding customer search behavior). Does not provide alternatives or when-not-to-use guidance, but the context is clear given the sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_settlement_reportA

Get settlement report showing payment disbursements, including order sales, refunds, fees, and other charges. Provides detailed breakdown of what Amazon paid and deducted.

ParametersJSON Schema
NameRequiredDescriptionDefault
startDateYesStart date in YYYY-MM-DD format
endDateYesEnd date in YYYY-MM-DD format

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It describes a read operation ('Get') and lists report contents, but does not disclose potential limitations, required permissions, or response structure. Adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, front-loaded with purpose. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no output schema, the description covers the core purpose but lacks context around pagination, response format, or prerequisites. It is adequate but not enriched.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both parameters (startDate, endDate) including format. The tool description adds no further meaning beyond what the schema already provides, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' and clearly identifies the resource as 'settlement report' showing 'payment disbursements', with details on what is included. It distinguishes from sibling tools like get_financial_events or get_sales_summary by focusing on settlement-specific payment breakdowns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like get_financial_events or get_sales_summary. Given the many sibling tools, the lack of context or selection criteria is a significant gap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_storage_feesA

Get FBA monthly storage fee charges by SKU. Shows storage costs, volume, and utilization for each product in Amazon fulfillment centers.

ParametersJSON Schema
NameRequiredDescriptionDefault
startDateYesStart date in YYYY-MM-DD format
endDateYesEnd date in YYYY-MM-DD format

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so description must cover transparency. It describes a read-only operation (retrieve fees) but doesn't confirm safety, permissions, or data refresh considerations. Adequate for a simple query but lacks explicit behavioral disclaimers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences efficiently convey purpose and outputs. No redundant words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description mentions 'by SKU' but the schema lacks a SKU parameter, creating a gap. No output schema exists, so return structure is inferred but not explicit. Sibling tool get_longterm_storage_fees isn't differentiated. Adequate but could clarify filtering and result shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with both parameters described in the schema. Description adds no extra meaning beyond stating outputs; it doesn't explain date range significance or format caveats. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'Get' and resource 'FBA monthly storage fee charges by SKU'. It mentions specific outputs (storage costs, volume, utilization) and distinguishes from siblings like get_longterm_storage_fees by focusing on monthly fees.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., get_longterm_storage_fees). No prerequisites, exclusions, or context about optimal usage are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_catalogA

Search the Amazon catalog by keywords or identifiers (ASIN, SKU, UPC, EAN). Returns a list of matching items with summaries. Useful for finding products or looking up items by identifier.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordsNoKeywords to search for in the catalog
identifiersNoComma-separated identifiers to search (ASINs, SKUs, UPCs, EANs)
identifiersTypeNoThe type of identifiers provided
includedDataNoComma-separated data to include: summaries, attributes, salesRanks, images, dimensions, identifiers, relationships, productTypessummaries
pageSizeNoNumber of results per page (max 20)
pageTokenNoPagination token for next page

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only mentions returning a list with summaries, but omits details such as pagination behavior, authentication requirements, data freshness, or whether the operation is read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no unnecessary information. The purpose and utility are front-loaded, making it efficient and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description provides a basic understanding of the tool's function and return type, but lacks guidance on pagination and more detailed return structure. Given no output schema, more completeness would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds marginal value beyond the schema. It reiterates keywords or identifiers but does not clarify how parameters interact (e.g., mutual exclusivity) or provide additional semantic guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches the Amazon catalog by keywords or identifiers, and returns matching items with summaries. It distinguishes from sibling tools, which are predominantly 'get_*' operations for specific data retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says 'Useful for finding products or looking up items by identifier' but does not explicitly state when to use this tool versus alternatives like get_catalog_item. Usage context is implied but not elaborated.

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. Dates show when Glama detected each change.

  1. 20 tool updatesv1.0.0
    • First observedget_catalog_item
    • First observedget_fba_fee_estimates
    • First observedget_fba_inventory_details
    • First observedget_fba_reimbursements
    • First observedget_financial_event_groups
    • First observedget_financial_events
    • First observedget_inventory_ledger
    • First observedget_inventory_summary
    • First observedget_longterm_storage_fees
    • First observedget_order_details
    • First observedget_order_financial_events
    • First observedget_order_items
    • First observedget_orders
    • First observedget_sales_metrics
    • First observedget_sales_summary
    • First observedget_sales_traffic_report
    • First observedget_search_terms_report
    • First observedget_settlement_report
    • First observedget_storage_fees
    • First observedsearch_catalog

TDQS

A3.5/5.0
Disambiguation4/5

Tools are mostly distinct, with some closely related sales reporting functions (get_sales_metrics, get_sales_summary, get_sales_traffic_report) but descriptions clearly differentiate their use cases. No significant ambiguity.

Naming Consistency5/5

All tools follow a consistent 'get_' prefix with descriptive noun phrases in lowercase with underscores. Pattern is uniform across the entire set.

Tool Count5/5

20 tools cover the major areas of Amazon SP-API (catalog, inventory, orders, finances, sales) without being excessive. The count is well-scoped for the server's purpose.

Completeness4/5

Covers core seller operations comprehensively. Minor gaps exist (e.g., lack of listing management or FBA shipment creation), but the main workflows are supported.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Exposes Amazon Selling Partner API tools for sellers to manage orders, inventory, listings, pricing, analytics, and reports via natural language.
    24
    1
    AGPL 3.0
  • F
    license
    A
    quality
    C
    maintenance
    Connects Claude to your Amazon Seller Central account via the Selling Partner API, enabling queries for recent orders, sales summaries, FBA inventory, and financial events.
    4
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mansournorouzi/amazon-sp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server