Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Walmart search, product pages and customer reviews on walmart.com and walmart.ca, as JSON.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
HASDATA_API_KEY, x-api-keyValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"walmart": {
"command": "npx",
"args": [
"-y",
"@hasdata/walmart-mcp"
],
"env": {
"HASDATA_API_KEY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add --transport http walmart 'https://mcp.hasdata.com/mcp?apis=walmart' --header 'x-api-key: your-value'claude mcp add walmart --env HASDATA_API_KEY=your-value -- npx -y @hasdata/walmart-mcpFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"walmart": {
"url": "https://mcp.hasdata.com/mcp?apis=walmart",
"headers": {
"x-api-key": "your-value"
}
}
}
}Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"walmart": {
"command": "npx",
"args": [
"-y",
"@hasdata/walmart-mcp"
],
"env": {
"HASDATA_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"walmart": {
"type": "http",
"url": "https://mcp.hasdata.com/mcp?apis=walmart",
"headers": {
"x-api-key": "your-value"
}
}
}
}Paste into .vscode/mcp.json in your project
{
"servers": {
"walmart": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@hasdata/walmart-mcp"
],
"env": {
"HASDATA_API_KEY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.
Your choice stays on this device in a cookie; no account needed.
x-api-key secret required HTTP headerThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
We have not read this server’s tool list yet; we check endpoints in rotation.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain hasdata.com (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Not checked yet; we check endpoints in rotation
Not checked yet; we check endpoints in rotation
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: HASDATA_API_KEY, x-api-key
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (1.0.2) reached the registry 43 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A hosted Walmart 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
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.
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 mcp add --transport http walmart "https://mcp.hasdata.com/mcp?apis=walmart" \
--header "x-api-key: HASDATA_API_KEY"
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:
{
"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" } } } }
Cursor
~/.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" } } } }
Windsurf
~/.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" } } } }
VS Code
.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" } } } }
Each of these lands on one tool, or on two in sequence when the second needs the item id the first returns.
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.
| 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.
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 } }
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" } }
hasdata_walmart_reviews_getWalmartReviews
The review feed of one item, ten reviews a page.
| Parameter
Only the beginning is shown; read the rest in the repo