Longbridge
ทางการตลาดสหรัฐฯ/ฮ่องกง — 110 เครื่องมือ: ราคาเรียลไทม์, ออปชั่น, คำสั่งซื้อขาย, ปัจจัยพื้นฐาน, การแจ้งเตือน, DCA และพอร์ตโฟลิโอ
คุณทำอะไรได้บ้างด้วย Longbridge MCP?
- ราคาเรียลไทม์ — ขอข้อมูลราคาแบบเรียลไทม์และย้อนหลัง แท่งเทียน ความลึกของตลาด และข้อมูลออปชันในตลาดสหรัฐฯ และฮ่องกง
- พอร์ตการลงทุนและการซื้อขาย — ตรวจสอบสถานะ ยอดคงเหลือ และรายการซื้อขาย หรือส่ง ยกเลิก และแก้ไขคำสั่งซื้อขาย รวมถึงชุดออปชันหลายขา
- ข้อมูลพื้นฐานและงานวิจัย — ดึงงบการเงิน เงินปันผล มุมมองนักวิเคราะห์ การประเมินมูลค่า และข้อมูลผู้บริหารของบริษัทสำหรับหุ้น
- การคัดกรองและปฏิทิน — ค้นหาหุ้นด้วยเครื่องมือคัดกรอง หรือดูปฏิทินการเงินสำหรับประกาศผลประกอบการ เงินปันผล IPO และข้อมูลเศรษฐกิจมหภาค
- การแจ้งเตือนและแผนลงทุนต่อเนื่อง — สร้างการแจ้งเตือนราคา จัดการแผนลงทุนแบบถัวเฉลี่ยต้นทุน และตั้งค่ากลยุทธ์การซื้อขายแบบกริด
- การกรองคำตอบ — ส่งนิพจน์
_jqไปยังเครื่องมือใดก็ได้ เพื่อตัดคำตอบขนาดใหญ่ให้เหลือเฉพาะฟิลด์ที่ต้องการ
เซิร์ฟเวอร์ MCP แบบโฮสต์
npx add-mcp 'https://mcp.longbridge.com'ติดตั้งลง Claude Code, Codex, Cursor และอื่นๆ
เอกสาร
Longbridge MCP Server
เซิร์ฟเวอร์ MCP อย่างเป็นทางการสำหรับโบรกเกอร์ Longbridge มี 164 เครื่องมือ ครอบคลุมราคาเรียลไทม์ ออปชัน การส่งคำสั่งซื้อขาย ข้อมูลพื้นฐาน การจัดอันดับนักวิเคราะห์ ปฏิทิน IPO การแจ้งเตือนราคา แผน DCA การซื้อขายแบบกริด การวิเคราะห์พอร์ตโฟลิโอ และรายการหุ้นที่ชุมชนแบ่งปัน — รองรับ ตลาดสหรัฐฯ และฮ่องกง พัฒนาด้วย Rust โดยใช้ rmcp และ axum
พร้อมใช้งานแล้วใน ChatGPT และ Claude
Longbridge ได้รับการลงรายการอย่างเป็นทางการในไดเรกทอรีแอปของ ChatGPT และไดเรกทอรี Connectors ของ Claude
พูดคุยกับตลาดด้วยภาษาธรรมดา — ราคา ออปชัน ข้อมูลพื้นฐาน และพอร์ตโฟลิโอของคุณเอง —
โดยไม่ต้องแก้ไขไฟล์กำหนดค่าหรือวางโทเค็น
| เพิ่มในที่เดียว | จากนั้นถามได้เลย | |
|---|---|---|
| ChatGPT | Settings → Apps & Connectors → เพิ่ม Longbridge | "วันนี้ NVDA ซื้อขายเป็นอย่างไรบ้าง?" · "แสดงสถานะการลงทุนในฮ่องกงของฉัน" |
| Claude | Settings → Connectors → เพิ่ม Longbridge (เว็บ · เดสก์ท็อป · มือถือ) | "เปรียบเทียบมูลค่าหุ้น AAPL และ MSFT" · "สัปดาห์นี้มี IPO อะไรบ้าง?" |
ลงชื่อเข้าใช้ด้วยบัญชี Longbridge เพียงครั้งเดียว ทุกคำขอจะทำงานผ่านปลายทางที่โฮสต์ไว้เดียวกัน ซึ่งใช้ OAuth 2.1 เพื่อรักษาความปลอดภัยตามที่อธิบายไว้ด้านล่าง — มีทั้งข้อมูลตลาดแบบอ่านอย่างเดียว และเครื่องมือสำหรับบัญชี พอร์ตโฟลิโอ และการซื้อขายอย่างครบถ้วน โดยทั้งหมดควบคุมการเข้าถึงด้วยข้อมูลรับรองของคุณเอง
จุดเด่น
- 164 เครื่องมือ ปลายทางเดียว — ราคา ออปชัน การส่งคำสั่งซื้อขาย ข้อมูลพื้นฐาน งานวิจัยจากนักวิเคราะห์ เครื่องมือคัดกรอง IPO การแจ้งเตือน DCA การซื้อขายแบบกริด และการวิเคราะห์พอร์ตโฟลิโอ ครอบคลุม ตลาดสหรัฐฯ และฮ่องกง
- ออกแบบให้ไร้สถานะ — ทุกคำขอส่งต่อ Bearer token ไปยัง Longbridge SDK โดยตรง ไม่มีเซสชัน ไม่มีฐานข้อมูล และไม่มีการจัดเก็บข้อมูลฝั่งเซิร์ฟเวอร์
- ค้นพบ OAuth 2.1 โดยอัตโนมัติ — ใช้ข้อมูลเมตาของ protected-resource ตาม RFC 9728 และ authorization-server ตาม RFC 8414; ไคลเอ็นต์ดำเนินขั้นตอนจนเสร็จได้โดยไม่ต้องวางโทเค็น
- การตอบกลับสะอาดและมีชนิดข้อมูลกำกับ — ฟิลด์ snake_case การประทับเวลาตาม RFC 3339 สัญลักษณ์ที่อ่านเข้าใจง่าย และสคีมาการตอบกลับแบบมีชนิดข้อมูลที่พร้อมใช้งานเป็น MCP resources
พัฒนาด้วย Rust โดยใช้ rmcp และ axum
กรองการตอบกลับของเครื่องมือด้วย jq
เครื่องมือทุกตัวรับสตริง _jq ที่ไม่บังคับในอาร์กิวเมนต์ นิพจน์จะทำงาน
กับ JSON ที่ส่งกลับมาทั้งหมด หลังจากการซีเรียลไลซ์การตอบกลับตามปกติ ชื่อ _jq
สงวนไว้สำหรับการกรองการตอบกลับ เพื่อหลีกเลี่ยงความขัดแย้งกับพารามิเตอร์ทางธุรกิจ
คำแนะนำการใช้งานจะส่งเพียงครั้งเดียวใน instructions ของการตอบกลับ MCP initialize;
สคีมาของเครื่องมือแต่ละตัวจะประกาศเฉพาะชื่อและชนิดของพารามิเตอร์ที่ไม่บังคับ
ตัวอย่างเช่น:
{
"name": "quote",
"arguments": {
"symbols": ["AAPL.US", "MSFT.US"],
"_jq": "map({symbol, last_done})"
}
}
ใช้ .data[:5] เพื่อเลือกห้ารายการแรกจากอาร์เรย์ data
ใช้ .data | map(select(.price > 10)) เพื่อเลือกแถว หรือใช้ {total: .total} เพื่อ
เลือกฟิลด์ นิพจน์ใช้ไวยากรณ์ที่เข้ากันได้กับ jq ของเอนจิน jaq
ที่ฝังมา ไม่จำเป็นต้องใช้โปรแกรม jq แยกต่างหาก
- ละ
_jqไว้ (หรือส่งnull) เพื่อคงการตอบกลับเดิม - หากได้ค่าเอาต์พุตหนึ่งค่า จะส่งกลับโดยตรง หากได้หลายค่า จะส่งกลับเป็นอาร์เรย์ และหากไม่มีค่า
จะส่งกลับเป็น
[]สเกลาร์และอาร์เรย์จะเป็นข้อความ JSON ส่วนออบเจ็กต์จะแสดงในstructuredContentด้วย โดยมีเฉพาะฟิลด์ที่ผ่านการกรอง - การตอบกลับข้อความธรรมดาพร้อมใช้งานในรูปแบบสตริง JSON ส่วนบล็อกเนื้อหาหลายบล็อก ที่ไม่มีเนื้อหาแบบมีโครงสร้างจะพร้อมใช้งานในรูปแบบอาร์เรย์
- ข้อผิดพลาดของเครื่องมือและคำอธิบายเกี่ยวกับสิทธิ์หรือการไม่มีข้อมูลจะไม่ถูกกรอง
- นิพจน์ที่ว่างเปล่า ไม่ถูกต้อง หรือไม่ใช่สตริง จะถูกปฏิเสธก่อนเรียกใช้เครื่องมือ หากการกรองล้มเหลวขณะทำงาน การตอบกลับจะแจ้งอย่างชัดเจนว่าเครื่องมือทำงานไปแล้ว อย่าลองทำซ้ำการดำเนินการเขียนโดยอัตโนมัติ เช่น การส่งคำสั่งซื้อขาย
- ไม่รองรับการเข้าถึงสภาพแวดล้อม การนำเข้าไฟล์ระบบ และตัวกรองการบันทึกข้อมูล จำกัดเอาต์พุตไว้ที่ 10,000 ค่าและ 8 MiB หากเกินขีดจำกัด จะส่งกลับข้อผิดพลาด แทนการส่งผลลัพธ์บางส่วน
เนื่องจากตัวกรองอาจเปลี่ยนรูปแบบการตอบกลับ เครื่องมือจึงไม่ประกาศ
outputSchema แบบตายตัว สคีมาแบบมีชนิดข้อมูลดั้งเดิมยังคงพร้อมใช้งานผ่าน
resources/list และ resources/read ที่ lb://tools/{tool-name}/output-schema สำหรับเครื่องมือที่มีสคีมารองรับ
เชื่อมต่อไคลเอ็นต์ของคุณเอง
Longbridge ให้บริการปลายทางที่โฮสต์ไว้ที่ https://mcp.longbridge.com — กำหนดให้ไคลเอ็นต์ MCP ใดก็ได้เชื่อมต่อกับปลายทางนี้ แล้วดำเนินการ OAuth เมื่อระบบแจ้ง การอนุญาตจะถูกค้นพบโดยอัตโนมัติผ่าน RFC 9728 โดยไม่ต้องวางโทเค็น
Claude Code
claude mcp add --transport http longbridge https://mcp.longbridge.com
Claude Desktop — เพิ่มลงใน claude_desktop_config.json แล้วเริ่มระบบใหม่:
{ "mcpServers": { "longbridge": { "url": "https://mcp.longbridge.com" } } }
Codex — เพิ่มเซิร์ฟเวอร์ แล้วดำเนินการ OAuth ในเบราว์เซอร์:
codex mcp add longbridge --url https://mcp.longbridge.com
codex mcp login longbridge
Cursor · Cline · Windsurf · Zed · ไคลเอ็นต์อื่น ๆ — กำหนดให้เชื่อมต่อกับ https://mcp.longbridge.com โดยใช้ทรานสปอร์ต streamable-http
คำสั่ง Claude Code เพิ่มเติม
# Local self-hosted instance (see Self-hosting below)
claude mcp add --transport http longbridge-local http://localhost:8000/mcp
claude mcp list # registered servers
claude mcp get longbridge # config + auth status
claude mcp remove longbridge # unregister
claude mcp logout longbridge # re-trigger OAuth after revocation
เมื่อใช้งานครั้งแรก ไคลเอ็นต์จะอ่าน challenge WWW-Authenticate ดึงข้อมูล /.well-known/oauth-protected-resource (RFC 9728) และเปิดเบราว์เซอร์เพื่อเริ่มขั้นตอน OAuth ของ Longbridge โทเค็นจะถูกแคชแยกตามเซสชันและรีเฟรชโดยอัตโนมัติ
เครื่องมือทั้ง 164 รายการ
มี 20 หมวดหมู่ ครอบคลุมข้อมูลตลาด การซื้อขาย งานวิจัย และการจัดการบัญชี
| หมวดหมู่ | จำนวน | ขอบเขต |
|---|---|---|
| Quote | 32 | ราคาเรียลไทม์และย้อนหลัง แท่งราคา ระดับราคา โบรกเกอร์ ออปชัน วอร์แรนต์ รายการเฝ้าดู กระแสเงินทุน อุณหภูมิตลาด สถานะขายชอร์ต และปริมาณออปชัน |
| Fundamental | 33 | งบการเงิน/รายงาน กลุ่มธุรกิจ มุมมองสถาบัน คู่แข่งในอุตสาหกรรม/การประเมินมูลค่า เงินปันผล การคาดการณ์ EPS การประเมินมูลค่าและการเปรียบเทียบมูลค่า ข้อมูลบริษัท/ผู้บริหาร ผู้ถือหุ้น การดำเนินการของบริษัท และตัวชี้วัดการดำเนินงาน |
| Trade | 15 | ส่ง/ยกเลิก/แก้ไขคำสั่งซื้อขาย คำสั่งออปชันแบบหลายขา สถานะการลงทุน ยอดคงเหลือ รายการซื้อขาย กระแสเงินสด และมาร์จิน |
| Market | 15 | สถานะตลาด อันดับอุตสาหกรรม/หุ้นที่เคลื่อนไหวสูงสุด การถือครองของโบรกเกอร์ ส่วนต่างราคา A/H สถิติการซื้อขาย ความผิดปกติ การซื้อขาย/มาร์จินชอร์ต และองค์ประกอบดัชนี |
| DCA | 9 | สร้าง/อัปเดต/หยุดชั่วคราว/ดำเนินการต่อ/หยุดแผน Dollar-cost averaging ประวัติการดำเนินการ สถิติ และตรวจสอบการรองรับ |
| Grid | 11 | ส่ง/แก้ไข/ยกเลิก/ระงับ/เริ่มคำสั่งซื้อขายแบบกริด อ่านรายการ/รายละเอียด/ประวัติการทริกเกอร์ ข้อมูลการตั้งค่ารายสัญลักษณ์ และการยินยอมใช้กลยุทธ์ครั้งเดียว |
| Sharelist | 8 | CRUD รายการหุ้นที่ชุมชนแบ่งปัน เพิ่ม/ลบ/จัดเรียงสมาชิก และรายการยอดนิยม |
| IPO | 7 | การจองซื้อ IPO ปฏิทิน หุ้นที่เข้าจดทะเบียน รายละเอียดคำสั่งซื้อขาย และการวิเคราะห์กำไร/ขาดทุน |
| Content | 7 | รายการ/รายละเอียดข่าว CRUD หัวข้อสนทนาและการตอบกลับ |
| Alert | 5 | CRUD การแจ้งเตือนราคา (เพิ่ม ลบ เปิดใช้งาน ปิดใช้งาน แสดงรายการ) |
| Screener | 5 | ค้นหาหุ้นด้วยเครื่องมือคัดกรอง ตัวชี้วัด และการแนะนำ/จัดการกลยุทธ์ |
| Portfolio | 4 | อัตราแลกเปลี่ยน การวิเคราะห์กำไร/ขาดทุน (สรุป รายละเอียด กำไร/ขาดทุนที่รับรู้แล้ว) |
| ATM | 3 | บัตรธนาคาร รายการถอนเงิน และรายการฝากเงิน |
| Macrodata | 2 | รายการและรายละเอียดตัวชี้วัดเศรษฐกิจมหภาค |
| Search | 2 | ค้นหาข่าวและหัวข้อชุมชน |
| Statement | 2 | แสดงรายการและส่งออกใบแจ้งยอดบัญชี |
| Calendar | 1 | ปฏิทินการเงิน (ผลประกอบการ เงินปันผล IPO ข้อมูลเศรษฐกิจมหภาค และวันหยุดตลาด) |
| Quant | 1 | เรียกใช้สคริปต์ตัวชี้วัดเชิงปริมาณกับข้อมูล K-line ย้อนหลัง |
| Authenticate | 1 | แลกเปลี่ยนรหัส OAuth สำหรับไคลเอ็นต์ที่ไม่สามารถดำเนินการเปลี่ยนเส้นทางเบราว์เซอร์ได้ |
| Utility | 1 | เวลาปัจจุบันใน UTC |
โฮสต์ด้วยตนเอง
ต้องการใช้อินสแตนซ์ของคุณเองหรือไม่ เรียกใช้อิมเมจที่เผยแพร่แล้ว:
docker run -p 8443:8443 \
-v /path/to/certs:/certs:ro \
ghcr.io/longbridge/longbridge-mcp \
--bind 0.0.0.0:8443 \
--base-url https://mcp.example.com \
--tls-cert /certs/cert.pem \
--tls-key /certs/key.pem
กำหนด
--base-urlเป็น URL ที่เข้าถึงได้จากภายนอกในการติดตั้งใช้งานสาธารณะทุกแบบ — URL นี้จะถูกเผยแพร่ในข้อมูลเมตา OAuth ที่ไคลเอ็นต์ใช้ค้นหา authorization server ค่าเริ่มต้นคือhttp://localhost:{port}ซึ่งไคลเอ็นต์ระยะไกลไม่สามารถใช้ได้
หรือสร้างจากซอร์ส: cargo build --release && ./target/release/longbridge-mcp
การกำหนดค่าและตัวแปรสภาพแวดล้อม
ไฟล์กำหนดค่าอยู่ที่ ~/.longbridge/mcp/config.json (เปลี่ยนไดเรกทอรีได้ด้วย LONGBRIDGE_MCP_CONFIG_DIR) แฟล็ก CLI มีลำดับความสำคัญสูงกว่า เมื่อกำหนดทั้ง tls_cert และ tls_key เซิร์ฟเวอร์จะทำงานผ่าน HTTPS มิฉะนั้นจะใช้ HTTP ส่วน base_url มีค่าเริ่มต้นเป็น https://localhost:{port} เมื่อใช้ TLS หรือ http://localhost:{port} เมื่อไม่ใช้
| ตัวเลือก | คีย์การกำหนดค่า | แฟล็ก CLI | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|---|
| ที่อยู่ Bind | bind | --bind | 127.0.0.1:8000 | ที่อยู่สำหรับรับฟังของเซิร์ฟเวอร์ HTTP |
| Base URL | base_url | --base-url | อัตโนมัติ | Base URL สาธารณะสำหรับข้อมูลเมตาของ resource |
| ไดเรกทอรีบันทึก | log_dir | --log-dir | (stderr) | ไดเรกทอรีสำหรับไฟล์บันทึกแบบหมุนเวียน |
| ใบรับรอง TLS | tls_cert | --tls-cert | (ไม่มี) | ไฟล์ใบรับรอง PEM สำหรับ HTTPS |
| คีย์ส่วนตัว TLS | tls_key | --tls-key | (ไม่มี) | ไฟล์คีย์ส่วนตัว PEM |
| Canary upstream | canary | --canary | false | เชื่อมต่อกับสภาพแวดล้อม canary ของ Longbridge (*.longbridge.xyz) --canary=false บังคับใช้ production แม้ไฟล์กำหนดค่าจะเปิดใช้งานไว้ |
สภาพแวดล้อมจีนแผ่นดินใหญ่ (*.longbridge.cn) ไม่ใช่แฟล็ก แต่จะถูกเลือกโดยอัตโนมัติเมื่อกำหนด LONGBRIDGE_REGION=cn (ตัวแปรเดียวกับที่ SDK ใช้) ดังนั้นคลัสเตอร์ในจีนแผ่นดินใหญ่จึงไม่ต้องตั้งค่าเฉพาะเพิ่มเติม
ปลายทาง upstream จะถูกกำหนดตามสภาพแวดล้อมที่เลือก:
| Production (ค่าเริ่มต้น) | Canary (--canary) | จีนแผ่นดินใหญ่ (LONGBRIDGE_REGION=cn) | |
|---|---|---|---|
| OpenAPI | https://openapi.longbridge.com | https://openapi-global.longbridge.xyz | https://openapi.longbridge.cn |
| Quote WebSocket | wss://openapi-quote.longbridge.com/v2 | wss://openapi-global-quote.longbridge.xyz/v2 | wss://openapi-quote.longbridge.cn/v2 |
| Trade WebSocket | wss://openapi-trade.longbridge.com/v2 | wss://openapi-global-trade.longbridge.xyz/v2 | wss://openapi-trade.longbridge.cn/v2 |
| OAuth / หน้าการเชื่อมต่อ | openapi.longbridge.com / open.longbridge.com | openapi-global.longbridge.xyz / open.longbridge.xyz | openapi.longbridge.cn / open.longbridge.cn |
Canary ใช้เกตเวย์ -global ไม่ใช่ openapi.longbridge.xyz เพราะมีเพียงเกตเวย์แรกที่อยู่หลัง CloudFront และทำการกำหนดเส้นทางศูนย์ข้อมูลตาม x-dc-region ซึ่งเซิร์ฟเวอร์นี้ต้องใช้เพื่อให้บริการข้อมูลรับรองที่ขึ้นต้นด้วย us_ และ ap_ จากโปรเซสเดียว
Canary และจีนแผ่นดินใหญ่จะกำหนด URL ทั้งหมดข้างต้นไว้ตั้งแต่เริ่มทำงาน ส่วน production จะใช้การกำหนดค่าของ SDK เอง ยกเว้นข้อมูลรับรอง us_ ที่ไม่มีการกำหนด upstream จะถูกกำหนดให้ใช้เกตเวย์ .com ระดับโลก ดู src/endpoints.rs สำหรับกฎการเลือกโดยละเอียด
ตัวแปรสภาพแวดล้อมขั้นสูง — การติดตั้งใช้งานส่วนใหญ่ไม่จำเป็นต้องใช้ ตัวแปรเหล่านี้มีไว้สำหรับการดีบัก SDK และการติดตั้งใช้งานแบบ edge/global-entry
| ตัวแปร | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
LONGBRIDGE_MCP_CONFIG_DIR | ~/.longbridge/mcp | ไดเรกทอรีไฟล์กำหนดค่า |
LONGBRIDGE_PUBLIC_HOSTS | (ไม่มี) | ชื่อโฮสต์ที่คั่นด้วยจุลภาค ซึ่งยอมรับจากส่วนหัว X-Host ที่ edge แทรกเข้ามา คำขอที่ตรงกันจะส่งชื่อโฮสต์นั้นกลับใน 401 challenge / ข้อมูลเมตา RFC 9728 หากไม่กำหนด = ไม่สนใจ X-Host |
LONGBRIDGE_GLOBAL_OAUTH_URL | (ไม่มี) | URL ของ authorization server ที่ประกาศให้คำขอซึ่งเข้ามาผ่าน X-Host ที่อนุญาต (ทางเข้าระดับโลกโดเมนเดียว) หากไม่กำหนด = ใช้ URL ฐาน OpenAPI ของโหมดนั้น |
LONGBRIDGE_MCP_QUOTE_WS_IDLE_TTL_SECS | 600 | จำนวนวินาทีที่ไม่มีการใช้งานก่อนลบแคชบริบท Quote WebSocket |
LONGBRIDGE_MCP_QUOTE_WS_MAX_CONTEXTS | 1024 | จำนวนบริบท Quote WebSocket สูงสุดที่แคชไว้ต่อโปรเซสเซิร์ฟเวอร์ |
LONGBRIDGE_MCP_LOG_PAYLOADS | (ไม่ได้กำหนด) | 1 ยกเลิกขีดจำกัดขนาด payload ในบันทึก (ดูด้านล่าง) ห้ามกำหนดค่านี้ใน production |
LONGBRIDGE_LOG_PATH | (ไม่มี) | พาธบันทึกภายในของ SDK อย่ากำหนดค่านี้ใน production — SDK จะเขียนเนื้อหาคำขอ/การตอบกลับที่ไม่ผ่านการกรองลงในพาธนี้ |
การบันทึกข้อมูลและข้อมูลลูกค้า
คำขอและการตอบกลับของ MCP มีข้อมูลลูกค้า — ยอดเงินสด สถานะการลงทุน ประวัติคำสั่งซื้อขาย — และเฟรมจาก SDK ต้นทางมีโทเค็นการเข้าถึง ข้อมูลเหล่านี้ไม่ควรอยู่ในไฟล์บันทึก ดังนั้นเซิร์ฟเวอร์จึงจำกัดเป้าหมายบันทึกที่อาจพิมพ์ข้อมูลเหล่านี้ โดยไม่ขึ้นกับ `RUST_LOG`:| เป้าหมาย | ขีดจำกัด | สิ่งที่จะพิมพ์หากไม่มีการจำกัด |
|---|---|---|
longbridge_httpcli | warn | คำขอ OpenAPI และเนื้อหาการตอบกลับฉบับเต็ม (INFO) |
longbridge_wscli | warn | เฟรม WebSocket ทุกเฟรม รวมถึงโทเค็นยืนยันตัวตน (INFO) |
longbridge::trade | warn | เหตุการณ์แจ้งคำสั่งซื้อขาย (INFO) |
rmcp | info | คำขอ MCP ที่ถอดรหัสแล้วและผลลัพธ์เครื่องมือฉบับเต็ม (DEBUG), เฟรม JSON-RPC ดิบ (TRACE) |
ดังนั้นการเพิ่มระดับรายละเอียดจึงปลอดภัย: RUST_LOG=debug (หรือ trace) จะแสดงบันทึกของเซิร์ฟเวอร์เองโดยไม่เปิดเผยข้อมูลลูกค้า มีสวิตช์สองตัวที่ทำให้การป้องกันนี้ใช้ไม่ได้ ซึ่งปิดไว้โดยค่าเริ่มต้น — LONGBRIDGE_MCP_LOG_PAYLOADS=1 (นำขีดจำกัดออก ใช้เฉพาะกับบัญชีทดสอบในเครื่องเท่านั้น) และ LONGBRIDGE_LOG_PATH (ทำให้ SDK เขียนเนื้อหาที่ไม่ผ่านการกรองลงในไดเรกทอรีนั้น เมื่อกำหนดค่านี้ เซิร์ฟเวอร์จะแสดงคำเตือนเมื่อเริ่มทำงาน)
ปลายทาง HTTP การยืนยันตัวตน และเมตริก
เซิร์ฟเวอร์ต้องใช้โทเค็นการเข้าถึง OAuth ของ Longbridge ใน Authorization: Bearer <token> หากไม่มีข้อมูลยืนยันตัวตนหรือข้อมูลไม่ถูกต้อง เซิร์ฟเวอร์จะส่ง 401 พร้อมส่วนหัว WWW-Authenticate ที่ชี้ไปยังข้อมูลเมตาของทรัพยากรที่มีการป้องกัน ซึ่งจะแนะนำไคลเอ็นต์ไปยังเซิร์ฟเวอร์การอนุญาต OAuth ของ Longbridge
ส่ง x-papertrading: true (หรือ 1) ไปกับคำขอเพื่อให้คำขอนั้นทำงานในสภาพแวดล้อมซื้อขายจำลอง ระบบต้นทางจะปฏิเสธคำขอซื้อขายจำลองที่ใช้โทเค็นเงินจริง ดังนั้นส่วนหัวนี้จึงเป็นมาตรการป้องกันความปลอดภัย ไม่ใช่สวิตช์กำหนดเส้นทาง: ทำได้เพียงจำกัดสิ่งที่โทเค็นใช้ได้ LONGBRIDGE_PAPERTRADING=true เปิดใช้การตั้งค่านี้สำหรับการติดตั้งใช้งานทั้งหมดแทน
| วิธีการ | เส้นทาง | คำอธิบาย |
|---|---|---|
| GET | /.well-known/oauth-protected-resource | ข้อมูลเมตาของทรัพยากรที่มีการป้องกัน (RFC 9728) |
| GET | /.well-known/oauth-authorization-server | ข้อมูลเมตาของเซิร์ฟเวอร์การอนุญาต (RFC 8414); ประกาศปลายทาง authorize/register ของ Longbridge โดยตรง และปลายทาง token/revoke ผ่านพร็อกซี |
| POST | /oauth2/token | พร็อกซีโทเค็น OAuth; กำหนด x-dc-region จากโค้ด/โทเค็นรีเฟรช โดยใช้ AP เป็นค่าเริ่มต้น |
| POST | /oauth2/revoke | พร็อกซีเพิกถอน OAuth; กำหนด x-dc-region จากโทเค็น โดยใช้ AP เป็นค่าเริ่มต้น |
| GET | /metrics | เมตริก Prometheus |
| POST/GET/DELETE | /mcp | ปลายทาง MCP Streamable HTTP (ต้องใช้ Bearer token) |
เมตริก Prometheus: mcp_tool_calls_total (ตัวนับ), mcp_tool_call_duration_seconds (ฮิสโตแกรม) และ mcp_tool_call_errors_total (ตัวนับ) — แต่ละรายการมีป้ายกำกับตาม tool_name
การพัฒนา
cargo +nightly fmt # format
cargo clippy # lint
cargo test # test
ใบอนุญาต
เผยแพร่ภายใต้ ใบอนุญาต MIT