UNPKG

questrade-mcp-server

Version:

MCP server for Questrade API integration

128 lines (121 loc) 2.62 kB
export interface QuestradeConfig { apiUrl: string; accessToken: string; refreshToken: string; } export interface Account { type: string; number: string; status: string; isPrimary: boolean; isBilling: boolean; clientAccountType: string; } export interface Position { symbol: string; symbolId: number; openQuantity: number; closedQuantity: number; currentMarketValue: number; currentPrice: number; averageEntryPrice: number; closedPnl: number; openPnl: number; totalCost: number; isRealTime: boolean; isUnderReorg: boolean; } export interface Balance { currency: string; cash: number; marketValue: number; totalEquity: number; buyingPower: number; maintenanceExcess: number; isRealTime: boolean; } export interface Quote { symbol: string; symbolId: number; tier: string; bidPrice: number; bidSize: number; askPrice: number; askSize: number; lastTradePriceTrHrs: number; lastTradePrice: number; lastTradeSize: number; lastTradeTick: string; lastTradeTime: string; volume: number; openPrice: number; highPrice: number; lowPrice: number; delay: number; isHalted: boolean; high52w: number; low52w: number; VWAP: number; } export interface Symbol { symbol: string; symbolId: number; description: string; securityType: string; listingExchange: string; region: string; currency: string; isQuotable: boolean; isTradable: boolean; } export interface Order { id: number; symbol: string; symbolId: number; totalQuantity: number; openQuantity: number; filledQuantity: number; cancelledQuantity: number; side: 'Buy' | 'Sell'; orderType: string; limitPrice?: number; stopPrice?: number; isAllOrNone: boolean; isAnonymous: boolean; icebergQuantity?: number; minQuantity?: number; avgExecPrice?: number; lastExecPrice?: number; source: string; timeInForce: string; gtdDate?: string; state: string; clientReasonStr?: string; chainId: number; creationTime: string; updateTime: string; notes?: string; primaryRoute: string; orderRoute: string; venueHoldingOrder?: string; comissionCharged?: number; exchangeOrderId?: string; isSignificantShareHolder: boolean; isInsider: boolean; isLimitOffsetInDollar: boolean; userId: number; placementCommission?: number; legs: any[]; strategyType: string; triggerStopPrice?: number; orderGroupId: number; orderClass?: string; mainChainId: number; } export interface TokenResponse { access_token: string; token_type: string; expires_in: number; refresh_token: string; api_server: string; }