walmart-mcp
MCP server for Walmart: keyword and category search, product pages with the buy box and other sellers, and the review feed with its filter block. 1,000 free credits every month.
Install / Use
claude mcp add HasData -- npx -y github:HasData/walmart-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
AI & Machine LearningSupported Platforms
Our assessment of walmart-mcp
walmart-mcp scores 84/100 on our quality scale, 600th of 937 AI & Machine Learning skills we index.
Its MCP Server is 25 KB long, well organised into 28 sections with 11 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 4 days ago, so walmart-mcp is actively maintained.
- Our last check on 2026-10-18 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
walmart-mcp compared with similar skills
All 4 of these similar skills score higher than walmart-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| walmart-mcp (this skill)by HasData | 84 | 10 | 4d ago | MCP Server |
| claude-memby thedotmack | 100 | 110.6k | today | CLAUDE.md |
| Agent-Reachby Panniantong | 100 | 108.0k | 1d ago | CLAUDE.md |
| Understand-Anythingby Egonex-AI | 100 | 89.9k | 7d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.7k | today | CLAUDE.md |
Frequently asked questions
- How do I install walmart-mcp?
- Run
claude mcp add HasData -- npx -y github:HasData/walmart-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does walmart-mcp work with?
- It is written for Claude Code, Claude Desktop, Cursor and Windsurf, as a MCP Server file. Other agents that read the same format can often use it too.
- Is walmart-mcp safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is walmart-mcp still maintained?
- The repository was last updated 4 days ago, so walmart-mcp is actively maintained.
Skill content
View source on GitHubWalmart MCP Server
<!-- mcp-name: com.hasdata/walmart -->A hosted Model Context Protocol (MCP) server that gives Claude, Cursor, Windsurf and any other MCP client three read-only Walmart tools. Run a keyword or category search, read one item with the seller holding the buy box, and page through its customer reviews, all as structured JSON, with no Walmart developer account and nothing to host.
It reads public Walmart pages that a signed-out visitor can see, on walmart.com and walmart.ca.
1,000 free credits every month, no card required, which is 100 Walmart calls at the 10-credit rate.
https://mcp.hasdata.com/mcp?apis=walmart
Contents
- What you need
- Quick start
- Example prompts
- Tools
- Errors and failure paths
- Pricing, free tier and limits
- Tool selection
- How it compares
- FAQ
- HasData links
- Development
- Contributing
- License
What you need
An MCP client and a HasData API key from the dashboard, free to create with no card, and the free tier covers about 100 calls a month at the 10-credit rate. This is a remote server, so the simplest path is a URL and an x-api-key header, with no container to run. A client that only speaks stdio reaches it through a thin launcher, published as @hasdata/walmart-mcp on npm and hasdata-walmart-mcp on PyPI, shown below.
Quick start
The server URL is the same for every client. We run it hands-on in Claude Code and Claude Desktop. The other blocks follow each client's own documented format for a remote server.
| Field | Value |
| :--- | :--- |
| URL | https://mcp.hasdata.com/mcp?apis=walmart |
| Transport | HTTP, streamable |
| Auth header | x-api-key: HASDATA_API_KEY |
Clients with OAuth support can add the same URL as a connector and sign in without putting a key in a config file.
<details> <summary><b>Claude Code</b></summary>claude mcp add --transport http walmart "https://mcp.hasdata.com/mcp?apis=walmart" \
--header "x-api-key: HASDATA_API_KEY"
</details>
<details>
<summary><b>Claude Desktop</b></summary>
Settings, then Connectors, then Add custom connector, then paste https://mcp.hasdata.com/mcp?apis=walmart and sign in.
For the config-file route, Claude Desktop loads only local (stdio) servers, so it reaches a remote server through a stdio launcher. The @hasdata/walmart-mcp package is that launcher, and it reads the key from the environment. Add this to claude_desktop_config.json:
{
"mcpServers": {
"walmart": {
"command": "npx",
"args": ["-y", "@hasdata/walmart-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
For Python instead of Node, swap the launcher for the PyPI package, which uvx runs without a manual install:
{
"mcpServers": {
"walmart": {
"command": "uvx",
"args": ["hasdata-walmart-mcp"],
"env": { "HASDATA_API_KEY": "YOUR_KEY" }
}
}
}
</details>
<details>
<summary><b>Cursor</b></summary>
~/.cursor/mcp.json for every project, or .cursor/mcp.json for one:
{
"mcpServers": {
"walmart": {
"url": "https://mcp.hasdata.com/mcp?apis=walmart",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
</details>
<details>
<summary><b>Windsurf</b></summary>
~/.codeium/windsurf/mcp_config.json. Windsurf calls the field serverUrl, not url:
{
"mcpServers": {
"walmart": {
"serverUrl": "https://mcp.hasdata.com/mcp?apis=walmart",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
</details>
<details>
<summary><b>VS Code</b></summary>
.vscode/mcp.json in the workspace:
{
"servers": {
"walmart": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=walmart",
"headers": { "x-api-key": "HASDATA_API_KEY" }
}
}
}
</details>
Example prompts
Each of these lands on one tool, or on two in sequence when the second needs the item id the first returns.
- Find laptop stands under $30 on Walmart and sort them by price.
- What does item 18493462688 cost right now, and who holds the buy box?
- Show me every other seller offering this item and what they charge with shipping.
- Read the reviews of this item that mention battery life.
- Pull only the verified-purchase reviews of this item and summarise the complaints.
- Compare the price of this item on walmart.com and walmart.ca.
A prompt that names a product rather than an item id takes two calls, one search to resolve the id and one product lookup to read it. Reviews work the same way, and the search result carries the id both need.
Tools
| Tool | What it returns |
| --- | --- |
| hasdata_walmart_product_getWalmartProduct | Title, brand, model, UPC, condition, availability, price with strikethrough before-price and unit price, the seller holding the buy box with its rating and return…. 10 credits a call |
| hasdata_walmart_reviews_getWalmartReviews | Each review with its rating, title, full text with paragraphs preserved, submission date, author, verified-purchase flag, helpful and not-helpful vote counts, badges,…. 10 credits a call |
| hasdata_walmart_search_getSearchResults | The product list with item id, title, product URL, brand, price and strikethrough before-price, star rating, review count, seller, availability, sponsored flag, badges,…. 10 credits a call |
Three tools, 10 credits per successful call. Each takes domain, either walmart.com or walmart.ca, and language, where walmart.com serves en and es while walmart.ca serves en and fr. A language the storefront does not offer falls back to its default.
Item ids are storefront-scoped. On walmart.com they are numeric, such as 18493462688, and on walmart.ca alphanumeric, such as 6NZMJ5CW6MH2. An id from one storefront does not resolve on the other.
Get Walmart search results
hasdata_walmart_search_getSearchResults
A page of search results for a keyword, a category, or both.
| Parameter | Type | Required | Notes |
| :--- | :--- | :--- | :--- |
| q | string | see below | The search term |
| catId | string | see below | Category id from a category URL, such as 976759_1086446_1229651 |
| url | string | | A full Walmart search or category URL, scraped as is. Overrides the parameters above |
| domain | string | | walmart.com or walmart.ca |
| language | string | | en, es or fr, subject to the storefront |
| sort | string | | bestMatch, priceLowToHigh, priceHighToLow, bestseller, highlyRated or newArrivals |
| page | number | | Result page, starting at 1 |
| minPrice / maxPrice | number | | Price band in the storefront currency |
| deliveryType | string | | shipping or pickup |
| facet | string | | One filter in name:value form, such as brand:Great Value |
Send q to search, catId to browse a whole category, or both to search inside one. Neither appears in the schema's required array because either one satisfies the call on its own.
Returns searchInformation, a productResults array, a facets block and pagination. Each result carries position, id, title, url, brand, isSponsored, badges, walmartPlusSavings, categoryPathId, a price object, reviews with rating and totalReviews, image, seller, availability and fulfillment.
The facets block is the map of every filter the query supports, and each value carries the exact string to send back in facet. Running one unfiltered search to read the facets is cheaper than guessing.
{
"position": 1,
"id": "18493462688",
"title": "Incipio Portable Foldable Aluminum Laptop Stand and Riser with Adjustable Angles, Anti-Slip and Ventilated Design",
"url": "https://www.walmart.com/ip/Portable-Laptop-Stand-Black/18493462688",
"isSponsored": true,
"badges": ["Overall pick"],
"walmartPlusSavings": true,
"categoryPathId": "4125_4134_1074326_9623037_7875081",
"price": { "currentPrice": 9.96, "currentPriceDisplay": "$9.96" },
"reviews": { "rating": 4.5, "totalReviews": 49 }
}
Get Walmart product details
hasdata_walmart_product_getWalmartProduct
One item in full.
| Parameter | Type | Required | Notes |
| :--- | :--- | :--- | :--- |
| itemId | string | see below | The Walmart item id |
| url | string | see below | A full product URL, scraped as is. Overrides itemId and sets the storefront |
| domain | string | | walmart.com or walmart.ca, ignored when url is given |
| language | string | | en, es or fr, subject to the storefront |
| otherOffers | boolean | | Also collect competing offers. Costs 5 credits on top, 15 instead of 10 |
Pass itemId or url. As with search, neither is listed as required because either one works alone.
Returns a product object with itemId, title, url, brand, brandUrl, type, model, upc, condition, badges, availability, a price object, the seller holding the buy box, reviews, images, categoryPath, categoryPathId, highlights, specifications, keyItemFeatures, productDetails and fulfillment.
The base call already reports how many competitors the page advertises and the cheapest competing price. Turn on otherOffers only when you need the offers themselves, because it takes a second request to Walmart and costs half again as much.
{
"itemId": "18493462688",
"brand": "Incipio",
"condition": "New",
"price": { "currentPrice": 9.96, "currentPriceDisplay": "$9.96", "currency": "USD" },
"seller": {
"name": "Walmart.com",
"id": "F55CDC31AB754BB68FE0B39041159D63",
"returnPolicy": "Free 30-day returns"
},
"reviews": {
"totalReviews": 49,
"rating": 4.5,
"fiveStars": 38,
"fourStars": 4,
"threeStars": 3,
"twoStars": 1,
"oneStar": 3
},
"specifications": [{ "name": "Maximum screen size", "value": "16 in" }],
"fulfillment": {
"type": "FC",
"message": "Pickup, today at Fredericksburg Massaponax Supercenter",
"deliveryDate": "2026-09-09T21:59:00.000Z"
}
}
Get Walmart product reviews
hasdata_walmart_reviews_getWalmartReviews
The review feed of one item, ten reviews a page.
| Parameter | Type | Required | Notes |
| :--- | :--- | :--- | :--- |
| itemId | string | see below | The Walmart item id |
| url | string | see below | A full produc
Truncated for display — read the full file on GitHub.
Related Skills
claude-mem
110.6kPersistent Context Across Sessions for Every Agent – Captures everything your agent does during sessions, compresses it with AI, and injects relevant context back into future sessions. Works with Claude Code, OpenClaw, Codex, Gemini, Hermes, Copilot, OpenCode + More
Agent-Reach
108.0kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
Understand-Anything
89.9kGraphs that teach > graphs that impress. Turn any code into an interactive knowledge graph you can explore, search, and ask questions about. Works with Claude Code, Codex, Cursor, Copilot, Gemini CLI, and more.
headroom
78.7kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
