6.6 KiB
6.6 KiB
Stripe MCP Server - Tools Implementation Summary
Overview
Total Tools: 77 (target: 60-80) ✅
All 14 tool files have been fully implemented with proper TypeScript types, Zod validation, and comprehensive Stripe API coverage.
Tool Breakdown by Category
1. customers.ts (6 tools)
stripe_list_customers- List all customers with filteringstripe_get_customer- Retrieve specific customerstripe_create_customer- Create new customerstripe_update_customer- Update customer detailsstripe_delete_customer- Delete customerstripe_search_customers- Search customers by query
2. charges.ts (5 tools)
stripe_list_charges- List all chargesstripe_get_charge- Retrieve specific chargestripe_create_charge- Create direct chargestripe_update_charge- Update charge detailsstripe_capture_charge- Capture authorized charge
3. payment-intents.ts (7 tools)
stripe_list_payment_intents- List all payment intentsstripe_get_payment_intent- Retrieve specific payment intentstripe_create_payment_intent- Create new payment intentstripe_update_payment_intent- Update payment intentstripe_confirm_payment_intent- Confirm payment intentstripe_cancel_payment_intent- Cancel payment intentstripe_capture_payment_intent- Capture payment intent
4. payment-methods.ts (6 tools)
stripe_list_payment_methods- List payment methods for customerstripe_get_payment_method- Retrieve specific payment methodstripe_create_payment_method- Create payment methodstripe_update_payment_method- Update payment methodstripe_attach_payment_method- Attach to customerstripe_detach_payment_method- Detach from customer
5. refunds.ts (5 tools)
stripe_list_refunds- List all refundsstripe_get_refund- Retrieve specific refundstripe_create_refund- Create refundstripe_update_refund- Update refund metadatastripe_cancel_refund- Cancel pending refund
6. disputes.ts (4 tools)
stripe_list_disputes- List all disputesstripe_get_dispute- Retrieve specific disputestripe_update_dispute- Submit evidence for disputestripe_close_dispute- Accept dispute
7. subscriptions.ts (7 tools)
stripe_list_subscriptions- List all subscriptionsstripe_get_subscription- Retrieve specific subscriptionstripe_create_subscription- Create new subscriptionstripe_update_subscription- Update subscriptionstripe_cancel_subscription- Cancel subscriptionstripe_resume_subscription- Resume paused subscriptionstripe_list_subscription_items- List subscription items
8. invoices.ts (11 tools)
stripe_list_invoices- List all invoicesstripe_get_invoice- Retrieve specific invoicestripe_create_invoice- Create draft invoicestripe_update_invoice- Update draft invoicestripe_finalize_invoice- Finalize draftstripe_pay_invoice- Pay invoice manuallystripe_void_invoice- Void invoicestripe_send_invoice- Send to customerstripe_list_invoice_items- List invoice itemsstripe_create_invoice_item- Create one-time chargestripe_delete_invoice_item- Delete invoice item
9. products.ts (6 tools)
stripe_list_products- List all productsstripe_get_product- Retrieve specific productstripe_create_product- Create new productstripe_update_product- Update productstripe_delete_product- Delete productstripe_search_products- Search products by query
10. prices.ts (4 tools)
stripe_list_prices- List all pricesstripe_get_price- Retrieve specific pricestripe_create_price- Create new pricestripe_update_price- Update price metadata
11. payouts.ts (6 tools)
stripe_list_payouts- List all payoutsstripe_get_payout- Retrieve specific payoutstripe_create_payout- Create manual payoutstripe_update_payout- Update payout metadatastripe_cancel_payout- Cancel pending payoutstripe_reverse_payout- Reverse a payout
12. balance.ts (3 tools)
stripe_get_balance- Get current account balancestripe_list_balance_transactions- List balance historystripe_get_balance_transaction- Retrieve specific transaction
13. events.ts (2 tools)
stripe_list_events- List webhook eventsstripe_get_event- Retrieve specific event
14. webhooks.ts (5 tools)
stripe_list_webhook_endpoints- List all endpointsstripe_get_webhook_endpoint- Retrieve specific endpointstripe_create_webhook_endpoint- Create new endpointstripe_update_webhook_endpoint- Update endpointstripe_delete_webhook_endpoint- Delete endpoint
Quality Features
✅ TypeScript Compilation
- All files pass
npx tsc --noEmitwith zero errors - Proper type imports from
../types/index.jsand../clients/stripe.js
✅ Zod Validation
- Comprehensive input schemas for all tools
- Rich descriptions for every parameter
- Proper enum types, unions, and nested objects
✅ Stripe API Best Practices
- Form-encoded params - Client handles encoding automatically
- Cursor pagination -
starting_after/ending_beforesupport - Amount fields in cents - Documented in schemas
- Expandable fields -
expand[]param support - Idempotency keys - Auto-generated for create operations
- Proper HTTP methods - GET/POST/DELETE as appropriate
✅ Tool Naming Convention
- Consistent pattern:
stripe_verb_noun - Examples:
stripe_list_customers,stripe_create_payment_intent
✅ Handler Structure
- Signature:
async (client: StripeClient, args: any) => Promise<T> - Returns raw API response (not wrapped in content structure)
- Clean parameter extraction and validation
Implementation Notes
-
No modifications were made to:
src/types/index.ts- Type definitions (as required)src/clients/stripe.ts- API client (as required)src/server.ts- Server shell (as required)src/main.ts- Entry point (as required)
-
All 14 tool stub files were replaced with full implementations
-
Export pattern: Each file uses
export default [...]to match server's import expectations -
Error handling: Delegated to client layer (retry, rate limiting, etc.)
-
TypeScript strict mode: All files are fully typed and compile cleanly
Next Steps
Server is ready for:
- Building:
npm run build - Testing: Integration tests with test API keys
- Deployment: Publishing to npm registry
- Documentation: API reference generation
Status: ✅ COMPLETE - All 77 tools implemented, TypeScript verified, ready for deployment.