@chinchillaenterprises/mcp-stripe
Version:
Multi-tenant Stripe MCP server with account management and credential persistence
49 lines (43 loc) • 1.44 kB
text/typescript
/**
* Account-related type definitions for Stripe MCP
*/
export interface StripeAccount {
id: string; // Unique identifier (e.g., 'main', 'sandbox', 'client-abc')
name: string; // Human-friendly name
secretKey: string; // Stripe secret key (sk_test_* or sk_live_*)
publishableKey?: string; // Optional publishable key (pk_test_* or pk_live_*)
accountId?: string; // Stripe account ID (for Connect accounts)
environment: 'test' | 'live'; // Environment indicator
isDefault?: boolean; // Flag for default account
}
export interface AccountState {
accounts: Map<string, StripeAccount>;
activeAccountId: string | null;
clients: Map<string, any>; // Map<string, Stripe> - using any to avoid importing Stripe here
}
export interface PersistedAccount extends StripeAccount {
addedAt: string; // ISO timestamp
lastUsed?: string; // ISO timestamp
}
export interface AccountInfo {
id: string;
name: string;
environment: 'test' | 'live';
accountId?: string;
isDefault: boolean;
isActive: boolean;
}
export interface AccountListResponse {
accounts: AccountInfo[];
activeAccountId: string | null;
totalAccounts: number;
}
export interface AccountOperationResponse {
success: boolean;
account?: AccountInfo;
activeAccount?: AccountInfo;
message?: string;
removedAccountId?: string;
activeAccountId?: string | null;
defaultAccountId?: string;
}