Walmart MCP Server
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
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.
- Prompts and resources
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.
Claude Code
Claude Desktop
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:
For Python instead of Node, swap the launcher for the PyPI package, which uvx runs without a manual install:
Cursor
~/.cursor/mcp.json for every project, or .cursor/mcp.json for one:
Windsurf
~/.codeium/windsurf/mcp_config.json. Windsurf calls the field serverUrl, not url:
VS Code
.vscode/mcp.json in the workspace:
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.