Walmart
БесплатноНе проверенA MCP server for Walmart Marketplace and Affiliate APIs, enabling sellers to manage items, inventory, prices, and orders, and consumers to search, lookup produc
Описание
A MCP server for Walmart Marketplace and Affiliate APIs, enabling sellers to manage items, inventory, prices, and orders, and consumers to search, lookup products, reviews, and store locations.
README
A TypeScript Walmart API client, delivered as an MCP server (stdio) with a reusable SDK underneath. It wraps two Walmart APIs behind one client:
- Marketplace (seller) — manage your Walmart Marketplace catalog: items, inventory, prices, and orders. OAuth 2.0.
- Affiliate / Catalog (consumer) — search the public Walmart catalog: product search, lookup, taxonomy, trending, reviews, and store locator. Read-only, RSA-signature auth.
Configure either or both surfaces. Tools register only for the surfaces you've configured.
Why this one
- Importable SDK, not just a server.
client/+api/are a standalone, fully unit-tested Walmart SDK with zero MCP knowledge —import { WalmartSdk }and use it in any Node project. The MCP server is a thin wrapper. - Minimal footprint. Two runtime deps total (
@modelcontextprotocol/sdk+zod). RSA signing and correlation UUIDs use Node's built-incrypto;.envis loaded via--env-file, nodotenv/node-rsa/uuid. - Two auth schemes done right. Marketplace's OAuth token is cached and auto-refreshed on
401; the Affiliate signature is regenerated (with a fresh timestamp) on every request. - Curated outputs. Search/list tools return compact, schema-validated
structuredContentinstead of raw, deeply-nested Walmart payloads, so agents don't shell out to parse JSON.
Which surface do I want?
| You are… | Use | Credentials from | Auth |
|---|---|---|---|
| A Walmart seller managing your listings/orders | Marketplace | developer.walmart.com → API Key Management | OAuth 2.0 (Client ID + Secret) |
| An affiliate / app reading the public catalog | Affiliate | walmart.io (program approval required) | RSA signature (Consumer ID + private key) |
Setup
1. Install & build
npm install
npm run build
2. Configure credentials
cp .env.example .env # then fill in whichever surface(s) you use
# Marketplace (seller)
WALMART_CLIENT_ID=...
WALMART_CLIENT_SECRET=...
# Affiliate / Catalog (consumer)
WALMART_CONSUMER_ID=...
WALMART_PRIVATE_KEY=... # single-line Base64 PKCS#8 from the portal (or a full PEM)
WALMART_KEY_VERSION=1
The server reads credentials from its environment; it does not auto-load
.env. Your MCP client supplies them via the configenvblock (step 4). For the CLI and standalone runs, Node's--env-file=.envloads them (thenpm run check/npm startscripts do this).
Notes:
- Private key handling.
WALMART_PRIVATE_KEYaccepts the single-line Base64 key the Walmart.io portal issues, or a full-----BEGIN PRIVATE KEY-----PEM. It's never logged. The matching public key is uploaded to the portal;WALMART_KEY_VERSIONis shown next to it. - Marketplace tokens are short-lived (~15 min) and cached in your OS data dir
(
$XDG_DATA_HOME/walmart-mcpon Unix,%APPDATA%\walmart-mcpon Windows; files chmod0600), then auto-refreshed on use.
3. Validate (optional but recommended)
npm run check
Mints a Marketplace token (proves CLIENT_ID/SECRET) and signs a live Affiliate request (proves CONSUMER_ID + private key), skipping whichever surface you didn't configure. Expected output:
Marketplace validating OAuth client credentials… OK
Affiliate signing a taxonomy request… OK
✅ Configured surfaces validated. The MCP server reuses these same credentials.
4. Register with your MCP client
{
"mcpServers": {
"walmart": {
"command": "node",
"args": ["/absolute/path/to/walmart-mcp/dist/mcp/server.js"],
"env": {
"WALMART_CLIENT_ID": "...",
"WALMART_CLIENT_SECRET": "...",
"WALMART_CONSUMER_ID": "...",
"WALMART_PRIVATE_KEY": "...",
"WALMART_KEY_VERSION": "1"
}
}
}
}
5. Run
Your MCP client launches node dist/mcp/server.js, injects the env vars, and the server
registers the tools for each configured surface. (To run standalone for testing: npm start.)
Tools
Affiliate / Catalog (read-only)
| Tool | Purpose |
|---|---|
affiliate_search |
Full-text catalog search (compact results) |
affiliate_product_lookup |
Look up products by item id(s), UPC, or GTIN |
affiliate_taxonomy |
The catalog category tree |
affiliate_trending |
Currently trending products |
affiliate_reviews |
Customer reviews for a product |
affiliate_stores |
Walmart stores near a lat/long, city, or ZIP |
Marketplace (seller)
| Tool | Auth | Purpose |
|---|---|---|
mp_get_items |
OAuth | List your catalog (compact, cursor-paginated) |
mp_get_item |
OAuth | One catalog item by SKU |
mp_get_inventory |
OAuth | A SKU's on-hand inventory |
mp_update_inventory |
OAuth | Write: set a SKU's available quantity |
mp_update_price |
OAuth | Write: update a SKU's price |
mp_get_orders |
OAuth | List orders by date/status (compact, cursor-paginated) |
mp_get_order |
OAuth | One order by purchaseOrderId |
mp_acknowledge_order |
OAuth | Write: acknowledge an order (required before shipping) |
Search/list tools return compact, structured results (structuredContent validated by an
output schema) — just the fields the workflow needs — rather than the raw, deeply-nested Walmart
payload.
Troubleshooting
| Symptom | Cause / fix |
|---|---|
| Server logs "No Walmart credentials found" | Neither surface configured. Fill the config env block (MCP) or .env (standalone). |
| A tool returns "… credentials are not configured" | That surface's env vars are missing; the other surface still works. |
401 / token errors on Marketplace |
Client ID/Secret wrong or revoked. Re-check with npm run check. The client already refreshes a normal expiry automatically. |
401 / signature errors on Affiliate |
Wrong Consumer ID, key version, or private key; or large clock skew (timestamp TTL ≈ 180s). Verify with npm run check. |
| "Could not parse the affiliate private key" | WALMART_PRIVATE_KEY isn't the Base64 PKCS#8 portal key or a valid PEM. |
| MCP server won't start / behaves like old code | dist/ is missing or stale — the MCP launch runs the built file and does not auto-build. Run npm run build. |
--env-file=.env errors with ENOENT |
.env doesn't exist. cp .env.example .env and fill it in. |
Development
npm test # vitest (fetch mocked, throwaway RSA keypair) — no credentials needed
npm run typecheck
npm run build # also runs on install (prepare) and before start/check
Architecture
src/
client/ WalmartClient, marketplaceAuth (OAuth), affiliateAuth + signature (RSA),
tokenStore, correlation, errors
api/ marketplace/{items,inventory,prices,orders}, affiliate/catalog (zero MCP knowledge)
types/ request/response shapes
mcp/ server.ts (stdio) + config.ts + tools.ts + format.ts
sdk.ts WalmartSdk facade
The client/ + api/ layers are a standalone SDK, fully unit-tested with fetch mocked;
mcp/ is a thin wrapper. Import the SDK directly via the package root (WalmartSdk).
Установка Walmart
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/luke-nielsen/walmart-mcpFAQ
Walmart MCP бесплатный?
Да, Walmart MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Walmart?
Нет, Walmart работает без API-ключей и переменных окружения.
Walmart — hosted или self-hosted?
Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.
Как установить Walmart в Claude Desktop, Claude Code или Cursor?
Открой Walmart на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Walmart with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
