Skip to main content
Glama

@striderlabs/mcp-nordstrom

Model Context Protocol (MCP) connector for Nordstrom retail. Browse products, manage your shopping bag, wishlist, and orders through any MCP-compatible AI client.

Features

Tool

Description

Auth Required

search_products

Search merchandise by keyword, category, or brand

No

get_product

Get full product details, sizes, and images

No

add_to_bag

Add an item to your shopping bag

Yes

get_bag

View shopping bag contents and totals

Yes

remove_from_bag

Remove an item from bag

Yes

get_wishlist

View saved/favorited items

Yes

add_to_wishlist

Save an item to your wishlist

Yes

check_inventory

Check store availability near a ZIP code

No

get_orders

View order history

Yes

track_order

Track a shipment

Yes

Related MCP server: Kroger MCP Server

Installation

npm install @striderlabs/mcp-nordstrom

Authentication

Authenticated tools (bag, wishlist, orders) require Nordstrom account credentials. Set them as environment variables:

export NORDSTROM_EMAIL="you@example.com"
export NORDSTROM_PASSWORD="yourpassword"

Alternatively, save credentials to ~/.nordstrom-mcp/credentials.json:

{
  "email": "you@example.com",
  "password": "yourpassword"
}

The file is stored with 600 permissions (owner read/write only).

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "nordstrom": {
      "command": "npx",
      "args": ["-y", "@striderlabs/mcp-nordstrom"],
      "env": {
        "NORDSTROM_EMAIL": "you@example.com",
        "NORDSTROM_PASSWORD": "yourpassword"
      }
    }
  }
}

Tool Reference

search_products

{
  "query": "black ankle boots",
  "category": "women",
  "brand": "Sam Edelman"
}

get_product

{
  "product_id": "7654321"
}

product_id can be a Nordstrom numeric style ID or a full product URL.

add_to_bag

{
  "product_id": "7654321",
  "sku_id": "sku-9876",
  "quantity": 1
}

get_bag

No parameters required.

remove_from_bag

{
  "item_id": "bag-item-id-from-get_bag"
}

get_wishlist

No parameters required.

add_to_wishlist

{
  "product_id": "7654321"
}

check_inventory

{
  "product_id": "7654321",
  "size": "M",
  "zip": "98101"
}

get_orders

{
  "limit": 5
}

track_order

{
  "order_number": "12345678"
}

Development

# Install dependencies
npm install

# Build
npm run build

# Run in dev mode
npm run dev

# Pack for distribution
npm pack

Notes

  • Uses Playwright for browser automation against nordstrom.com.

  • Stealth mode enabled to reduce bot detection.

  • Some actions (add to bag, wishlist) may be blocked if Nordstrom adds additional CAPTCHA challenges.

  • This connector is for personal use only; respect Nordstrom's Terms of Service.

Available Tools

10 tools
add_to_bagA

Add an item to the Nordstrom shopping bag. Requires authentication via NORDSTROM_EMAIL and NORDSTROM_PASSWORD environment variables.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesProduct ID or full product URL
sku_idNoSKU ID for a specific size/color variant
quantityNoQuantity to add, default 1

TDQS

A3.9/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 of behavioral disclosure. It adds value by specifying authentication needs, which is crucial context. However, it lacks details on other behavioral traits such as rate limits, error handling, or what happens on success/failure.

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 front-loaded with the core purpose and efficiently includes essential authentication details in a single, clear sentence. There is no wasted text, making it highly concise and well-structured.

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's moderate complexity (3 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers authentication and purpose but lacks details on behavioral aspects like response format or error conditions, which would enhance completeness.

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 schema description coverage is 100%, so the input schema already documents all parameters thoroughly. The description does not add any additional meaning or context about the parameters beyond what the schema provides, meeting the baseline for high schema coverage.

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 specific action ('Add an item') and target resource ('to the Nordstrom shopping bag'), distinguishing it from siblings like 'add_to_wishlist' or 'remove_from_bag'. It precisely communicates the tool's function without redundancy.

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 states when to use this tool by specifying authentication requirements ('Requires authentication via NORDSTROM_EMAIL and NORDSTROM_PASSWORD environment variables'), providing clear context for its use. However, it does not mention when not to use it or direct alternatives among siblings.

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

add_to_wishlistB

Save an item to the Nordstrom wishlist / Favorites. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesProduct ID or full product URL to save

TDQS

B3.1/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 authentication but lacks details on permissions, rate limits, error handling, or whether the operation is idempotent. This is insufficient for a mutation tool, as users need more context about its 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 concise and front-loaded, consisting of two sentences that directly state the tool's purpose and a key requirement. There is no unnecessary information, making it efficient, though it could be slightly more structured for clarity.

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?

Given that this is a mutation tool with no annotations and no output schema, the description is incomplete. It lacks details on behavioral traits, error cases, and what the tool returns, which are critical for understanding its usage in context with sibling tools.

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 has 100% description coverage, with the parameter 'product_id' documented as accepting 'Product ID or full product URL'. The description does not add any additional meaning beyond this, so it meets the baseline score of 3, as the schema adequately covers parameter semantics.

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 action ('Save an item') and the target resource ('Nordstrom wishlist / Favorites'), making the purpose specific and understandable. However, it does not explicitly differentiate this tool from its sibling 'get_wishlist', which might cause confusion about when to use each.

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 provides some guidance by stating 'Requires authentication', which implies a prerequisite for usage. However, it does not specify when to use this tool versus alternatives like 'add_to_bag' or 'get_wishlist', leaving the context for selection unclear.

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

check_inventoryB

Check product availability at Nordstrom stores near a given ZIP code, for a specific size.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesProduct ID or full product URL
sizeNoSize to check (e.g. 'M', '10', '32x32')
zipNoZIP code to find nearby stores

TDQS

B3.2/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 of behavioral disclosure. While it states the tool checks availability, it doesn't describe what the output looks like (e.g., list of stores with stock status), whether it requires authentication, rate limits, or error handling. This leaves significant gaps for an agent to understand how to interpret results.

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 a single, efficient sentence that front-loads the core purpose without unnecessary words. Every element ('Check product availability', 'at Nordstrom stores', 'near a given ZIP code', 'for a specific size') contributes directly to understanding the tool's function.

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?

Given the complexity of an inventory check tool with no annotations and no output schema, the description is incomplete. It doesn't explain return values (e.g., what data structure or format to expect), error conditions, or behavioral nuances like whether it checks real-time stock or cached data. For a tool that likely returns structured store/availability data, this is a significant gap.

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 schema already documents all three parameters (product_id, size, zip) with clear descriptions. The description adds minimal value beyond implying that 'size' and 'zip' are required for the inventory check, but doesn't provide additional syntax or format details. Baseline 3 is appropriate when the schema does the heavy lifting.

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 specific action ('Check product availability'), resource ('at Nordstrom stores'), and scope ('near a given ZIP code, for a specific size'). It distinguishes itself from siblings like get_product (general product info) or search_products (product search) by focusing on localized inventory checking.

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. It doesn't mention prerequisites (e.g., needing a valid product ID), nor does it differentiate from similar tools like get_product (which might provide product details without inventory) or track_order (which tracks shipments rather than store availability).

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

get_bagA

View the current Nordstrom shopping bag contents, subtotal, and estimated total. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/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 adds valuable context by specifying the authentication requirement, which is not obvious from the tool name or schema. It also implies a read-only operation ('View'), though it could be more explicit about safety traits like non-destructive behavior.

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 front-loaded with the core purpose in the first clause and adds essential context (authentication) in a second, concise sentence. Every word earns its place, with no redundancy or unnecessary details, making it highly efficient.

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's simplicity (0 parameters, no output schema, no annotations), the description is largely complete, covering purpose and authentication. However, it could enhance completeness by briefly mentioning the return format (e.g., structured data vs. text) or error handling, though this is not critical for a basic read operation.

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?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately does not discuss parameters, focusing instead on the tool's purpose and constraints, which aligns with the baseline expectation for zero-parameter tools.

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 specific action ('View') and resource ('current Nordstrom shopping bag contents, subtotal, and estimated total'), distinguishing it from siblings like 'get_orders' or 'get_wishlist' that access different data. It precisely defines what the tool retrieves without ambiguity.

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 states 'Requires authentication,' providing clear context for when to use this tool (i.e., only when authenticated). However, it does not specify when not to use it or name alternatives, such as clarifying that it shows the current bag vs. historical orders from 'get_orders'.

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

get_ordersC

View Nordstrom order history including order number, date, status, and items. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax number of orders to return, default 10

TDQS

C2.9/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 'Requires authentication,' which is a useful behavioral trait, but it lacks other critical details such as whether this is a read-only operation (implied by 'View' but not explicit), rate limits, pagination behavior (beyond the 'limit' parameter), or error handling. For a tool with zero annotation coverage, 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 concise and front-loaded, consisting of two sentences that efficiently convey the tool's purpose and a key requirement. There's no wasted language, and it gets straight to the point. However, it could be slightly improved by integrating the authentication note more seamlessly, but it's still highly 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 the tool's moderate complexity (retrieving order history with one optional parameter) and the absence of both annotations and an output schema, the description is minimally adequate. It covers the basic purpose and authentication need but lacks details on return format, error cases, or how it differs from sibling tools. This leaves gaps that could hinder an agent's effective use.

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 has 100% description coverage, with the 'limit' parameter documented as 'Max number of orders to return, default 10.' The description doesn't add any parameter-specific information beyond what the schema provides, such as explaining how 'limit' interacts with order history retrieval. Since the schema coverage is high, the baseline score 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's purpose: 'View Nordstrom order history including order number, date, status, and items.' It specifies the verb ('View') and resource ('Nordstrom order history') with concrete details about what information is included. However, it doesn't explicitly differentiate this tool from sibling tools like 'track_order' or 'get_product', which prevents a perfect score.

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 minimal usage guidance: 'Requires authentication' indicates a prerequisite, but it doesn't explain when to use this tool versus alternatives like 'track_order' (which might provide real-time status updates) or 'search_products' (for product details). There's no explicit when-to-use or when-not-to-use context, leaving the agent to infer usage scenarios.

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

get_productA

Get full product details including description, features, available sizes, images, and pricing for a specific Nordstrom item.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesProduct ID from search results or full Nordstrom product URL

TDQS

A4/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 describes the tool's function and output fields, but does not disclose behavioral traits such as whether it's read-only (implied by 'Get'), error handling, rate limits, authentication needs, or response format. The description adds value by specifying the scope of details, but lacks operational context.

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 a single, efficient sentence that front-loads the purpose and lists key details without redundancy. Every element (verb, resource, fields, target) earns its place, making it easy to scan and understand quickly.

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's low complexity (single parameter, no output schema, no annotations), the description is reasonably complete. It specifies what data is retrieved, aiding the agent in understanding the tool's value. However, it lacks details on behavioral aspects like error handling or output structure, which could be beneficial for a read operation.

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 the schema fully documenting the single parameter 'product_id'. The description does not add meaning beyond the schema, as it only implies parameter usage ('for a specific Nordstrom item') without detailing syntax or format. Baseline 3 is appropriate since the schema handles 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 states the verb ('Get') and resource ('full product details'), specifying exactly what information is retrieved (description, features, sizes, images, pricing) and for what target ('a specific Nordstrom item'). It distinguishes this from sibling tools like search_products (which finds items) or check_inventory (which checks stock).

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 implies usage context by specifying 'for a specific Nordstrom item' and listing detailed fields, suggesting it's for retrieving comprehensive data after an item is identified. However, it does not explicitly state when to use this versus alternatives like search_products (for finding items) or check_inventory (for stock info), nor does it mention prerequisites or exclusions.

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

get_wishlistB

View saved items in the Nordstrom wishlist. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/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 authentication but lacks details on rate limits, response format, error handling, or whether it's read-only (implied by 'View' but not explicit). This leaves significant gaps for a tool that likely returns user data.

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 very concise with two short sentences that are front-loaded with the core purpose. There's no wasted text, but it could be slightly more structured by separating usage notes, though this is minor.

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?

Given the tool's simplicity (0 parameters, no output schema), the description is incomplete. It lacks details on what 'saved items' includes (e.g., product details, quantities), authentication specifics, or behavioral traits like pagination. Without annotations or output schema, more context is needed for effective use.

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?

The tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter explanation in the description. The baseline for such cases is 4, as the description appropriately avoids redundant information and focuses on other aspects.

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 action ('View saved items') and resource ('Nordstrom wishlist'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'get_bag' or 'get_orders' beyond specifying the wishlist resource, which prevents a perfect score.

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 minimal guidance with 'Requires authentication,' which is a basic prerequisite but doesn't explain when to use this tool versus alternatives like 'get_bag' or 'get_orders.' No context on timing, alternatives, or exclusions is given, leaving usage unclear.

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

remove_from_bagA

Remove an item from the Nordstrom shopping bag by item ID. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYesBag item ID from get_bag results

TDQS

A3.9/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 of behavioral disclosure. It states the authentication requirement, which is valuable context. However, it doesn't describe what happens after removal (e.g., whether the bag is updated immediately, if confirmation is returned, or if there are rate limits). The description adds some behavioral insight but leaves gaps for a mutation tool.

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 concise sentences with zero waste. The first sentence states the purpose clearly, and the second adds essential context (authentication). Every word earns its place, making it easy to parse and understand quickly.

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 mutation tool with no annotations and no output schema, the description is adequate but has clear gaps. It covers the basic action and authentication need, but lacks details on behavioral outcomes (e.g., what is returned, error conditions) and doesn't fully compensate for the missing structured data. It meets minimum viability but could be more complete.

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 description coverage is 100%, so the schema already documents the item_id parameter fully. The description adds marginal value by referencing 'get_bag results' to clarify the parameter's source, but doesn't provide additional syntax or format details beyond what the schema provides. With 0 parameters beyond the documented one, a baseline of 4 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 specific action ('Remove an item'), target resource ('from the Nordstrom shopping bag'), and mechanism ('by item ID'), distinguishing it from siblings like add_to_bag or get_bag. It uses precise language that leaves no ambiguity about what the tool does.

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 context by mentioning 'Requires authentication' and referencing 'get_bag results' for the item_id parameter, suggesting it should be used after retrieving bag contents. However, it doesn't explicitly state when to use this tool versus alternatives (e.g., when to remove versus add items) or provide clear exclusion criteria.

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

search_productsA

Search Nordstrom merchandise by keyword, category, or brand. Returns a list of products with pricing, availability, and direct URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query (e.g. 'black dress', 'running shoes')
categoryNoCategory filter (e.g. 'women', 'men', 'shoes')
brandNoBrand filter (e.g. 'Nike', 'Nordstrom')

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden but lacks critical behavioral details. It mentions the return format but doesn't disclose pagination, rate limits, authentication needs, error conditions, or whether it's read-only (implied but not stated). For a search tool with zero annotation coverage, this leaves significant gaps in understanding operational constraints.

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 a single, well-structured sentence that efficiently conveys purpose, input scope, and output format without redundancy. Every element (search dimensions, return content) serves a clear purpose, making it front-loaded and zero-waste.

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 search tool with 3 parameters, 100% schema coverage, and no output schema, the description is adequate but incomplete. It covers the core functionality but misses behavioral context (e.g., pagination, errors) and usage differentiation from siblings. Without annotations or output schema, more detail on operational aspects would improve completeness.

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 parameters are fully documented in the schema. The description adds marginal value by listing the search dimensions (keyword, category, brand) but doesn't provide additional syntax, format details, or interaction rules beyond what the schema already specifies. Baseline 3 is appropriate when schema does the heavy lifting.

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 purpose with specific verbs ('Search Nordstrom merchandise') and resources ('products'), distinguishing it from siblings like 'get_product' (singular retrieval) or inventory/order tools. It specifies the search dimensions (keyword, category, brand) and the return content (list with pricing, availability, URLs).

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 searching products broadly, but provides no explicit guidance on when to use this versus alternatives like 'get_product' (for specific product lookup) or 'check_inventory' (for stock queries). It mentions search dimensions but doesn't clarify prerequisites or exclusions (e.g., if it requires authentication).

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

track_orderA

Track a Nordstrom shipment by order number. Returns status, carrier, tracking number, estimated delivery, and tracking events. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_numberYesNordstrom order number

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses key behavioral traits: it returns specific data (status, carrier, etc.), requires authentication, and implies it's a read-only operation (tracking, not modifying). However, it lacks details on error handling, rate limits, or data freshness.

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 front-loaded with the core purpose in the first sentence, followed by return details and authentication requirement in the second. Every sentence adds value without redundancy, making it efficient and well-structured.

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?

For a single-parameter tool with no annotations and no output schema, the description is reasonably complete: it specifies the action, input, return data, and authentication need. It could improve by detailing output format or error cases, but it covers the essentials given the tool's simplicity.

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 schema description coverage is 100%, with the parameter 'order_number' fully documented in the schema as 'Nordstrom order number'. The description adds no additional parameter details beyond what the schema provides, so it meets the baseline for high schema coverage.

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 specific action ('track'), the resource ('Nordstrom shipment'), and the key identifier ('by order number'), distinguishing it from siblings like 'get_orders' or 'check_inventory' by focusing on shipment tracking rather than order retrieval or inventory checks.

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 when tracking a shipment, but it does not explicitly state when to use this tool versus alternatives like 'get_orders' (which might list orders without tracking details) or provide exclusions. It mentions authentication as a prerequisite, offering some context.

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. 10 tool updatesv1.0.0
    • First observedadd_to_bag
    • First observedadd_to_wishlist
    • First observedcheck_inventory
    • First observedget_bag
    • First observedget_orders
    • First observedget_product
    • First observedget_wishlist
    • First observedremove_from_bag
    • First observedsearch_products
    • First observedtrack_order

TDQS

A3.8/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific e-commerce functions: shopping bag management (add, get, remove), wishlist management (add, get), product operations (search, get details), inventory checking, order history, and order tracking. No ambiguity exists between tools as they cover non-overlapping workflows.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case: add_to_bag, get_product, search_products, etc. The naming convention is perfectly uniform throughout the set, making it predictable and easy to understand.

Tool Count5/5

With 10 tools, the server is well-scoped for an e-commerce domain, covering core operations like product discovery, shopping cart management, wishlisting, inventory checks, and order tracking. Each tool earns its place without redundancy or bloat.

Completeness5/5

The toolset provides complete coverage for the Nordstrom shopping domain: full CRUD for the shopping bag (add, get, remove), wishlist management (add, get), product search and details, inventory checks, order history, and order tracking. No obvious gaps exist for typical user workflows.

Maintenance

ActivityInactive
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
    D
    maintenance
    Allows Large Language Models to interact with Kroger's grocery services, enabling product search, store lookup, and cart management through the Model Context Protocol.
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Chrome extension-based Model Context Protocol server that enables AI assistants to control your browser, leveraging your existing configurations and login states for complex automation, content analysis, and semantic search.
    12,363
    MIT

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/markswendsen-code/mcp-nordstrom'

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