skills/ship-faster/skills/mcp-stripe/SKILL.md
Stripe MCP transaction operations skill. Execute transaction operations via Stripe MCP server (https://mcp.stripe.com): customer management, products/prices, invoices, payment links, subscriptions, refunds, dispute handling, balance queries. Triggers: user requests Stripe operations including create customer, create product, create invoice, generate payment link, query transactions, process refunds, manage subscriptions, view disputes, check balance, etc.
npx skillsauth add enuno/claude-command-and-control mcp-stripeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Execute transaction operations via Stripe MCP server.
When integrating billing operations into multi-step workflows, persist all context and artifacts to disk, passing only paths between agents/sub-agents.
Recommended directory structure (within project): runs/<workflow>/active/<run_id>/
01-input/goal.md (requirements), 01-input/context.json (known customer/invoice/subscription/payment_intent IDs, etc.)03-plans/stripe-actions.md (list of operations to execute; money/contracts must be written here and await confirmation first)05-final/receipt.md + 05-final/receipt.json (object type + ID + key fields + next steps)logs/events.jsonl (summary of each tool call; do not log sensitive information verbatim)MCP Server: https://mcp.stripe.com
Claude Code Connection:
claude mcp add --transport http stripe https://mcp.stripe.com/
claude /mcp # authenticate
Authentication: OAuth preferred; if API key needed, use restricted key as Bearer token.
Mode: Test mode by default. Switching to live requires user to explicitly say "live" and double confirmation.
list_* or search_stripe_resources to check if it already exists, avoid duplicate objectscreate_refund, cancel_subscription, update_subscription, update_dispute must display content and get explicit user confirmation before executionsearch_stripe_documentation or search_stripe_resources, don't guess parameters| Category | Tool | Description |
|----------|------|-------------|
| Account | get_stripe_account_info | Get account info |
| Balance | retrieve_balance | Query available/pending balance |
| Customer | create_customer, list_customers | Create/list customers |
| Product | create_product, list_products | Create/list products |
| Price | create_price, list_prices | Create/list prices |
| Invoice | create_invoice, create_invoice_item, finalize_invoice, list_invoices | Full invoice workflow |
| Payment Link | create_payment_link | Create shareable payment link |
| Payment Intent | list_payment_intents | List payment intents (query only) |
| Refund | create_refund | ⚠️ Dangerous - requires confirmation |
| Dispute | list_disputes, update_dispute | ⚠️ update requires confirmation |
| Subscription | list_subscriptions, update_subscription, cancel_subscription | ⚠️ update/cancel require confirmation |
| Coupon | create_coupon, list_coupons | Create/list coupons |
| Search | search_stripe_resources, fetch_stripe_resources, search_stripe_documentation | Search objects/documentation |
Cannot do (not in tool list):
Before executing create_refund, cancel_subscription, update_subscription, update_dispute:
Example confirmation prompt:
About to execute refund:
- PaymentIntent: pi_xxx
- Amount: £50.00 (full amount)
- Reason: requested_by_customer
Reply "confirm" to proceed, or "cancel" to abort.
1. search_stripe_resources or list_customers to check if already exists
2. If not exists, create_customer(name, email, metadata)
3. Return cus_xxx + key info
1. list_products to check if product already exists
2. create_product(name, description)
3. create_price(product=prod_xxx, unit_amount=amount in smallest unit, currency="gbp", recurring if needed)
4. Return prod_xxx + price_xxx
1. Confirm customer ID (if unknown, query with list_customers)
2. create_invoice(customer=cus_xxx, collection_method, days_until_due)
3. create_invoice_item(invoice=inv_xxx, price=price_xxx, quantity)
4. finalize_invoice(invoice=inv_xxx)
5. Return inv_xxx + hosted_invoice_url
1. Confirm price ID (if unknown, query with list_prices)
2. create_payment_link(line_items=[{price, quantity}], after_completion if needed)
3. Return payment link URL
1. list_payment_intents to find target payment
2. Display pi_xxx + amount + customer info
3. Request user confirmation
4. After confirmation, create_refund(payment_intent=pi_xxx, amount for partial refund, reason)
5. Return re_xxx + status
1. list_subscriptions(customer=cus_xxx) to find target
2. Display sub_xxx + current status + next billing date
3. Ask: cancel immediately or at period end (cancel_at_period_end)
4. After confirmation, cancel_subscription(subscription=sub_xxx)
5. Return cancellation result
See tools.md
tools
MemPalace local-first AI memory system. Use when setting up persistent memory for Claude Code sessions, mining project files or conversation transcripts, querying past context, configuring MCP tools, managing the knowledge graph, or troubleshooting palace operations.
tools
LangSmith Python SDK — trace, evaluate, and monitor LLM applications. Covers @traceable decorator, trace context manager, Client API, evaluate() / aevaluate(), comparative evaluation, custom evaluators, dataset management, prompt caching, ASGI middleware, and pytest plugin.
development
LangGraph (Python) — build stateful, controllable agent graphs with checkpointing, streaming, persistence, interrupts, fault tolerance, and durable execution. Covers both Graph API (StateGraph) and Functional API (@entrypoint/@task).
development
LangGraph Graph API (Python) — build explicit DAG agent workflows with StateGraph, typed state, nodes, edges, Command routing, Send fan-out, checkpointers, interrupts, and streaming. Use when you need explicit control flow and graph topology.