# create_coupon

Create a new coupon for discounts

Agent View of the PolicyLayer registry record for `create_coupon`. HTML page: https://policylayer.com/tools/stripe/create-coupon

## Facts

- Tool: `create_coupon`
- Server: Stripe (`@modelcontextprotocol/server-stripe`) — https://policylayer.com/tools/stripe.md
- Install: `npx -y @modelcontextprotocol/server-stripe`
- Homepage: https://github.com/stripe/agent-toolkit
- Risk category: Financial (Critical risk)
- Registry record: grade D, identity verified
- Server auth posture: gated
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Approval-gated

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "create_coupon",
    "arguments": {}
  }
}
```

## Why create_coupon is rated Critical

Creating coupons commits the business to financial obligations—they reduce revenue by offering discounts. An AI agent misusing this tool could create unlimited discount coupons, causing direct financial loss. While not a direct money transfer like create_refund or payments, coupon creation represents a material financial commitment.

From the tool's own definition: "Tool name 'create_coupon' combined with description 'Create a new coupon for discounts' on a Stripe server (payment/financial platform). Coupons are financial instruments that reduce payment obligations."

Risk signals: Creates coupons affecting revenue

## Use case

AI agents use create_coupon to commit financial operations through Stripe, usually the final step of a payment, billing, or trading workflow. A call moves real money.

## Recommended policy (PolicyLayer)

Verdict: **Approval-gated**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Stripe:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "create_coupon": {
      "deny_if": [
        {
          "conditions": [],
          "on_deny": "Requires human approval."
        }
      ]
    }
  }
}
```

## Other tools on Stripe (26)

- `cancel_subscription` — Destructive — https://policylayer.com/tools/stripe/cancel-subscription.md
- `create_invoice` — Financial — https://policylayer.com/tools/stripe/create-invoice.md
- `create_invoice_item` — Financial — https://policylayer.com/tools/stripe/create-invoice-item.md
- `create_payment_link` — Financial — https://policylayer.com/tools/stripe/create-payment-link.md
- `create_refund` — Financial — https://policylayer.com/tools/stripe/create-refund.md
- `finalize_invoice` — Financial — https://policylayer.com/tools/stripe/finalize-invoice.md
- `update_subscription` — Financial — https://policylayer.com/tools/stripe/update-subscription.md
- `fetch_stripe_resources` — Read — https://policylayer.com/tools/stripe/fetch-stripe-resources.md
- `get_stripe_account_info` — Read — https://policylayer.com/tools/stripe/get-stripe-account-info.md
- `list_charges` — Read — https://policylayer.com/tools/stripe/list-charges.md
- `list_coupons` — Read — https://policylayer.com/tools/stripe/list-coupons.md
- `list_customers` — Read — https://policylayer.com/tools/stripe/list-customers.md
- `list_disputes` — Read — https://policylayer.com/tools/stripe/list-disputes.md
- `list_invoices` — Read — https://policylayer.com/tools/stripe/list-invoices.md
- `list_payment_intents` — Read — https://policylayer.com/tools/stripe/list-payment-intents.md
- `list_prices` — Read — https://policylayer.com/tools/stripe/list-prices.md
- `list_products` — Read — https://policylayer.com/tools/stripe/list-products.md
- `list_setup_intents` — Read — https://policylayer.com/tools/stripe/list-setup-intents.md
- `list_subscriptions` — Read — https://policylayer.com/tools/stripe/list-subscriptions.md
- `retrieve_balance` — Read — https://policylayer.com/tools/stripe/retrieve-balance.md
- `search_stripe_documentation` — Read — https://policylayer.com/tools/stripe/search-stripe-documentation.md
- `search_stripe_resources` — Read — https://policylayer.com/tools/stripe/search-stripe-resources.md
- `create_customer` — Write — https://policylayer.com/tools/stripe/create-customer.md
- `create_price` — Write — https://policylayer.com/tools/stripe/create-price.md
- `create_product` — Write — https://policylayer.com/tools/stripe/create-product.md
- `update_dispute` — Write — https://policylayer.com/tools/stripe/update-dispute.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=stripe · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/stripe
