Đặt lệnh và theo dõi tài khoản DNSE · SSI · TCBS bằng AI qua bridge mcp-trading chạy trên máy bạn — trong Claude Desktop, Claude Code hoặc MCP client cục bộ khác — với nguyên tắc: khoá API và OTP của bạn không đi qua cuộc trò chuyện với AI. Kết nối OAuth (connector Claude.ai, ChatGPT) chỉ có quyền đọc dữ liệu, không có công cụ giao dịch; ChatGPT cũng không chạy được bridge local.
Cách dùng cho mọi người là bridge local
mcp-trading — khoá API nằm nguyên trên máy bạn, Algolab
không bao giờ thấy, cài một lệnh npx. Phần dưới là tài liệu kỹ thuật của đường
MCP hosted (đặt lệnh qua máy chủ Algolab bằng khoá alm_…, không qua OAuth) —
đường này không mở cho tài khoản thường, chỉ bật riêng cho tổ chức (gói Enterprise).
Cần giao dịch? Dùng bridge — nhanh hơn và riêng tư hơn.
/free bị cấm tuyệt đối nhóm tool giao dịch.Quy tắc số 1: AI không bao giờ hỏi khoá/mật khẩu của bạn.
Đường chuẩn là link-flow: AI đưa bạn một URL dùng-một-lần trên algolab.vn,
bạn dán khoá trực tiếp trên web (browser → server, mã hoá AES-256-GCM khi lưu) —
AI chỉ nhìn thấy trạng thái pending / done / expired. Chúng tôi
không bao giờ nhận mật khẩu CTCK — chỉ khoá API (scope hẹp, bạn thu hồi được
1 click tại CTCK, độc lập với Algolab).
security_note nhắc rằng khoá đã nằm trong lịch sử hội thoại — nên thu hồi và cấp lại qua link.algolab.vn/mcp/link-broker?code=… — sống 10 phút, dùng 1 lần, gắn đúng tài khoản của bạn.done qua get_broker_link_status và tiếp tục.| CTCK | Nơi lấy | Khoá |
|---|---|---|
| DNSE | Webtrading → Thông tin cá nhân → LightSpeed API (lớp 2 nên chọn Email OTP) | API Key + API Secret |
| SSI | iBoard → Dịch vụ API (FastConnect) | ConsumerID + ConsumerSecret + số tiểu khoản (kèm hậu tố, VD 5552981) |
| TCBS | App TCInvest → iFlash Open API | API Key (tiểu khoản hệ thống tự phát hiện) |
Khoá API xác thực kết nối; mở phiên giao dịch thì CTCK nào cũng bắt thêm 2FA — đây là quy định của CTCK, không phải của Algolab:
| CTCK | Đọc số dư/danh mục | Đặt/huỷ lệnh | Phiên sống |
|---|---|---|---|
| DNSE | Không cần OTP | Trading token mở bằng Smart OTP (app) hoặc OTP email | Key vĩnh viễn · trading token 8h |
| SSI | OTP một lần cho cả đọc lẫn ghi — sau đó refresh token tự gia hạn | Access ~8h, refresh ~7 ngày | |
| TCBS | iOTP sinh trong app TCInvest → JWT dùng chung đọc + lệnh | JWT 8h | |
Ngại đọc OTP cho AI? Gọi request_broker_otp với
via_web=true — bạn nhận URL và gõ OTP trên web, mã không đi qua chat.
| Tool | Việc | Ghi chú |
|---|---|---|
| connect_broker | Liên kết / liên kết lại CTCK | Gọi trần → trả URL link-flow (khuyên dùng). Nhận khoá qua tham số nếu bạn chủ động dán. |
| get_broker_link_status | Poll link-flow | pending / done / expired |
| request_broker_otp | Nhờ CTCK gửi OTP | DNSE cần email; TCBS trả hướng dẫn iOTP; via_web=true → nhập trên web |
| submit_broker_otp | Nộp OTP mở phiên | smart_otp=true nếu mã từ app; SSI Smart OTP push dùng transaction_id |
| get_broker_accounts | Danh sách tiểu khoản | SSI/TCBS hỏi thẳng CTCK để trả đúng số tiểu khoản |
| get_broker_balance | Tiền mặt / sức mua | Tham số broker + account |
| get_broker_positions | Danh mục nắm giữ | |
| get_broker_orders | Sổ lệnh trong ngày | |
| place_broker_order | Đặt lệnh THẬT | Bắt buộc 2 bước — xem mục 6 |
| cancel_broker_order | Huỷ lệnh | Cũng 2 bước xác nhận |
confirm=true. Server chặn lần hai: thiếu confirm là HTTP 428, lệnh không bao giờ đi.| Lỗi | Nghĩa là | Làm gì |
|---|---|---|
SERVER_LINK_DISABLED | Đường MCP hosted là tính năng gói Enterprise | Dùng bridge local (mọi gói), hoặc nâng lên Enterprise |
FREE_POOL_FORBIDDEN | Đang dùng cổng free ẩn danh | Tạo key cá nhân tại algolab.vn/mcp |
FORBIDDEN (chưa bật giao dịch) | Key chưa bật trading | Bật công tắc tại algolab.vn/mcp |
OTP_REQUIRED | Phiên giao dịch chưa mở / hết hạn | request_broker_otp → submit_broker_otp |
RELINK_REQUIRED | Khoá lưu trước đây không giải mã được (hệ thống đổi khoá mã hoá) | Liên kết lại qua connect_broker (link-flow) |
CONFIRM_REQUIRED (428) | Lệnh thiếu xác nhận tường minh | Đúng thiết kế — xác nhận với người dùng rồi gọi lại |
BROKER_ERROR | Lỗi từ phía CTCK (kèm thông điệp gốc) | Đọc message — luôn kèm một bước hành động |