ShopSavvy Data API MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ShopSavvy Data API MCP ServerFind product details for barcode 4905524937116"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 retailersproduct_offers_retailer- Get offers from a specific retailerproduct_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 schedulescheduled_products_list- View all scheduled products
📊 Analytics Tools
api_usage- View current API usage
Installation
npm install @shopsavvy/mcp-serverConfiguration
1. Get API Key
First, get your ShopSavvy Data API key:
Sign up and create an API key in your dashboard
Copy your API key (starts with
ss_live_orss_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_hereUsage Examples
Product Lookup
Look up the product with barcode 012345678901Current Pricing
Get current prices for ASIN B08N5WRWNW from all retailersPrice History
Get price history for product 012345678901 from January 1-15, 2024Schedule Monitoring
Schedule daily price monitoring for products: 012345678901, B08N5WRWNWDevelopment
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 inspectBuilding
npm run buildError Handling
The server provides detailed error messages for:
Invalid API keys
Insufficient credits
Rate limiting
Invalid product identifiers
API service issues
Support
Documentation: https://shopsavvy.com/data/documentation
Dashboard: https://shopsavvy.com/data/dashboard
Issues: https://github.com/shopsavvy/shopsavvy-mcp-server/issues
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-serverunder ShopSavvy organizationTypeScript: 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 toolsapi_usageA
View current API usage statistics
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | Product identifier (barcode/UPC/EAN, ASIN, product URL, model number, or ShopSavvy ID) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| identifiers | Yes | Comma-separated list of product identifiers (barcodes, ASINs, URLs, etc.) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | Product identifier (barcode, ASIN, URL, model number, or ShopSavvy ID) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| retailer | Yes | Retailer domain name (e.g., 'amazon.com', 'bestbuy.com', 'target.com') | |
| identifier | Yes | Product identifier (barcode, ASIN, URL, model number, or ShopSavvy ID) |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| end_date | Yes | End date in YYYY-MM-DD format (e.g., '2024-01-31') | |
| retailer | No | Optional: specific retailer domain name to filter results | |
| identifier | Yes | Product identifier (barcode, ASIN, URL, model number, or ShopSavvy ID) | |
| start_date | Yes | Start date in YYYY-MM-DD format (e.g., '2024-01-01') |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| retailer | No | Optional: specific retailer domain to monitor | |
| schedule | Yes | Monitoring frequency | |
| identifiers | Yes | Comma-separated list of product identifiers |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| identifiers | Yes | Comma-separated list of product identifiers to unschedule |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
v1.0.4- First observed
api_usage - First observed
product_lookup - First observed
product_lookup_batch - First observed
product_offers - First observed
product_offers_retailer - First observed
product_price_history - First observed
product_schedule - First observed
product_unschedule - First observed
scheduled_products_list
TDQS
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.
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.
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.
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
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
Real-time Amazon prices, product search, 90-day history, AI forecasts, and price drop alerts.
AI-powered product search, affiliate links, and price negotiation for e-commerce platforms
Product search for AI agents: Amazon + Shopify, cart-to-checkout buy path. Pay-per-call, no API key.
AI-agent product catalog: search, lookup & purchase routing over verified merchant data.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables 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.51MIT
- FlicenseAqualityDmaintenanceEnables 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.84-
- AlicenseAqualityFmaintenanceEnables AI agents to search products, lookup barcodes, and manage shopping carts and wishlists using free e-commerce APIs.8MIT
- AlicenseAqualityDmaintenanceEnables 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.686MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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