Skip to main content
Glama
shopsavvy

ShopSavvy Data API MCP Server

Official
by shopsavvy

ShopSavvy Data API MCP Server

A Model Context Protocol (MCP) server that provides AI assistants with access to ShopSavvy's comprehensive product data, pricing information, and historical price tracking.

Overview

This MCP server enables AI assistants to:

  • Look up products by barcode, ASIN, URL, model number, or ShopSavvy ID

  • Get current pricing from multiple retailers

  • Access historical pricing data with date ranges

  • Schedule products for automatic price monitoring

  • Track API usage

Related MCP server: PriceAtlas MCP Server

Features

🔍 Product Lookup Tools

  • product_lookup - Find products by various identifiers (barcode, ASIN, URL, etc.)

  • product_lookup_batch - Look up multiple products at once

💰 Offer Tools

  • product_offers - Get current offers from all retailers

  • product_offers_retailer - Get offers from a specific retailer

  • product_price_history - Get historical pricing data with date ranges

📅 Scheduling Tools

  • product_schedule - Schedule products for automatic refresh (hourly/daily/weekly)

  • product_unschedule - Remove products from refresh schedule

  • scheduled_products_list - View all scheduled products

📊 Analytics Tools

  • api_usage - View current API usage

Installation

npm install @shopsavvy/mcp-server

Configuration

1. Get API Key

First, get your ShopSavvy Data API key:

  1. Visit https://shopsavvy.com/data

  2. Sign up and create an API key in your dashboard

  3. Copy your API key (starts with ss_live_ or ss_test_)

2. Claude Desktop Setup

Add this to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\\Claude\\claude_desktop_config.json

{
  "mcpServers": {
    "shopsavvy": {
      "command": "npx",
      "args": [
        "@shopsavvy/mcp-server"
      ],
      "env": {
        "SHOPSAVVY_API_KEY": "your_api_key_here"
      }
    }
  }
}

3. Environment Variables

Set your API key as an environment variable:

export SHOPSAVVY_API_KEY="ss_live_your_key_here"

Or create a .env file:

SHOPSAVVY_API_KEY=ss_live_your_key_here

Usage Examples

Product Lookup

Look up the product with barcode 012345678901

Current Pricing

Get current prices for ASIN B08N5WRWNW from all retailers

Price History

Get price history for product 012345678901 from January 1-15, 2024

Schedule Monitoring

Schedule daily price monitoring for products: 012345678901, B08N5WRWNW

Development

Running Locally

# Clone the repository
git clone https://github.com/shopsavvy/shopsavvy-mcp-server
cd shopsavvy-mcp-server

# Install dependencies
npm install

# Set your API key
export SHOPSAVVY_API_KEY="your_key_here"

# Test with MCP CLI
npm run dev

# Or inspect with MCP Inspector
npm run inspect

Building

npm run build

Error Handling

The server provides detailed error messages for:

  • Invalid API keys

  • Insufficient credits

  • Rate limiting

  • Invalid product identifiers

  • API service issues

Support

Changelog

v1.0.0 (2025-07-28)

🎉 Initial Release

  • Features: Complete ShopSavvy Data API integration with MCP support

  • Product Tools: Lookup by barcode, ASIN, URL, model number, or ShopSavvy ID

  • Pricing Tools: Current offers from all/specific retailers, historical pricing data

  • Scheduling Tools: Automatic product monitoring (hourly/daily/weekly)

  • Analytics Tools: API usage monitoring

  • npm Package: Published as @shopsavvy/mcp-server under ShopSavvy organization

  • TypeScript: Full TypeScript support with proper error handling

  • Documentation: Comprehensive README with examples and configuration guides

License

MIT License - see LICENSE file for details.


Made with ❤️ by ShopSavvy - Empowering everyone to always get the best deal, every time.

Available Tools

9 tools
api_usageA

View current API usage statistics

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description must carry the behavioral burden. The word 'View' clearly indicates a read-only operation, which is useful. However, it does not describe what statistics are included, how they are aggregated, or the response shape, so behavioral disclosure is minimal beyond indicating safety.

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, front-loaded sentence with no filler, redundancy, or irrelevant caveats. It earns its place and is appropriately sized for a zero-parameter tool.

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 parameterless read-only tool, the description is largely complete enough for selection and invocation. However, there is no output schema and no detail about what 'usage statistics' includes (e.g., call counts, quotas, time window), leaving moderate ambiguity about the expected return value.

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 zero parameters and an empty input schema, so the description cannot add parameter-level meaning. Per rubric, 0 params earns a baseline 4 because there is no parameter ambiguity for an agent to resolve.

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 ('View') and a clear resource ('current API usage statistics'), which is distinct from the product-focused sibling tools. An agent can immediately identify this as the monitoring/usage tool without needing to inspect other definitions.

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 phrasing 'current API usage statistics' establishes a clear context: use this when you need current usage information. There are no plausible alternatives among the product-lookup siblings, so explicit exclusionary guidance is not necessary, but it stops short of stating precise when-to-use conditions.

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

product_lookupB

Look up a product by barcode, ASIN, URL, model number, or ShopSavvy product ID

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesProduct identifier (barcode/UPC/EAN, ASIN, product URL, model number, or ShopSavvy ID)

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 of behavioral disclosure. It only restates the operation and identifier types; it does not mention what is returned, how ambiguity is handled, error behavior, or whether this performs a live network lookup.

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, focused sentence with no filler. The core operation and accepted inputs are presented immediately.

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 one-parameter lookup tool, the input side is adequately covered. However, with no output schema and no annotations, the description does not clarify return values, possible failures, or how this tool relates to the batch and offers siblings, leaving moderate 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?

The schema description coverage is 100% and already enumerates the accepted identifier formats. The tool description largely repeats the schema rather than adding new parameter-level meaning, so it meets the baseline but does not exceed it.

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 ('look up a product') and the resource, and enumerates the accepted identifier types. It does not explicitly distinguish itself from product_lookup_batch, though the singular phrasing and tool name imply single-product 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 is given about when to use this tool versus product_lookup_batch, product_offers, or other siblings. The description only states what it does, not when it should be preferred or avoided.

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

product_lookup_batchA

Look up multiple products at once using comma-separated identifiers

ParametersJSON Schema
NameRequiredDescriptionDefault
identifiersYesComma-separated list of product identifiers (barcodes, ASINs, URLs, etc.)

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. 'Look up' implies a read operation, and 'multiple products at once' conveys batching behavior. It does not disclose limits on identifier count, handling of invalid/unknown identifiers, or partial-failure behavior, which would be valuable for a batch 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?

A single, front-loaded sentence that conveys the core operation, scope, and input format without wasted words. It earns its place and is easy to parse 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?

For a simple one-parameter tool, the description plus schema adequately cover how to invoke it. It is slightly incomplete only in not specifying what the batch response contains or any practical batch-size limits, but these are minor gaps given the simplicity of the tool.

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 fully documents the identifiers parameter. The description only restates the comma-separated format without adding meaning beyond the schema, so the 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?

States a specific verb ('Look up') and resource ('multiple products'), with the key batching mechanism ('comma-separated identifiers') included. This clearly distinguishes it from the sibling product_lookup tool, which presumably handles a single product.

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 phrase 'multiple products at once' implies this tool is for batch lookups rather than single-product lookups, and the input format gives a usage hint. However, it never explicitly contrasts it with product_lookup or states when alternatives like product_offers or product_price_history should be used instead.

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

product_offersA

Get current pricing offers for a product from all retailers

ParametersJSON Schema
NameRequiredDescriptionDefault
identifierYesProduct identifier (barcode, ASIN, URL, model number, or ShopSavvy ID)

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. 'Get' implies a read-only operation and 'current' indicates temporal freshness, but the description does not disclose the response shape, pagination, or any retailer-count limits. It is adequate but leaves behavioral details unstated.

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, front-loaded sentence with no filler. Every word contributes to scope or resource, making it an efficient and readable definition.

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 one-required-parameter query tool with no output schema, this description is largely sufficient: it names the action, resource, scope, and temporal freshness. It could be more complete by hinting at the return structure or pagination, but the low complexity keeps this from being a major 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%, and the schema already documents the identifier formats (barcode, ASIN, URL, model number, ShopSavvy ID). The description adds only 'for a product', so it does not meaningfully enrich parameter understanding beyond the schema.

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 resource ('current pricing offers for a product from all retailers'), and 'all retailers' helps distinguish this from sibling product_offers_retailer. It clearly communicates 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 Guidelines4/5

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

The phrase 'from all retailers' provides clear context for when this tool should be used, and implicitly contrasts with retailer-specific siblings. It does not explicitly list exclusions or alternative tools, but the scope is unambiguous.

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

product_offers_retailerB

Get current pricing offers for a product from a specific retailer

ParametersJSON Schema
NameRequiredDescriptionDefault
retailerYesRetailer domain name (e.g., 'amazon.com', 'bestbuy.com', 'target.com')
identifierYesProduct identifier (barcode, ASIN, URL, model number, or ShopSavvy ID)

TDQS

B3.3/5.0
Behavior2/5

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

Since no annotations are provided, the description carries the full disclosure burden, but it only says 'Get current pricing offers.' It does not disclose behavior such as how identifiers are resolved, whether the data is live/cached, possible response omissions, pagination, or error conditions.

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, concise sentence with no redundant filler. The verb, object, and key scope qualifier are front-loaded, making it quick to parse.

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 read operation, the description plus schema covers the basic invocation. However, the absence of annotations, output schema, and any guidance about expected response shape or tool selection leaves some contextual gaps for an agent choosing among 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?

Schema description coverage is 100%, with useful format examples for both retailer and identifier. The description adds little parameter semantics beyond the schema, so 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 states the verb ('Get'), the resource ('current pricing offers'), and a clear scope condition ('for a product from a specific retailer'). This conveys what the tool does and distinguishes it from the general product_offers sibling by emphasizing retailer specificity, though it does not explicitly name the sibling it complements.

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 phrase 'from a specific retailer' implies this tool is appropriate when offers are needed for one known retailer. However, it does not explicitly state when to choose this over product_offers or other siblings, nor does it mention exclusions; the usage context must be inferred.

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

product_price_historyB

Get historical pricing data for a product within a specific date range

ParametersJSON Schema
NameRequiredDescriptionDefault
end_dateYesEnd date in YYYY-MM-DD format (e.g., '2024-01-31')
retailerNoOptional: specific retailer domain name to filter results
identifierYesProduct identifier (barcode, ASIN, URL, model number, or ShopSavvy ID)
start_dateYesStart date in YYYY-MM-DD format (e.g., '2024-01-01')

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 behavioral burden. It implies a read-only operation via 'Get', but does not disclose output format, pagination, possible aggregation of price history, date-range validation, or behavior with unsupported identifiers.

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, compact sentence that directly conveys the tool's core purpose without repetition or filler. Every word contributes to meaning.

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 is adequate for a simple data-retrieval tool, but it lacks additional context such as what the history includes, how to interpret the returned data, or the role of the optional retailer parameter. With no output schema or annotations, a bit more context 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 the schema already documents all parameters and their formats. The description adds no parameter-level meaning beyond the schema, matching the baseline expectation without enhancing it.

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 ('Get'), the resource ('historical pricing data'), and the scope ('within a specific date range'). It is distinct enough from siblings like product_lookup and product_offers, though it does not explicitly name or contrast them.

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 given about when to choose this tool over siblings such as product_lookup or product_offers, nor are any exclusions or prerequisites mentioned. The usage context is only minimally implied by the phrase 'historical pricing data'.

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

product_scheduleB

Schedule products for automatic price monitoring at regular intervals

ParametersJSON Schema
NameRequiredDescriptionDefault
retailerNoOptional: specific retailer domain to monitor
scheduleYesMonitoring frequency
identifiersYesComma-separated list of product identifiers

TDQS

B3.4/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 effects, but it only states the action. It does not explain whether scheduling overwrites an existing schedule, whether duplicate schedules are allowed, what validation occurs, or what happens after a schedule is created. For a state-changing tool, this 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?

One sentence, active voice, and front-loaded with the core action and resource. Every word contributes meaning; there is 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?

The tool has no output schema and no annotations, yet the description does not mention expected result, confirmation behavior, or error handling. While the 100% schema coverage makes parameters invocable, an agent is left without context about what a successful call returns or how existing schedules are affected.

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 input schema already documents identifiers, schedule, and retailer. The description adds no parameter-level details beyond echoing 'regular intervals,' so the 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 uses a specific verb ('Schedule') plus a resource ('products') and a clear purpose ('automatic price monitoring at regular intervals'). This clearly distinguishes it from siblings like product_lookup, product_offers, product_unschedule, and scheduled_products_list.

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 phrase 'at regular intervals' implies the tool is for recurring monitoring rather than one-off lookups, and sibling names hint at complementary tools for listing or removing schedules. However, the description does not explicitly state when to prefer this tool or name alternatives such as product_unschedule or scheduled_products_list.

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

product_unscheduleA

Remove products from the automatic price monitoring schedule

ParametersJSON Schema
NameRequiredDescriptionDefault
identifiersYesComma-separated list of product identifiers to unschedule

TDQS

A3.6/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. It only states the removal action without mentioning idempotency, error behavior for unknown identifiers, or whether unscheduling affects historical data. An agent cannot predict side effects from this description.

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, concise sentence that front-loads the action and target resource. There is no filler, repetition, or unnecessary detail.

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 tool with one straightforward parameter, the description plus schema is sufficient for an agent to construct a valid invocation. It could mention response behavior or idempotency, but the absence is not critical 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 only parameter is already fully documented in the schema as a comma-separated list, and the description adds no new semantic detail beyond what the schema states. With 100% schema coverage, the baseline of 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?

The description uses a specific verb ('Remove') and a clear resource ('products from the automatic price monitoring schedule'). It distinguishes the tool from siblings like product_schedule and scheduled_products_list by stating the inverse operation explicitly.

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 that this tool is used when products should no longer be monitored, but it does not explicitly state when to use it over product_schedule or scheduled_products_list. No exclusion criteria or alternative routing is provided.

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

scheduled_products_listA

View all products currently scheduled for automatic price monitoring

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/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 behavioral burden. The verb 'View' implies a read-only operation, but the description does not confirm side-effect-free behavior, response format, or any caveats.

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, front-loaded sentence that conveys the full scope of the tool without extra words or redundant phrasing.

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 zero-parameter list tool, the description adequately states what the operation covers. It does not describe the return fields or pagination behavior, but the low complexity makes the description sufficient for correct invocation.

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 zero parameters, so there are no parameter semantics for the description to clarify. The baseline of 4 applies, and no further parameter documentation is needed.

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 ('View') and a clear resource ('products currently scheduled for automatic price monitoring'). It naturally distinguishes this list operation from the scheduling and unscheduling sibling tools.

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 phrase 'currently scheduled for automatic price monitoring' provides clear context for when this tool is appropriate. It does not explicitly name alternatives or exclusions, but the intended use is obvious given the sibling tool names.

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. 9 tool updatesv1.0.4
    • First observedapi_usage
    • First observedproduct_lookup
    • First observedproduct_lookup_batch
    • First observedproduct_offers
    • First observedproduct_offers_retailer
    • First observedproduct_price_history
    • First observedproduct_schedule
    • First observedproduct_unschedule
    • First observedscheduled_products_list

TDQS

A3.8/5.0
Disambiguation5/5

Each tool targets a distinct operation: single vs batch lookup, all-retailer vs specific-retailer offers, price history, schedule management, and API usage. The only potential overlap is between product_offers and product_offers_retailer, but their descriptions clearly separate scope.

Naming Consistency4/5

Most tools follow a consistent product_<verb> pattern in snake_case, with a couple of exceptions like scheduled_products_list and api_usage which are noun-phrase style. Overall the naming is predictable and readable, with only minor deviations.

Tool Count5/5

With 9 tools, the set is well-scoped for a product data API covering lookup, offers, history, scheduling, and usage monitoring. Each tool earns its place without redundancy or bloat.

Completeness5/5

The surface covers the full lifecycle of the primary workflow: lookup products, retrieve offers, view price history, and manage scheduled monitoring (create, list, delete). The inclusion of API usage monitoring is a sensible addition, leaving no obvious dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues

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
    A
    quality
    D
    maintenance
    Enables AI assistants to access the Open Food Facts database to query detailed food product information, nutritional data, and environmental scores. Supports product lookup by barcode, smart search with filtering, nutritional analysis, product comparison, and dietary recommendations to help users make informed food choices.
    5
    1
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to track global food prices, search products by barcode or name, and compare costs across 27 countries. It provides tools for real-time price scraping and data aggregation from major international supermarket chains.
    8
    4
    -
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to access Amazon price history, sales rank trends, product details, best-sellers, and deals via the Keepa API for product research and deal hunting.
    6
    86
    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/shopsavvy/shopsavvy-mcp-server'

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