agentleFS
HeyvhuangHeyvhuang/ship-faster/skills/mcp-stripe/SKILL.md

mcp-stripe

Skill337 starsChanged 10 months agoMITView on GitHub

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.

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 5 are distinctive, and 3 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈5

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When integrating billing operations into multi-step workflows, persist all context and artifacts to disk, passing only paths between …

    line 13
  2. Distinctive:

    Mode: Test mode by default. Switching to live requires user to explicitly say "live" and double confirmation.

    line 34
  3. Very specific:

    Read before write: - Before creating customer/product/price, first use list_* or search_stripe_resources to check if it already exists, …

    line 38
  4. Very specific:

    When in doubt, search: - If unsure about object ID, fields, or approach, first call search_stripe_documentation or search_stripe_resources, …

    line 40
  5. Very specific:

    Before executing create_refund, cancel_subscription, update_subscription, update_dispute:

    line 68
  6. Distinctive:

    Request confirmation: - Wait for user to explicitly reply "confirm"/"yes"/"proceed"

    line 72
  7. Distinctive:

    Object doesn't exist: Use search_stripe_resources or fetch_stripe_resources to find correct ID

    line 148
  8. Distinctive:

    Parameter error: Use search_stripe_documentation to query correct parameter format

    line 149

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Stripe MCP Transaction Skill

Execute transaction operations via Stripe MCP server.

File-based Pipeline (Pass Paths Only)

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>/

  • Input: 01-input/goal.md (requirements), 01-input/context.json (known customer/invoice/subscription/payment_intent IDs, etc.)
  • Plan: 03-plans/stripe-actions.md (list of operations to execute; money/contracts must be written here and await confirmation first)
  • Output: 05-final/receipt.md + 05-final/receipt.json (object type + ID + key fields + next steps)
  • Logs: logs/events.jsonl (summary of each tool call; do not log sensitive information verbatim)

Connection Configuration

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.

Three Hard Rules

  1. Read before write - Before creating customer/product/price, first use list_* or search_stripe_resources to check if it already exists, avoid duplicate objects
  2. Money and contracts require confirmation - create_refund, cancel_subscription, update_subscription, update_dispute must display content and get explicit user confirmation before execution
  3. When in doubt, search - If unsure about object ID, fields, or approach, first call search_stripe_documentation or search_stripe_resources, don't guess parameters

Available Tools

CategoryToolDescription
Accountget_stripe_account_infoGet account info
Balanceretrieve_balanceQuery available/pending balance
Customercreate_customer, list_customersCreate/list customers
Productcreate_product, list_productsCreate/list products
Pricecreate_price, list_pricesCreate/list prices
Invoicecreate_invoice, create_invoice_item, finalize_invoice, list_invoicesFull invoice workflow
Payment Linkcreate_payment_linkCreate shareable payment link
Payment Intentlist_payment_intentsList payment intents (query only)
Refundcreate_refund⚠️ Dangerous - requires confirmation
Disputelist_disputes, update_dispute⚠️ update requires confirmation
Subscriptionlist_subscriptions, update_subscription, cancel_subscription⚠️ update/cancel require confirmation
Couponcreate_coupon, list_couponsCreate/list coupons
Searchsearch_stripe_resources, fetch_stripe_resources, search_stripe_documentationSearch objects/documentation

Cannot do (not in tool list):

  • ❌ Create PaymentIntent / charge directly
  • ❌ Create subscription (create_subscription)
  • ❌ Create Promotion Code (only coupon)
  • ❌ Delete objects

Dangerous Action Handling Flow

Before executing create_refund, cancel_subscription, update_subscription, update_dispute:

  1. Display first - List the object ID and key fields to be operated on
  2. Explain impact - Refund amount/cancellation time/change content
  3. Request confirmation - Wait for user to explicitly reply "confirm"/"yes"/"proceed"
  4. Execute and receipt - Return operation result + object ID + status

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.

Default Configuration

  • Currency: Prioritize user-specified currency; if not specified, use existing object currency (Price/Invoice/PaymentIntent); if still unclear, ask
  • Amount: Accept decimal input, auto-convert to smallest unit integer (e.g., £19.99 → 1999)
  • Output receipt: Object type + ID + key fields + next steps

Common Workflows

Create Customer

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

Create Product and Price

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

Create and Send Invoice

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

Create Payment Link

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

Refund (Dangerous)

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

Cancel Subscription (Dangerous)

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

Tool Parameter Details

See tools.md

Error Handling

  • Object doesn't exist: Use search_stripe_resources or fetch_stripe_resources to find correct ID
  • Parameter error: Use search_stripe_documentation to query correct parameter format
  • Insufficient permissions: Prompt user to check API key permission scope
  • Network error: Suggest retry or check MCP connection status

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.