Skip to main content
Glama

Tradovate MCP Server

/** * Helper file for connect.ts tests * Exposes internal state and provides mock implementations */ const EventEmitter = require('events'); // Mock WebSocket implementation class MockWebSocket extends EventEmitter { constructor() { super(); this.readyState = 0; // WebSocket.CONNECTING this.sent = []; } send(data) { this.sent.push(data); return true; } close() { this.emit('close', 1000, 'Normal closure'); this.readyState = 3; // WebSocket.CLOSED } // Node-style WebSocket methods on(event, listener) { super.on(event, listener); return this; } removeListener(event, listener) { super.removeListener(event, listener); return this; } once(event, listener) { super.once(event, listener); return this; } // Browser-style WebSocket methods addEventListener(event, listener) { return this.on(event, listener); } removeEventListener(event, listener) { return this.removeListener(event, listener); } // Helper methods for testing mockOpen() { this.readyState = 1; // WebSocket.OPEN this.emit('open'); } mockMessage(data) { this.emit('message', data); } mockError(error) { this.emit('error', error || new Error('Mock WebSocket error')); } mockClose(code = 1000, reason = 'Normal closure') { this.readyState = 3; // WebSocket.CLOSED this.emit('close', code, reason); } } // Static properties for WebSocket connection states MockWebSocket.CONNECTING = 0; MockWebSocket.OPEN = 1; MockWebSocket.CLOSING = 2; MockWebSocket.CLOSED = 3; // Mock authentication module const mockAuth = { accessToken: 'mock-access-token', expiresAt: Date.now() + 3600000, getTradovateMdApiUrl: jest.fn().mockReturnValue('wss://demo.tradovateapi.com/v1/websocket'), isTokenValid: jest.fn().mockImplementation((expiresAt) => { return expiresAt > Date.now(); }), getAccessToken: jest.fn().mockImplementation(async () => { return { accessToken: mockAuth.accessToken, expiresAt: mockAuth.expiresAt }; }) }; // Mock logger const mockLogger = { info: jest.fn(), error: jest.fn(), warn: jest.fn() }; // Export mock implementations and helpers module.exports = { MockWebSocket, mockAuth, mockLogger };

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/alexanimal/tradovate-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server