naftiko: 1.0.0-alpha2 info: label: Stripe Subscription Billing description: Unified capability for subscription and recurring billing workflows. Combines Stripe Customers, Billing Portal, and Invoices APIs to support customer lifecycle management, subscription administration, and invoice processing. Used by SaaS platforms and subscription businesses. tags: - Stripe - Subscriptions - Billing - Customers - Invoices - SaaS created: '2026-05-02' modified: '2026-05-06' binds: - namespace: env keys: STRIPE_API_KEY: STRIPE_API_KEY capability: consumes: - type: http namespace: stripe-customers baseUri: https://api.stripe.com description: Stripe Customers API for managing customer records and payment methods. authentication: type: bearer token: '{{STRIPE_API_KEY}}' resources: - name: customers path: /v1/customers description: Customer collection operations operations: - name: list-customers method: GET description: List all customers inputParameters: - name: limit in: query type: integer required: false description: Max items to return - name: email in: query type: string required: false description: Filter by email address outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-customer method: POST description: Create a new customer outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: email: '{{tools.email}}' name: '{{tools.name}}' - name: customers-search path: /v1/customers/search description: Search customers operations: - name: search-customers method: GET description: Search customers using query syntax inputParameters: - name: query in: query type: string required: true description: Search query outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customer path: /v1/customers/{customer} description: Individual customer operations operations: - name: get-customer method: GET description: Retrieve a customer by ID inputParameters: - name: customer in: path type: string required: true description: Customer ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: update-customer method: POST description: Update a customer inputParameters: - name: customer in: path type: string required: true description: Customer ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete-customer method: DELETE description: Delete a customer permanently inputParameters: - name: customer in: path type: string required: true description: Customer ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: customer-payment-methods path: /v1/customers/{customer}/payment_methods description: Customer payment methods operations: - name: list-customer-payment-methods method: GET description: List all payment methods for a customer inputParameters: - name: customer in: path type: string required: true description: Customer ID outputRawFormat: json outputParameters: - name: result type: object value: $. - type: http namespace: stripe-billing baseUri: https://api.stripe.com description: Stripe Billing Portal API for customer self-service subscription management. authentication: type: bearer token: '{{STRIPE_API_KEY}}' resources: - name: billing-portal-configurations path: /v1/billing_portal/configurations description: Portal configuration management operations: - name: list-portal-configurations method: GET description: List billing portal configurations inputParameters: - name: active in: query type: boolean required: false description: Filter active or inactive configurations outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-portal-configuration method: POST description: Create a billing portal configuration outputRawFormat: json outputParameters: - name: result type: object value: $. - name: billing-portal-sessions path: /v1/billing_portal/sessions description: Portal session management operations: - name: create-portal-session method: POST description: Create a billing portal session for a customer outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: customer: '{{tools.customer}}' return_url: '{{tools.return_url}}' - type: http namespace: stripe-invoices baseUri: https://api.stripe.com description: Stripe Invoice API for billing document management. authentication: type: bearer token: '{{STRIPE_API_KEY}}' resources: - name: invoices path: /v1/invoices description: Invoice collection operations: - name: list-invoices method: GET description: List all invoices inputParameters: - name: limit in: query type: integer required: false description: Max items to return - name: customer in: query type: string required: false description: Filter by customer - name: status in: query type: string required: false description: Filter by status (draft, open, paid, uncollectible, void) outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-invoice method: POST description: Create a new invoice outputRawFormat: json outputParameters: - name: result type: object value: $. - name: invoice path: /v1/invoices/{invoice} description: Individual invoice operations: - name: get-invoice method: GET description: Retrieve an invoice inputParameters: - name: invoice in: path type: string required: true description: Invoice ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: invoice-finalize path: /v1/invoices/{invoice}/finalize description: Finalize an invoice operations: - name: finalize-invoice method: POST description: Finalize a draft invoice inputParameters: - name: invoice in: path type: string required: true description: Invoice ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: invoice-pay path: /v1/invoices/{invoice}/pay description: Pay an invoice operations: - name: pay-invoice method: POST description: Attempt to pay an invoice inputParameters: - name: invoice in: path type: string required: true description: Invoice ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: invoice-send path: /v1/invoices/{invoice}/send description: Send an invoice operations: - name: send-invoice method: POST description: Email an invoice to the customer inputParameters: - name: invoice in: path type: string required: true description: Invoice ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: invoice-void path: /v1/invoices/{invoice}/void description: Void an invoice operations: - name: void-invoice method: POST description: Void an open invoice inputParameters: - name: invoice in: path type: string required: true description: Invoice ID outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8081 namespace: stripe-subscription-billing-api description: Unified REST API for Stripe subscription and billing management. resources: - path: /v1/customers name: customers description: Customer management operations: - method: GET name: list-customers description: List customers call: stripe-customers.list-customers outputParameters: - type: object mapping: $. - method: POST name: create-customer description: Create a customer call: stripe-customers.create-customer outputParameters: - type: object mapping: $. - path: /v1/customers/{customer} name: customer description: Individual customer operations: - method: GET name: get-customer description: Get a customer call: stripe-customers.get-customer with: customer: rest.customer outputParameters: - type: object mapping: $. - path: /v1/invoices name: invoices description: Invoice management operations: - method: GET name: list-invoices description: List invoices call: stripe-invoices.list-invoices outputParameters: - type: object mapping: $. - method: POST name: create-invoice description: Create an invoice call: stripe-invoices.create-invoice outputParameters: - type: object mapping: $. - path: /v1/invoices/{invoice} name: invoice description: Individual invoice operations: - method: GET name: get-invoice description: Get an invoice call: stripe-invoices.get-invoice with: invoice: rest.invoice outputParameters: - type: object mapping: $. - path: /v1/billing-portal-sessions name: portal-sessions description: Customer self-service billing portal operations: - method: POST name: create-portal-session description: Create a billing portal session for a customer call: stripe-billing.create-portal-session outputParameters: - type: object mapping: $. - path: /v1/payouts name: payouts description: Payout management operations: - method: GET name: list-payouts description: List payouts call: stripe-payouts.list-payouts outputParameters: - type: object mapping: $. - type: mcp port: 9081 namespace: stripe-subscription-billing-mcp transport: http description: MCP server for AI-assisted Stripe subscription and billing management. tools: - name: list-customers description: List Stripe customers hints: readOnly: true call: stripe-customers.list-customers outputParameters: - type: object mapping: $. - name: create-customer description: Create a new Stripe customer hints: readOnly: false destructive: false call: stripe-customers.create-customer outputParameters: - type: object mapping: $. - name: get-customer description: Retrieve a Stripe customer by ID hints: readOnly: true call: stripe-customers.get-customer with: customer: tools.customer outputParameters: - type: object mapping: $. - name: search-customers description: Search Stripe customers by query hints: readOnly: true openWorld: true call: stripe-customers.search-customers with: query: tools.query outputParameters: - type: object mapping: $. - name: list-invoices description: List Stripe invoices with optional status filter hints: readOnly: true call: stripe-invoices.list-invoices outputParameters: - type: object mapping: $. - name: create-invoice description: Create a new Stripe invoice hints: readOnly: false destructive: false call: stripe-invoices.create-invoice outputParameters: - type: object mapping: $. - name: get-invoice description: Retrieve a Stripe invoice by ID hints: readOnly: true call: stripe-invoices.get-invoice with: invoice: tools.invoice outputParameters: - type: object mapping: $. - name: finalize-invoice description: Finalize a Stripe draft invoice so it can be paid hints: readOnly: false destructive: false call: stripe-invoices.finalize-invoice with: invoice: tools.invoice outputParameters: - type: object mapping: $. - name: pay-invoice description: Attempt to pay a Stripe invoice hints: readOnly: false destructive: false call: stripe-invoices.pay-invoice with: invoice: tools.invoice outputParameters: - type: object mapping: $. - name: send-invoice description: Email a Stripe invoice to the customer hints: readOnly: false destructive: false call: stripe-invoices.send-invoice with: invoice: tools.invoice outputParameters: - type: object mapping: $. - name: void-invoice description: Void an open Stripe invoice hints: readOnly: false destructive: true call: stripe-invoices.void-invoice with: invoice: tools.invoice outputParameters: - type: object mapping: $. - name: create-portal-session description: Create a Stripe billing portal session so a customer can manage their subscription hints: readOnly: false destructive: false call: stripe-billing.create-portal-session outputParameters: - type: object mapping: $. - name: list-portal-configurations description: List Stripe billing portal configurations hints: readOnly: true call: stripe-billing.list-portal-configurations outputParameters: - type: object mapping: $.