# Paddock Cards (remote · api.paddock.so)

Send birthday cards, Christmas cards and postcards, printed and mailed for you.

- Trust score: 68/100 (medium)
- Change this week: +9
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-04

## Components

- remote · `api.paddock.so`: 68/100 (this document), [markdown](https://verifymcp.io/servers/so-paddock-cards/agent-commerce-mcp.md), [page](https://verifymcp.io/servers/so-paddock-cards/agent-commerce-mcp)

## Channel facts

- Endpoint: `https://api.paddock.so/agent-commerce/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.4`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-04.

- **Endpoint Security**: 11/100
  - TLS not yet verified: we couldn't open a connection to check the certificate.
  - Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS not yet verified: we couldn't read the response headers to check for it.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but we couldn't connect to verify it.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 5 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the Paddock Cards MCP server?

Paddock Cards is a hosted endpoint at https://api.paddock.so/agent-commerce/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http so-paddock-cards 'https://api.paddock.so/agent-commerce/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "so-paddock-cards": {
      "url": "https://api.paddock.so/agent-commerce/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "so-paddock-cards": {
      "type": "http",
      "url": "https://api.paddock.so/agent-commerce/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.so-paddock-cards]
url = "https://api.paddock.so/agent-commerce/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "so-paddock-cards": {
      "type": "remote",
      "url": "https://api.paddock.so/agent-commerce/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add so-paddock-cards --url 'https://api.paddock.so/agent-commerce/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  so-paddock-cards:
    url: "https://api.paddock.so/agent-commerce/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "so-paddock-cards": {
      "Transport": "http",
      "Url": "https://api.paddock.so/agent-commerce/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add so-paddock-cards -t streamable-http -u 'https://api.paddock.so/agent-commerce/mcp'
```

### Other

```json
{
  "mcpServers": {
    "so-paddock-cards": {
      "type": "http",
      "url": "https://api.paddock.so/agent-commerce/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 68, 0)

- [security regression] Endpoint reachability: reachable → unreachable
- [security regression] Stability: 0.23 → unverified
- [security regression] Authorization: fail → unverified
- [security regression] HSTS header: fail → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] TLS certificate: pass → unverified
- [security regression] Transport: pass → fail
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-11-03 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-01 (score 67, +3)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] The server now declares the “prompts” capability
- [functional] The server now declares the “resources” capability
- [functional] First check of Schema quality: 100
- [functional] New prompt “find_card”
- [functional] New prompt “prepare_card_order”
- [functional] New resource “paddock_guide”
- [functional] Server version: 1.3.0 → 1.4.1

### 2026-10-30 (score 64, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 63, +4)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] New tool “delete_private_content”, which the server declares destructive
- [security] New tool “pay_order”, which the server declares destructive
- [security] New tool “revise_order”, which the server declares destructive
- [security] Tool “cancel_order” rewrote its description, which is the text the model reads
- [security] Tool “read_order” rewrote its description, which is the text the model reads
- [security] Tool “report_feedback” rewrote its description, which is the text the model reads
- [security] Tool “prepare_order” rewrote its description, which is the text the model reads
- [security] Tool “search_cards” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 192 → 293
- [functional regression] Schema quality: 192 → 240
- [functional improvement] Tool coverage: 41% → 100%
- [functional] Schema quality: good → excellent
- [functional] Destructive annotations: pass → 100
- [functional] Server version: 1.1.0 → 1.3.0
- [functional] New tool “compose_private_card”
- [functional] New tool “list_orders”
- [functional] New tool “open_private_content”
- [functional] New tool “preview_card”
- [functional] New tool “read_private_content”
- [cosmetic] “search_cards” added an optional parameter “destination_country”
- [cosmetic] “search_cards” added an optional parameter “include_specs”
- [cosmetic] “cancel_order” reworded the description of “card_ids”
- [cosmetic] “cancel_order” reworded the description of “expected_revision”
- [cosmetic] “cancel_order” reworded the description of “order_access_token”
- [cosmetic] “cancel_order” reworded the description of “order_id”
- [cosmetic] “prepare_order” reworded the description of “request_id”
- [cosmetic] “read_order” reworded the description of “order_access_token”
- [cosmetic] “read_order” reworded the description of “order_id”
- [cosmetic] “report_feedback” reworded the description of “category”
- [cosmetic] “report_feedback” reworded the description of “code”
- [cosmetic] “report_feedback” reworded the description of “field”
- [cosmetic] “report_feedback” reworded the description of “kind”
- [cosmetic] “report_feedback” reworded the description of “operation”
- [cosmetic] “report_feedback” reworded the description of “severity”
- [cosmetic] “search_cards” reworded the description of “artist”
- [cosmetic] “search_cards” reworded the description of “cursor”
- [cosmetic] “search_cards” reworded the description of “format”
- [cosmetic] “search_cards” reworded the description of “humor”
- [cosmetic] “search_cards” reworded the description of “kind”
- [cosmetic] “search_cards” reworded the description of “limit”
- [cosmetic] “search_cards” reworded the description of “max_price_cents”
- [cosmetic] “search_cards” reworded the description of “occasion”
- [cosmetic] “search_cards” reworded the description of “query”
- [cosmetic] “prepare_order” reworded the description of “order_access_token”

### 2026-10-28 (score 59, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “search_cards” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 780 → 964
- [functional improvement] Tool coverage: 33% → 41%
- [functional improvement] Stability: unverified → 0.03
- [functional] Server version: 1.0.0 → 1.1.0
- [functional] New tool “report_feedback”
- [cosmetic] “search_cards” reworded the description of “format”
- [cosmetic] “search_cards” reworded the description of “tone”

### 2026-10-27 (score 59)

First indexed and scored.

## MCP tools (13)

### `search_cards` (~584 tokens)

Search cards

Find ordinary and artist cards by artwork, occasion, format or budget. Returns matches with exact design keys and versions, images, orderability, destination prices and next_cursor. Pass destination_country when known; read pricing_destination and cents_by_destination. Basic physical specifications appear once in format_specs; include_specs adds published details. Public browsing needs no account or key. If results is empty, inspect unmet, constraints and pagination before adjusting filters. Pass the selected design key and version to prepare_order.

Input parameters:

- `artist` (string): Published artist name or slug, such as one returned in card.artist. Omit to include all artists and standard cards.
- `cursor` (string): Exact next_cursor from the previous search with the same filters. Omit for the first page; stop when next_cursor is null.
- `destination_country` (string): Recipient country as a two-letter ISO code, such as US or CA. Prices depend on it: US addresses have agent-channel introductory prices and other countries the standard prices. Omit it to see US price…
- `format` (string): Requested card format. Omit to use a format named in query, or flat_card_in_envelope when no format is requested. Other formats remain listed on each result.
- `humor` (string): Humor filter: none, light or playful selects that reviewed level; funny accepts light and playful. Omit or use any for no explicit humor filter; the query can still request humor.
- `include_specs` (boolean): Include available paper, finish and envelope details. Basic format specifications are always returned. A missing detail is unspecified.
- `kind` (string): Catalog collection: standard for Paddock cards, artist for artist cards, or any for both. Omission means any.
- `limit` (integer): Maximum matches in this page, from 1 to 50. Omission returns 3; use next_cursor for more.
- `max_price_cents` (integer): Budget per card for the selected format at the destination’s prices.
- `occasion` (string): Occasion ID or recognized name, such as birthday or thank_you. Omit to use the query or browse all occasions.
- `printed_text_contains` (string): Required phrase in verified artwork lettering, matched without case sensitivity. This does not search the customizable message.
- `query` (string): Natural-language artwork request, such as a birthday card with flowers. Can include an occasion, format, color, subject or exclusions. Omit to browse with the other filters.
- `require_printed_text` (string): Filter verified wording already printed in the artwork. Unknown wording does not match absent or present.
- `tone` (string): Mood such as warm, cheerful, elegant or gentle. For funny cards, use humor instead.

Output parameters:

- `data` (object)
- `ok` (boolean)

### `prepare_order` (~363 tokens)

Prepare an order

Prepare one unpaid purchase of 1 to 500 cards, with mixed artwork, formats, messages, recipients, occasions and dates in one cards array. Each card is priced for its recipient country. Returns order.cards, the exact total, a private order_access_token and review_url for buyer review and payment. When preview_available is true, optional preview_card can show the finished card; images render only when requested. This authorizes neither a charge nor mailing. Preserve the returned token privately for retries and follow-up tools. If the first response is lost before saving a server-generated token, use a new request_id for another unpaid purchase. The 500-card/4-MiB bounds are technical request limits. Validation issues identify zero-based card indices without copying private content.

Input parameters:

- `cards` (array, required): One purchase containing 1–500 explicit card compositions in their supplied order. Mix any supported designs, formats, messages, recipients, occasions and dates. Do not group purchases by occasion. On…
- `order_access_token` (string): For a new catalog purchase, omit so Paddock generates and returns the private token. Private artwork uses the token from open_private_content with request_id = scope_id. Retries require the exact tok…
- `request_id` (string, required): Caller-generated UUID for a new purchase. For private artwork, use scope_id from open_private_content. Retry only with this same ID, unchanged cards and the exact order_access_token; a different purc…

Output parameters:

- `data` (object)
- `ok` (boolean)

### `read_order` (~135 tokens)

Read an order

Read one known private purchase using its order ID and matching capability. Returns the current revision, payment state and order.cards with each card’s production and mailing states. Use it to check progress or refresh a stale revision; it does not change the order.

Input parameters:

- `order_access_token` (string, required): Exact private order_access_token returned by prepare_order or revise_order for this order. Keep it secret; never invent it or put it in a public URL or log.
- `order_id` (string, required): Parent order.id returned by prepare_order, revise_order or read_order. Use the matching order_access_token; a card ID cannot identify the purchase.

Output parameters:

- `data` (object)
- `ok` (boolean)

### `cancel_order` (~235 tokens)

Cancel cards

Cancel an eligible purchase or eligible paid cards at the current order revision. Before payment, omit card_ids for whole-purchase cancellation. After payment, omit them for the whole eligible purchase or select returned card IDs. The service checks ownership and each fulfillment cutoff, then returns the actual cancellation and refund states.

Input parameters:

- `card_ids` (array): Omit to cancel the whole eligible purchase. After payment, select IDs from this order.cards[].id to cancel only those eligible items. Before payment, omit this field. IDs must be distinct and belong…
- `expected_revision` (integer, required): Current parent order.revision from prepare_order, revise_order or read_order. A mismatch fails with CONFLICT; read the order before deciding whether to retry cancellation.
- `order_access_token` (string, required): Exact private order_access_token returned by prepare_order or revise_order for this order. Keep it secret; never invent it or put it in a public URL or log.
- `order_id` (string, required): Parent order.id returned by prepare_order, revise_order or read_order. Use the matching order_access_token; a card ID cannot identify the purchase.

Output parameters:

- `data` (object)
- `ok` (boolean)

### `report_feedback` (~327 tokens)

Report technical feedback

Optionally record a technical problem, suggestion or neutral successful outcome using fixed choices. Use after communicating the outcome to the buyer; never required to buy a card. Reports are stored for 30 days and deduplicated daily. Returns recorded or duplicate; TRY_LATER means the daily limit of 100 new reports per server-assigned scope or 500 overall was reached. Do not include personal content, credentials, links, conversations or hidden reasoning. Reports are unverified feedback, not proof of payment or mailing.

Input parameters:

- `category` (string, required): For problem, choose no_suitable_card, irrelevant_results, unclear_result, preview_unavailable, request_rejected, slow_response, unexpected_error or recovery_failed. For suggestion, choose broader_sel…
- `code` (string): Exact public error code returned by the service, or none when absent. Success requires none. Never include provider error text.
- `field` (string): Affected field name only, or none when absent. Success requires none. Never include the field’s value.
- `kind` (string, required): Report an observed problem, a suggestion or a neutral successful outcome. The category must match this kind.
- `operation` (string, required): Supported step the report concerns. Use checkout for payment and connection for connection setup; select documentation for guide or setup instructions.
- `severity` (string, required): Observed impact: none, minor inconvenience, major impairment or blocked progress. A problem requires minor, major or blocked; success requires none.

Output parameters:

- `data` (object)
- `ok` (boolean)

### `revise_order` (~378 tokens)

Revise an unpaid order

Replace an unpaid draft before payment starts. Send the complete desired cards array, including unchanged cards. Validation and replacement are atomic: failure leaves the original draft intact; success cancels it and returns a new order, price, private token and review_url. Use that replacement for later edits, previews and payment; prior payment approval does not carry over. To add private artwork, first reopen the original draft with open_private_content; existing private artwork can be retained. If payment has started or is uncertain, use read_order and resolve it before changing anything. Retry an uncertain revision only with the identical request. The replacement inherits its source’s history access; revision does not link a previously unlinked order.

Input parameters:

- `cards` (array, required): One purchase containing 1–500 explicit card compositions in their supplied order. Mix any supported designs, formats, messages, recipients, occasions and dates. Do not group purchases by occasion. On…
- `expected_revision` (integer, required): Current parent order.revision from prepare_order, revise_order or read_order. A mismatch fails with CONFLICT; read the order again before deciding whether to retry. Keep the original revision when re…
- `order_access_token` (string, required): Exact private order_access_token returned by prepare_order or revise_order for this order. Keep it secret; never invent it or put it in a public URL or log.
- `order_id` (string, required): Parent order.id returned by prepare_order, revise_order or read_order. Use the matching order_access_token; a card ID cannot identify the purchase.
- `request_id` (string, required): New caller-generated UUID for this replacement, distinct from the original order ID. To recover a lost response, reuse this ID, the complete identical cards array, original order ID, token and expect…

Output parameters:

- `data` (object)
- `ok` (boolean)

### `preview_card` (~232 tokens)

Preview a card

Show a prepared card’s finished surfaces before payment when preview_available is true. Optional, never required to buy. Returns images and their order revision, plus preview_url for clients that need a browser. Preview again after changes. This does not change, charge or mail the order.

Input parameters:

- `card_id` (string): ID from this order.cards[].id. Required when the order has more than one card; omit to preview its only card.
- `expected_revision` (integer): Parent order.revision returned by prepare_order, revise_order or read_order. If supplied, a mismatch fails with CONFLICT; omission previews the current revision. Preview again after changes.
- `faces` (string): Surfaces to render; omission means both. Outside/inside are front/back for postcards and flat cards, or cover/inside for folded cards.
- `order_access_token` (string, required): Exact private order_access_token returned by prepare_order or revise_order for this order. Keep it private and never invent one.
- `order_id` (string, required): Parent order.id returned by prepare_order, revise_order or read_order. Use the matching private token.

Output parameters:

- `data` (object)
- `ok` (boolean)

### `open_private_content` (~184 tokens)

Open private uploads

Open a private upload scope for the buyer’s photo, artwork, logo or QR card. Omit both inputs for a new scope, or pass an unpaid order and its token to reopen that draft’s scope. Returns scope_id, a private token, upload_url and expiry. Assistants cannot upload conversation attachments; send the buyer the link, then use read_private_content when they finish. Catalog cards need no upload scope.

Input parameters:

- `order_access_token` (string): Matching private token for the existing unpaid order, returned by prepare_order, revise_order or its open_private_content scope. Required with order_id; omit both for a new scope. Never invent a toke…
- `order_id` (string): Existing unpaid order.id from prepare_order, revise_order or read_order. Supply its matching order_access_token to reopen that draft’s upload scope; omit both fields for a new scope.

Output parameters:

- `data` (object)
- `ok` (boolean)

### `read_private_content` (~159 tokens)

Read private uploads

List assets and existing card compositions in one private scope after the buyer uploads. Returns asset IDs with their kinds and each composition’s design_key/version. Reuse an existing composition directly; use compose_private_card only for a new face. For a new purchase, prepare_order uses request_id = scope_id and the same token; existing drafts use revise_order. An empty scope returns empty assets and compositions arrays. An expired scope without checkout or payment returns NOT_FOUND; open a new scope to upload again.

Input parameters:

- `order_access_token` (string, required): Exact private order_access_token returned by open_private_content for this scope. Keep it private and never invent one.
- `scope_id` (string, required): Exact scope_id returned by open_private_content for the uploads to list.

Output parameters:

- `data` (object)
- `ok` (boolean)

### `compose_private_card` (~312 tokens)

Compose a private card

Create a new immutable card face from this scope’s artwork, logo or QR URL. Requires at least one of those inputs; a QR-only face needs no upload. Returns design_key and design_version for prepare_order or revise_order. Personal message, recipient and mailing details are supplied in the order’s cards array. Reuse an existing composition when no new face is needed.

Input parameters:

- `artwork_asset_id` (string): asset_id with kind artwork from read_private_content in this scope. Supply at least one artwork asset, logo asset or QR URL.
- `composition_id` (string, required): Caller-generated UUID for this composition. Retrying with the same ID and identical fields returns the same card (reused: true); the same ID with different fields is CONFLICT, so use a new UUID for a…
- `logo_asset_id` (string): asset_id with kind logo from read_private_content in this scope. Optional when artwork_asset_id or qr_url is supplied.
- `order_access_token` (string, required): Exact private order_access_token returned by open_private_content for this scope. Keep it private and never invent one.
- `qr_url` (string): Full HTTP(S) destination printed as a QR code; Paddock does not fetch it. A QR-only card needs no uploaded asset.
- `scope_id` (string, required): Exact scope_id returned by open_private_content. All supplied asset IDs must belong to this scope.
- `title` (string, required): Short private name for this card, shown to the buyer only.

Output parameters:

- `data` (object)
- `ok` (boolean)

### `delete_private_content` (~118 tokens)

Delete private uploads

Request deletion of unused uploads and compositions in one private scope at the buyer’s request. Returns acceptance and deletion state; it does not cancel an order. Purchased content remains until 90 days after mailing or final cancellation/refund, longer while an order, dispute or legal hold is unresolved.

Input parameters:

- `order_access_token` (string, required): Exact private order_access_token returned by open_private_content for this scope. Keep it private and never invent one.
- `scope_id` (string, required): Exact scope_id from open_private_content whose unused content the buyer wants deleted.

Output parameters:

- `data` (object)
- `ok` (boolean)

### `pay_order` (~229 tokens)

Pay for an order

Start or resume payment for this exact prepared order and revision. Show the exact amount and returned action_url for the buyer to connect Link, approve this purchase or complete bank authentication. Only the buyer can approve; never ask for payment credentials in chat. Call again after that step, respecting retry_after_seconds. Confirm payment only when status is paid; processing and requires_action are incomplete. Changing the order requires a new quote and approval. Use read_order for separate printing and mailing progress.

Input parameters:

- `expected_revision` (integer, required): Parent order.revision for the exact purchase shown to the buyer, returned by prepare_order, revise_order or read_order. A mismatch fails with CONFLICT; read the order and obtain approval for any chan…
- `order_access_token` (string, required): Exact private order_access_token returned by prepare_order or revise_order for this order. Keep it secret; never invent it or put it in a public URL or log.
- `order_id` (string, required): Parent order.id returned by prepare_order, revise_order or read_order. Use the matching order_access_token; a card ID cannot identify the purchase.

Output parameters:

- `data`
- `ok` (boolean)

### `list_orders` (~192 tokens)

List your orders

Find orders first prepared through this assistant connection with history permission, newest first. Replacements inherit their original order’s history access; revising an unlinked order does not add it. Requires a connected buyer who granted orders:read; the public endpoint returns connection instructions. Returns compact order IDs, dates, totals, card counts and payment/refund states, plus next_cursor. Use read_order with a returned order_id for card details and mailing status; no per-order token is needed with history permission. Excludes expired, erased and revoked orders. Reconnecting starts a separate history. Never use names or addresses to find another buyer’s orders.

Input parameters:

- `cursor` (string): Exact next_cursor from the previous list_orders result. Omit for the newest page. A cursor grants no access.
- `limit` (integer): Maximum orders in this page, from 1 to 50. Omission returns 10, newest first.

Output parameters:

- `data` (object)
- `ok` (boolean)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/so-paddock-cards/agent-commerce-mcp#diagnostics

## Score history

- 2026-11-04: 68
- 2026-11-03: 68
- 2026-11-02: 67
- 2026-11-01: 67
- 2026-10-31: 64
- 2026-10-30: 64
- 2026-10-29: 63
- 2026-10-28: 59
- 2026-10-27: 59

## Common questions

### What is the Paddock Cards MCP server?

Paddock Cards is an MCP server listed in the public MCP registry as so.paddock/cards. Send birthday cards, Christmas cards and postcards, printed and mailed for you. This page covers its hosted endpoint (https://api.paddock.so/agent-commerce/mcp).

### Is the Paddock Cards MCP server safe to use?

Paddock Cards scores 68 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Paddock Cards MCP server expose?

Paddock Cards exposes 13 tools: search_cards, prepare_order, read_order, cancel_order, report_feedback, and 8 more. Their descriptions and schemas cost roughly 3,448 tokens of context every time the server is loaded.

### Does the Paddock Cards MCP server require authentication?

Its publisher declares no required credentials for Paddock Cards. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the Paddock Cards MCP server still maintained?

Paddock Cards is still listed in the MCP registry, though our most recent checks did not reach this channel. We last reached this channel on 3 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://api.paddock.so/agent-commerce/mcp
- Website: https://paddock.so/agent-commerce/
- Changelog RSS feed: https://verifymcp.io/servers/so-paddock-cards/agent-commerce-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/so-paddock-cards/agent-commerce-mcp.json
- HTML version of this page: https://verifymcp.io/servers/so-paddock-cards/agent-commerce-mcp
