confirm_signal
Confirm or skip pending trading signals by choosing EXECUTE to trigger virtual trades or SKIP to ignore them.
Instructions
Confirm or skip a pending trading signal. EXECUTE will trigger virtual trade execution, SKIP will mark it as skipped.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| signalId | Yes | The signal ID to confirm | |
| decision | Yes | EXECUTE to trade, SKIP to ignore |
Implementation Reference
- src/signals-server.ts:64-89 (handler)Main MCP tool handler for confirm_signal in signals-server. Defines the tool with zod schema (signalId: string, decision: 'EXECUTE' | 'SKIP') and implements the async handler that calls client.confirmSignal() and returns success/error messages.
server.tool( 'confirm_signal', 'Confirm or skip a pending trading signal. EXECUTE will trigger virtual trade execution, SKIP will mark it as skipped.', { signalId: z.string().describe('The signal ID to confirm'), decision: z.enum(['EXECUTE', 'SKIP']).describe('EXECUTE to trade, SKIP to ignore'), }, async ({ signalId, decision }) => { try { const result = await client.confirmSignal(signalId, decision); if (result.code !== 0) { return { content: [{ type: 'text', text: `Error: ${result.message || 'Failed to confirm signal'}` }] }; } return { content: [{ type: 'text', text: `Signal ${signalId} ${decision === 'EXECUTE' ? 'executed' : 'skipped'} successfully.\n${JSON.stringify(result.data, null, 2)}`, }], }; } catch (error: any) { return { content: [{ type: 'text', text: `Error confirming signal: ${error.message}` }] }; } } ); - src/http-server.ts:70-81 (handler)HTTP server MCP tool handler for confirm_signal. Similar implementation with zod schema validation and async handler that calls client.confirmSignal() and returns JSON results.
server.tool( 'confirm_signal', 'Confirm or skip a pending trading signal', { signalId: z.string().describe('Signal ID'), decision: z.enum(['EXECUTE', 'SKIP']).describe('EXECUTE or SKIP'), }, async ({ signalId, decision }) => { const result = await client.confirmSignal(signalId, decision); return { content: [{ type: 'text', text: JSON.stringify(result.data || result, null, 2) }] }; } ); - src/common/client.ts:55-57 (helper)Core API client method confirmSignal() that makes the actual HTTP POST request to '/confirmSignal' endpoint with signalId and decision parameters.
async confirmSignal(signalId: string, decision: 'EXECUTE' | 'SKIP') { return this.call('/confirmSignal', { signalId, decision }); }