Labsco
MCP SERVER

MCP Walmart Ads

by alyiox

Reach any Walmart Connect Sponsored Search or Display endpoint from an agent, with RSA-SHA256 request signing handled for you.

Marketing Automation & Advertising
Summary
Discovery beats a tool per endpoint.

Walmart Connect has hundreds of uniformly JSON:API endpoints; wrapping each one would mean a release every time Walmart ships something. Here the agent reads the spec at call time, and raw `method` plus `path` reaches endpoints the spec has not caught up with. Signing is the part you never think about — every request is RSA-SHA256 signed with the headers built for you. Truncated responses are not lost either: the full body stays retrievable through the response resource.

What it is

A Python server built around discovery rather than one tool per endpoint. The agent lists and describes operations from bundled OpenAPI specs, then calls them through a generic proxy — so a new API endpoint does not need a new release.

What you get
  • Operations listed from the bundled spec for `search` or `display`, filterable by query, tag or HTTP method — `list_endpoints`
  • One operation returned with the `components.schemas` reachable from it, so a request body can be built without loading the whole spec — `describe_endpoint`
  • Any endpoint executed by operation id, or by raw `method` plus `path`, which also reaches alpha and beta endpoints missing from the bundled specs — `call_endpoint`
  • Specs re-fetched at runtime into a user cache that takes precedence over the bundled copy — `refresh_specs`
  • Authenticated download of a display snapshot report or entity file — `download_display_snapshot`
  • Three resources alongside them: `wmc://config` for your configured regions and environments, `wmc://responses/{request_id}` for the full body of a truncated response, and `wmc://curl/{request_id}` for a reproducible cURL of an earlier request
Requirements

Python 3.13+ and Walmart Connect Partner Network credentials: a consumer ID, an RSA key pair and a bearer token. Configuration lives at `~/.config/mcp-walmart-ads/config.json` with a block per region and environment, and the RSA private key PEM under `~/.config/mcp-walmart-ads/keys/`. `response_cache_ttl` defaults to `3600` and `truncate_threshold` to `1024`. Run with `uvx mcp-walmart-ads`. For non-US markets pass `tenant` per call — `WMT_CA` for Canada, `WMT_MX`, `WBD_OD` or `WMT_BD` for Mexico — and omit it for US.

Setup effort

One command plus a key — uvx mcp-walmart-ads, then supply credentials