cancel_stop_order
Cancel a stop order in T-Invest by providing account ID and stop order ID. Requires confirmation to execute the cancellation.
Instructions
Отменить стоп-заявку в Т-Инвестициях (требуется confirm: true)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | Идентификатор счёта | |
| stopOrderId | Yes | ID стоп-заявки (можно получить через get_stop_orders) | |
| confirm | No | Передайте true для подтверждения отмены |
Implementation Reference
- src/tools/cancel-stop-order.ts:25-50 (handler)The actual tool execution handler logic for canceling a stop order.
async ({ accountId, stopOrderId, confirm }) => { try { if (requireConfirmation && confirm !== true) { return { content: [{ type: 'text' as const, text: `Подтвердите отмену стоп-заявки:\n ID: ${stopOrderId}\n Счёт: ${accountId}\n\nДля отмены вызовите повторно с confirm: true`, }], }; } const response = await client.post<CancelStopOrderResponse>( API_PATHS.STOP_ORDERS.CANCEL_STOP_ORDER, { accountId, stopOrderId }, ); return { content: [{ type: 'text' as const, text: `Стоп-заявка ${stopOrderId} отменена в ${formatDateTime(response.time)}` }], }; } catch (error) { return { content: [{ type: 'text' as const, text: `Ошибка: ${error instanceof Error ? error.message : String(error)}` }], isError: true, }; } }, - src/tools/cancel-stop-order.ts:14-51 (registration)Tool registration using the MCP server instance.
server.tool( 'cancel_stop_order', requireConfirmation ? 'Отменить стоп-заявку в Т-Инвестициях (требуется confirm: true)' : 'Отменить стоп-заявку в Т-Инвестициях', { accountId: z.string().describe('Идентификатор счёта'), stopOrderId: z.string().describe('ID стоп-заявки (можно получить через get_stop_orders)'), confirm: z.boolean().optional().describe('Передайте true для подтверждения отмены'), }, DESTRUCTIVE, async ({ accountId, stopOrderId, confirm }) => { try { if (requireConfirmation && confirm !== true) { return { content: [{ type: 'text' as const, text: `Подтвердите отмену стоп-заявки:\n ID: ${stopOrderId}\n Счёт: ${accountId}\n\nДля отмены вызовите повторно с confirm: true`, }], }; } const response = await client.post<CancelStopOrderResponse>( API_PATHS.STOP_ORDERS.CANCEL_STOP_ORDER, { accountId, stopOrderId }, ); return { content: [{ type: 'text' as const, text: `Стоп-заявка ${stopOrderId} отменена в ${formatDateTime(response.time)}` }], }; } catch (error) { return { content: [{ type: 'text' as const, text: `Ошибка: ${error instanceof Error ? error.message : String(error)}` }], isError: true, }; } }, );