Skip to main content
Glama
AiAgentKarl

ecommerce-mcp-server

by AiAgentKarl

ecommerce-mcp-server

MCP server for e-commerce data — product search, barcode lookup, cart & wishlist management for AI agents.

PyPI License: MIT

Features

  • Product Search — Search 100+ products by keyword via DummyJSON (free, no API key)

  • Category Browsing — List and filter products by category

  • Barcode Lookup — Look up products by UPC/EAN barcode via UPCitemdb (free, 100 req/day)

  • Cart Management — Add, remove, view, and clear a local shopping cart

  • Wishlist — Save and manage a local wishlist

  • Shopping Summary — Unified overview of cart and wishlist with totals

Related MCP server: Shopping MCP Server (Amazon + Target)

Tools

Tool

Description

search_products

Search products by keyword (e.g. "laptop", "shoes")

get_product_details

Get full details for a product by ID

list_categories

List all available product categories

get_products_by_category

Get products filtered by category

lookup_by_barcode

Look up a product by UPC or EAN barcode

manage_cart

Add/remove/view/clear shopping cart (local)

manage_wishlist

Add/remove/view wishlist (local)

get_shopping_summary

Overview of cart + wishlist with totals

Installation

pip install ecommerce-mcp-server

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "ecommerce": {
      "command": "ecommerce-mcp-server"
    }
  }
}

Example Queries

  • "Search for laptops under $800"

  • "What categories are available?"

  • "Look up barcode 4006381333931"

  • "Add product 1 to my cart"

  • "Show my shopping cart"

  • "Add product 5 to my wishlist"

APIs Used

  • DummyJSON (dummyjson.com) — Free product catalog, no API key required

  • UPCitemdb (upcitemdb.com) — Barcode lookup, free trial (100 req/day), no key needed

Local Storage

Cart and wishlist are stored locally at ~/.ecommerce_mcp_store.json.

License

MIT — Built by AiAgentKarl

Available Tools

8 tools
get_product_detailsB

Details zu einem bestimmten Produkt abrufen.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYesProdukt-ID (1-194 in der Datenbank)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 only says 'retrieve details' without mentioning read-only nature, required permissions, or any side effects. This is insufficient for a tool with no annotation support.

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?

A single sentence that efficiently conveys the tool's purpose. No wasted words, and the key information is front-loaded.

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?

With an output schema present, the description does not need to detail return values. However, given no annotations, the description is minimal and lacks behavioral context, making it just adequate for a simple retrieval tool.

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 parameter 'product_id' has a description that adds value beyond the schema: 'Produkt-ID (1-194 in der Datenbank)' providing a range constraint. Schema coverage is 100%, so the description enriches the meaning.

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 states 'Details zu einem bestimmten Produkt abrufen' (retrieve details for a specific product), which clearly identifies the verb and resource. However, it does not differentiate from sibling tools like get_products_by_category, which retrieves multiple products.

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?

No explicit guidance on when to use this tool versus alternatives. Usage is implied: use when you have a specific product ID and need details, but no exclusionary language or alternative tool references are provided.

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

get_products_by_categoryB

Produkte einer Kategorie abrufen.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryYesKategoriename (z.B. 'smartphones', 'laptops', 'fragrances')
limitNoMaximale Anzahl Ergebnisse (Standard: 10)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It fails to mention any traits such as pagination, ordering, error handling, or side effects beyond reading data.

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 short sentence, front-loaded with the core purpose. No redundant information, earning its place.

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 the output schema existing, the description does not hint at typical use cases, sorting, or any additional context. It is too minimal for a tool with sibling options and moderate 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 covers both parameters with descriptions (100% coverage), so the description adds no extra meaning. Baseline score of 3 is appropriate as the schema already provides necessary semantics.

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 'Retrieve products of a category', which is a specific verb+resource combination. It distinguishes from siblings like search_products (keyword-based) and get_product_details (single product) by focusing on category-based 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?

No explicit guidance is provided on when to use this tool versus alternatives. It is implied that it is for listing products within a category, but no exclusions or comparisons to sibling tools are mentioned.

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

get_shopping_summaryA

Gesamtuebersicht: Warenkorb und Wunschliste zusammengefasst. Zeigt Gesamtkosten, Anzahl Artikel und Spar-Tipps.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/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 output (total costs, item count, savings tips) but does not explicitly state that the tool is read-only or non-destructive. However, the name 'get' implies retrieval, and there are no parameters, so the risk is low. Lacks explicit behavioral disclosure.

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 in German with no wasted words. It is front-loaded with the main purpose and lists key outputs. Excellent conciseness.

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?

Given zero parameters and that an output schema exists (though not shown), the description sufficiently covers what the tool does: returns a summary of cart and wishlist with costs, item count, and savings tips. No additional context is needed for this simple tool.

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?

No parameters exist (0 parameters, 100% schema coverage). Baseline for no parameters is 4. The description does not need to add parameter info as there are none.

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 provides a combined summary of the cart and wishlist, showing total costs, item count, and savings tips. This is a specific verb+resource that distinguishes it from siblings like manage_cart (individual management) and get_product_details (single product info).

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 an overview of cart and wishlist, but does not explicitly say when to use or not to use alternatives, such as when to use manage_cart vs this summary. No when-not or exclusion criteria given.

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

list_categoriesA

Alle verfuegbaren Produktkategorien auflisten.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

No annotations provided, so description must carry behavioral transparency. 'List' implies a read-only operation, and the tool has no parameters, so behavior is straightforward. However, it does not explicitly state that it is non-destructive or provide details on output format.

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?

Single sentence, front-loaded, no unnecessary words.

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 zero parameters and presence of an output schema, the description is nearly complete. It could mention that the output is a list of category names or objects, but the schema handles that.

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?

No parameters exist, so description need not explain them. Schema coverage is 100% (zero params), and the description adds sufficient context.

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 tool lists all available product categories, using a specific verb and resource. It distinguishes from sibling tools that deal with products, details, or barcode lookup.

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. It simply states the action without context or exclusions.

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

lookup_by_barcodeB

Produkt per UPC/EAN-Barcode nachschlagen (UPCitemdb, kostenlos).

ParametersJSON Schema
NameRequiredDescriptionDefault
upc_codeYesUPC oder EAN Barcode (z.B. '4006381333931' fuer Nivea Creme)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 full burden. However, it only mentions the source and free nature, failing to disclose behavioral traits like rate limits, data freshness, authentication requirements, or whether the operation is read-only. The description is insufficient for full transparency.

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 sentence, which is concise and front-loaded with the purpose. However, it is very brief and could benefit from slight expansion for clarity, but it earns its place without 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?

Given the tool has one parameter and an output schema, the description is minimally sufficient for a straightforward lookup. However, it lacks usage guidelines and behavioral transparency, making it less complete for agents that need to decide when to invoke it. The presence of an output schema reduces the need to describe return values.

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% with the single parameter described. The description adds an example barcode ('4006381333931' for Nivea cream), which provides concrete formatting expectations and context beyond the schema. This enhances parameter semantics.

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 looks up a product by UPC/EAN barcode, specifying the source (UPCitemdb) and that it's free. This is a specific verb-resource combination, and it distinguishes itself from siblings like get_product_details or search_products, which likely use different identifiers or query methods.

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 does not provide any guidance on when to use this tool versus alternatives. It only states what it does, leaving agents to infer usage context. No exclusions or sibling tool references are given.

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

manage_cartB

Einkaufswagen verwalten (hinzufuegen, entfernen, anzeigen, leeren).

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes'add', 'remove', 'view', oder 'clear'
product_idNoProdukt-ID (fuer add/remove)
quantityNoMenge (fuer add, Standard: 1)
product_titleNoProduktname (fuer add, optional)
priceNoPreis pro Stueck (fuer add, optional)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as side effects (e.g., state modification), persistence, or authentication requirements. The minimal description fails to compensate for the lack of annotations.

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 (one line) and front-loaded with the primary purpose. However, it could benefit from slight restructuring (e.g., separating actions) but remains efficient.

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 5 parameters and an output schema, the description is incomplete. It does not explain return values, error states, or provide examples. With no annotations, more contextual detail is needed.

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 explains each parameter. The description adds the overall purpose but no additional semantic detail beyond what the schema provides.

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 manages a shopping cart and lists the four possible actions (add, remove, view, empty), distinguishing it from sibling tools like manage_wishlist or search_products.

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 is provided on when to use this tool versus alternatives (e.g., manage_wishlist for wishlist operations). The description simply lists actions without context or exclusions.

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

manage_wishlistC

Wunschliste verwalten (hinzufuegen, entfernen, anzeigen).

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes'add', 'remove', oder 'view'
product_idNoProdukt-ID (fuer add/remove)
product_titleNoProduktname (fuer add)
priceNoPreis (fuer add, optional)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must carry behavioral information. It lists the actions (add, remove, view) but does not mention any side effects, permission requirements, or constraints (e.g., whether the wishlist is user-specific). The basic actions are disclosed, but depth is lacking.

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 sentence, efficiently front-loaded with the purpose. However, structuring it with bullet points or separate sentences for each action could improve readability for an agent.

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?

The description does not explain what the tool returns (despite an output schema existing) or how it integrates with other tools like 'manage_cart'. Given the complexity (4 parameters, multiple actions), more context is needed for complete understanding.

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 baseline is 3. The description adds no meaning beyond the schema; it merely echoes the parameter categories. No additional context or usage 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?

The description clearly states the verb 'verwalten' (manage) and the resource 'Wunschliste' (wishlist), with the specific actions in parentheses. However, it does not differentiate this tool from the sibling tool 'manage_cart', which also manages a list.

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 is provided on when to use this tool versus alternatives like 'manage_cart' or 'search_products'. The description lacks context on prerequisites, typical use cases, or 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.

search_productsC

Produkte nach Suchbegriff durchsuchen.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSuchbegriff (z.B. 'laptop', 'shoes', 'phone')
limitNoMaximale Anzahl Ergebnisse (Standard: 10, Max: 30)

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/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 burden. The description only states the basic function, omitting details like result ordering, pagination, or behavior on empty queries. The output schema exists but is not used to supplement behavioral info.

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 sentence, concise and front-loaded. It contains no unnecessary fluff, though it could benefit from a brief addition of usage context.

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 tool is simple with only two parameters and an output schema. The description is adequate but minimal. Given the sibling tools, more context (e.g., search type or scope) 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 coverage is 100%, so baseline is 3. The description adds no additional parameter information beyond what the input schema already provides (query and limit with descriptions).

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 'search products by search term' clearly states the action and resource. However, it does not differentiate from sibling tools like 'get_products_by_category' or 'lookup_by_barcode', which also involve product retrieval but with different intent.

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. There is no mention of suitable contexts, exclusions, or criteria for choosing this over sibling tools.

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

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clear, distinct purpose: product details, category browsing, barcode lookup, cart and wishlist management, search, and a combined summary. No two tools perform the same function.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., get_product_details, manage_cart) using underscores. Verbs are descriptive and nouns are specific, with no mixing of conventions.

Tool Count5/5

8 tools is well-scoped for an e-commerce assistant. It covers product discovery, cart and wishlist operations, and a summary without being overwhelming or too sparse.

Completeness4/5

Core functions (browse, search, cart, wishlist, summary) are covered. Missing checkout or order management, but the tool set seems intentionally focused on pre-purchase activities, so only minor gaps.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

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

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/AiAgentKarl/ecommerce-mcp-server'

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