Metadata-Version: 2.5
Name: mcp-samsclub-ads
Version: 0.1.0
Summary: Deprecated: merged into mcp-walmart-ads, which serves the Sam's Club Sponsored Ads APIs
Project-URL: Homepage, https://github.com/alyiox/mcp-walmart-ads
License-File: LICENSE
Requires-Python: >=3.13
Requires-Dist: mcp-walmart-ads>=0.2.0
Description-Content-Type: text/markdown

# mcp-samsclub-ads — merged into mcp-walmart-ads

[![PyPI](https://img.shields.io/pypi/v/mcp-samsclub-ads.svg)](https://pypi.org/project/mcp-samsclub-ads/)
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)

<!-- mcp-name: io.github.alyiox/mcp-samsclub-ads -->

> **Deprecated.** This server has merged into
> **[mcp-walmart-ads](https://github.com/alyiox/mcp-walmart-ads)** (>= 0.2.0),
> which serves the same Sam's Club Sponsored Ads surface alongside Walmart
> Connect Ads and Walmart Marketplace.
>
> `0.1.0` is a placeholder release. It no longer starts a server: the
> `mcp-samsclub-ads` entry point prints the steps below and exits non-zero, so
> a host still configured against it fails visibly instead of silently serving
> a stale surface.

Three near-identical servers cost three copies of every fix, and the Sam's Club
spec is a mirror of Walmart Connect's sponsored-products surface behind
different credentials. One package now fronts all three credential boundaries,
so an operation id alone resolves a platform, a host, and an auth model.

## Migrating

### 1. Point your MCP host at the unified server

```jsonc
{
  "mcpServers": {
    "walmart": { "command": "uvx", "args": ["mcp-walmart-ads"] }
  }
}
```

### 2. Move your config

`~/.config/mcp-samsclub-ads/config.json` becomes a `platforms` entry in
`~/.config/mcp-walmart-ads/config.json`. The region and environment levels are
unchanged — they move down one level, and the `base_urls` key is renamed.

```jsonc
// before
{
  "regions": {
    "US": { "production": { "base_urls": { "sponsored": "https://..." } } }
  }
}

// after
{
  "platforms": {
    "samsclub:ads": {
      "regions": {
        "US": { "production": { "base_urls": { "sponsored-products": "https://..." } } }
      }
    }
  }
}
```

Server-wide keys (`response_cache_ttl`, `truncate_threshold`) stay at the top
level. If you would rather keep this platform in its own file, drop it in
`~/.config/mcp-walmart-ads/config.d/samsclub.json` as
`{"platforms": {"samsclub:ads": {...}}}`.

### 3. Rename the ids you call with

| | old | new |
|---|---|---|
| api | `sponsored/sponsored-ads` | `samsclub:ads:sponsored-products` |
| operation | `AdGroupList` | `samsclub:ads:sponsored-products:AdGroupList` |
| resources | `sca://config` | `wmt://config` |
| | `sca://responses/{id}` | `wmt://responses/{id}` |
| | `sca://curl/{id}` | `wmt://curl/{id}` |

`list_endpoints`, `describe_endpoint`, `call_endpoint`, and `refresh_specs`
keep their names, so anything driving them by tool name needs no change beyond
the ids above. `list_endpoints` gains `api` and `platform` filters — pass
`platform: "samsclub:ads"` to get back exactly what this server used to list,
now that the namespace holds three platforms. `wmt://apis` is new, and lists
`mirrored_by` where Walmart Connect serves the same surface.

## The last working release

`0.1.0a7` is the last release that starts a server. It is yanked but still
installable when pinned exactly, if you need to buy time:

```sh
uvx --from "mcp-samsclub-ads==0.1.0a7" mcp-samsclub-ads
```

It receives no fixes. The Sam's Club spec ships unchanged in
`mcp-walmart-ads`, so there is nothing to gain by staying.

## License

MIT — see [LICENSE](LICENSE).
