Longbridge
ทางการตลาดสหรัฐฯ/ฮ่องกง — 110 เครื่องมือ: ราคาเรียลไทม์, ออปชั่น, คำสั่งซื้อขาย, ปัจจัยพื้นฐาน, การแจ้งเตือน, DCA และพอร์ตโฟลิโอ
คุณทำอะไรได้บ้างด้วย Longbridge MCP?
- ราคาเรียลไทม์ — ขอข้อมูลราคาสดหรือย้อนหลัง แท่งเทียน ข้อมูลความลึก และข้อมูลออปชันสำหรับสัญลักษณ์หุ้นสหรัฐฯ และฮ่องกงผ่านเครื่องมือ
quote - การดำเนินการซื้อขาย — สั่งซื้อ ยกเลิก หรือแก้ไขคำสั่ง รวมถึงการรวมออปชันหลายขา และตรวจสอบสถานะตำแหน่ง ยอดคงเหลือ และรายการ executions
- การวิจัยปัจจัยพื้นฐาน — ดึงงบการเงิน เงินปันผล การคาดการณ์ EPS การประเมินมูลค่า และเรตติ้งนักวิเคราะห์สำหรับบริษัทต่างๆ
- การวิเคราะห์พอร์ตโฟลิโอ — รับสรุปกำไร/ขาดทุน กำไรที่รับรู้แล้ว และอัตราแลกเปลี่ยนสำหรับบัญชี Longbridge ของคุณ
- การแจ้งเตือนราคา — สร้าง แสดงรายการ เปิดใช้งาน หรือลบการแจ้งเตือนราคาเพื่อติดตามความเคลื่อนไหวของตลาด
- การซื้อขายแบบ DCA และกริด — ตั้งค่า หยุดชั่วคราว หรือหยุดแผนการถัวเฉลี่ยต้นทุนดอลลาร์และกลยุทธ์การซื้อขายแบบกริด
เซิร์ฟเวอร์ 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 Apps และไดเรกทอรี Claude Connectors อย่างเป็นทางการ
พูดคุยกับตลาดด้วยภาษาธรรมชาติ — ราคา ออปชัน ข้อมูลพื้นฐาน และพอร์ตโฟลิโอของคุณเอง —
โดยไม่ต้องแก้ไขไฟล์คอนฟิกหรือวางโทเค็นใดๆ
| เพิ่มได้ในที่เดียว | จากนั้นเพียงถาม | |
|---|---|---|
| ChatGPT | การตั้งค่า → Apps & Connectors → เพิ่ม Longbridge | "วันนี้ NVDA เทรดเป็นอย่างไร?" · "แสดงสถานะหุ้นฮ่องกงของฉัน" |
| Claude | การตั้งค่า → Connectors → เพิ่ม Longbridge (เว็บ · เดสก์ท็อป · มือถือ) | "เปรียบเทียบมูลค่า AAPL และ MSFT" · "มี IPO ไหนสัปดาห์นี้ไหม?" |
ลงชื่อเข้าใช้ครั้งเดียวด้วยบัญชี Longbridge ของคุณ ทุกคำขอทำงานผ่านเอนด์พอยต์ที่โฮสต์เดียวกันที่รักษาความปลอดภัยด้วย OAuth 2.1 ตามที่อธิบายไว้ด้านล่าง — ข้อมูลตลาดแบบอ่านอย่างเดียว พร้อมเครื่องมือบัญชี พอร์ตโฟลิโอ และการเทรดแบบเต็มรูปแบบ ทั้งหมดถูกควบคุมด้วยข้อมูลประจำตัวของคุณเอง
จุดเด่น
- เครื่องมือ 164 รายการ เอนด์พอยต์เดียว — ราคา ออปชัน การส่งคำสั่งซื้อขาย ข้อมูลพื้นฐาน งานวิจัยนักวิเคราะห์ ตัวกรองหุ้น IPO การแจ้งเตือน DCA การเทรดแบบกริด และการวิเคราะห์พอร์ตโฟลิโอ ครอบคลุมตลาดสหรัฐฯ และฮ่องกง
- ไร้สถานะโดยการออกแบบ — ทุกคำขอส่งต่อ Bearer token ไปยัง Longbridge SDK โดยตรง ไม่มีเซสชัน ไม่มีฐานข้อมูล ไม่มีการจัดเก็บอะไรบนเซิร์ฟเวอร์
- OAuth 2.1 ค้นหาอัตโนมัติ — ข้อมูลทรัพยากรที่ได้รับการป้องกันตาม RFC 9728 และข้อมูลเมตาของเซิร์ฟเวอร์อนุญาตตาม RFC 8414; ไคลเอนต์ทำขั้นตอนให้เสร็จโดยไม่ต้องวางโทเค็น
- การตอบสนองที่สะอาดและมีชนิดข้อมูล — ฟิลด์แบบ snake_case, การประทับเวลา RFC 3339, สัญลักษณ์ที่อ่านง่าย และสคีมาการตอบสนองแบบมีชนิดที่พร้อมใช้งานเป็นทรัพยากร MCP
สร้างด้วยภาษา 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" } } }
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
ในการใช้งานครั้งแรก ไคลเอนต์อ่านความท้าทาย WWW-Authenticate, ดึง /.well-known/oauth-protected-resource (RFC 9728) และเปิดเบราว์เซอร์ของคุณสำหรับขั้นตอน OAuth ของ Longbridge โทเค็นถูกแคชต่อเซสชันและรีเฟรชโดยอัตโนมัติ
เครื่องมือ 164 รายการ
ยี่สิบหมวดหมู่ครอบคลุมข้อมูลตลาด การเทรด งานวิจัย และการจัดการบัญชี
| หมวดหมู่ | จำนวน | ความครอบคลุม |
|---|---|---|
| ราคา | 32 | ราคาแบบเรียลไทม์และย้อนหลัง แท่งเทียน ความลึก โบรกเกอร์ ออปชัน วอร์แรนต์ รายการเฝ้าดู การไหลของเงินทุน อุณหภูมิตลาด สถานะ Short ปริมาณออปชัน |
| ข้อมูลพื้นฐาน | 33 | งบการเงิน/รายงาน ส่วนธุรกิจ มุมมองสถาบัน เพื่อนร่วมอุตสาหกรรม/มูลค่า เงินปันผล การคาดการณ์ EPS การประเมินมูลค่าและการเปรียบเทียบมูลค่า ข้อมูลบริษัท/ผู้บริหาร ผู้ถือหุ้น การดำเนินการของบริษัท ตัวชี้วัดการดำเนินงาน |
| การเทรด | 15 | การส่งคำสั่งซื้อ/ยกเลิก/แทนที่ คำสั่งออปชันหลายขาแบบรวม สถานะ ยอดคงเหลือ การดำเนินการ กระแสเงินสด มาร์จิ้น |
| ตลาด | 15 | สถานะตลาด อันดับอุตสาหกรรม/หุ้นที่เคลื่อนไหวมากที่สุด การถือครองโบรกเกอร์ ส่วนเกิน A/H สถิติการเทรด ความผิดปกติ การเทรด Short/มาร์จิ้น องค์ประกอบดัชนี |
| DCA | 9 | การสร้าง/อัปเดต/หยุดชั่วคราว/ดำเนินการต่อ/หยุดแผนการลงทุนแบบถัวเฉลี่ย ประวัติการดำเนินการ สถิติ การตรวจสอบการสนับสนุน |
| กริด | 11 | การส่ง/แทนที่/ยกเลิก/ระงับ/เริ่มใหม่คำสั่งเทรดแบบกริด การอ่านรายการ/รายละเอียด/ประวัติทริกเกอร์ ข้อมูลการตั้งค่าต่อสัญลักษณ์ การยินยอมกลยุทธ์ครั้งเดียว |
| รายการหุ้น | 8 | CRUD รายการหุ้นชุมชน การเพิ่ม/ลบ/จัดเรียงสมาชิก รายการยอดนิยม |
| IPO | 7 | การจองซื้อ IPO ปฏิทิน หุ้นที่จดทะเบียน รายละเอียดคำสั่งซื้อ การวิเคราะห์กำไร/ขาดทุน |
| เนื้อหา | 7 | รายการข่าว/รายละเอียด CRUD หัวข้อสนทนาและการตอบกลับ |
| การแจ้งเตือน | 5 | CRUD การแจ้งเตือนราคา (เพิ่ม ลบ เปิดใช้งาน ปิดใช้งาน รายการ) |
| ตัวกรองหุ้น | 5 | การค้นหาตัวกรองหุ้น ตัวชี้วัด คำแนะนำกลยุทธ์/การจัดการ |
| พอร์ตโฟลิโอ | 4 | อัตราแลกเปลี่ยน การวิเคราะห์กำไร/ขาดทุน (สรุป รายละเอียด ที่เกิดขึ้นจริง) |
| ATM | 3 | บัตรธนาคาร บันทึกการถอนเงิน บันทึกการฝากเงิน |
| ข้อมูลมหภาค | 2 | รายการและรายละเอียดตัวชี้วัดเศรษฐกิจมหภาค |
| การค้นหา | 2 | การค้นหาข่าว การค้นหาหัวข้อชุมชน |
| ใบแจ้งยอด | 2 | การแสดงรายการและส่งออกใบแจ้งยอดบัญชี |
| ปฏิทิน | 1 | ปฏิทินการเงิน (รายได้ เงินปันผล IPO ข้อมูลมหภาค วันหยุด) |
| Quant | 1 | รันสคริปต์ตัวชี้วัดเชิงปริมาณกับข้อมูล K-line ย้อนหลัง |
| การยืนยันตัวตน | 1 | การแลกเปลี่ยนรหัส OAuth สำหรับไคลเอนต์ที่ไม่สามารถทำการเปลี่ยนเส้นทางเบราว์เซอร์ได้ |
| ยูทิลิตี้ | 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 ที่เข้าถึงได้จากภายนอกของคุณในการปรับใช้สาธารณะใดๆ — มันถูกเผยแพร่ในข้อมูลเมตา OAuth ที่ไคลเอนต์ใช้เพื่อค้นหาเซิร์ฟเวอร์อนุญาต โดยค่าเริ่มต้นคือ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 | 127.0.0.1:8000 | ที่อยู่ฟังของเซิร์ฟเวอร์ HTTP |
| URL พื้นฐาน | base_url | --base-url | อัตโนมัติ | URL พื้นฐานสาธารณะสำหรับข้อมูลเมตาทรัพยากร |
| ไดเรกทอรีบันทึก | log_dir | --log-dir | (stderr) | ไดเรกทอรีสำหรับไฟล์บันทึกแบบหมุนเวียน |
| ใบรับรอง TLS | tls_cert | --tls-cert | (ไม่มี) | ไฟล์ใบรับรอง PEM สำหรับ HTTPS |
| คีย์ส่วนตัว TLS | tls_key | --tls-key | (ไม่มี) | ไฟล์คีย์ส่วนตัว PEM สำหรับ HTTPS |
| อัปสตรีม Canary | canary | --canary | false | พูดคุยกับสภาพแวดล้อม canary ของ Longbridge (*.longbridge.xyz) --canary=false บังคับใช้การผลิตแม้ว่าไฟล์การกำหนดค่าจะเปิดใช้งานก็ตาม |
สภาพแวดล้อมจีนแผ่นดินใหญ่ (*.longbridge.cn) ไม่ใช่แฟล็ก: มันถูกเลือกอัตโนมัติเมื่อตั้งค่า LONGBRIDGE_REGION=cn (ตัวแปรเดียวกับที่ SDK ใช้) ดังนั้นคลัสเตอร์จีนแผ่นดินใหญ่ไม่ต้องการการตั้งค่าเฉพาะ
เอนด์พอยต์อัปสตรีม ถูกกำหนดโดยสภาพแวดล้อมที่เลือก:
| การผลิต (ค่าเริ่มต้น) | Canary (--canary) | จีนแผ่นดินใหญ่ (LONGBRIDGE_REGION=cn) | |
|---|---|---|---|
| OpenAPI | https://openapi.longbridge.com | https://openapi-global.longbridge.xyz | https://openapi.longbridge.cn |
| WebSocket ราคา | wss://openapi-quote.longbridge.com/v2 | wss://openapi-global-quote.longbridge.xyz/v2 | wss://openapi-quote.longbridge.cn/v2 |
| 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 ข้างต้นที่เริ่มต้น; การผลิตปล่อยให้การแก้ไขของ SDK เอง ยกเว้นข้อมูลประจำตัว us_ ที่ไม่มีการแทนที่อัปสตรีมจะถูกปักหมุดที่เกตเวย์ .com ทั่วโลก ดู src/endpoints.rs สำหรับกฎการเลือกที่แน่นอน
ตัวแปรสภาพแวดล้อมขั้นสูง — การปรับใช้ส่วนใหญ่ไม่เคยแตะต้องสิ่งเหล่านี้; มีไว้สำหรับการดีบัก SDK และการปรับใช้ขอบ/รายการโดเมนทั่วโลก
| ตัวแปร | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|
LONGBRIDGE_MCP_CONFIG_DIR | ~/.longbridge/mcp | ไดเรกทอรีไฟล์การกำหนดค่า |
LONGBRIDGE_PUBLIC_HOSTS | (ไม่มี) | ชื่อโฮสต์ที่คั่นด้วยเครื่องหมายจุลภาคที่ยอมรับจากส่วนหัว X-Host ที่ฉีดจากขอบ; คำขอที่ตรงกันจะสะท้อนโฮสต์นั้นในความท้าทาย 401 / ข้อมูลเมตา RFC 9728 ไม่ได้ตั้งค่า = X-Host ถูกละเว้น |
LONGBRIDGE_GLOBAL_OAUTH_URL | (ไม่มี) | URL เซิร์ฟเวอร์อนุญาตที่โฆษณาให้กับคำขอที่มาถึงผ่าน X-Host ที่อยู่ในรายการอนุญาต (รายการโดเมนเดียวทั่วโลก) ไม่ได้ตั้งค่า = กลับไปที่ URL พื้นฐาน OpenAPI ของโหมด |
LONGBRIDGE_MCP_QUOTE_WS_IDLE_TTL_SECS | 600 | วินาทีที่ไม่ได้ใช้งานก่อนที่บริบท WebSocket ราคาที่แคชจะถูกขับออก |
LONGBRIDGE_MCP_QUOTE_WS_MAX_CONTEXTS | 1024 | จำนวนสูงสุดของบริบท WebSocket ราคาที่แคชต่อกระบวนการเซิร์ฟเวอร์ |
LONGBRIDGE_MCP_LOG_PAYLOADS | (ไม่ได้ตั้งค่า) | 1 ยกขีดจำกัดบันทึกเพย์โหลด (ดูด้านล่าง) อย่าตั้งค่านี้ในการผลิต |
LONGBRIDGE_LOG_PATH | (ไม่มี) | เส้นทางบันทึกภายใน SDK ปล่อยว่างไว้ในการผลิต — 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) ในคำขอเพื่อเรียกใช้กับสภาพแวดล้อมการซื้อขายจำลอง (paper-trading) ระบบต้นทางปฏิเสธคำขอซื้อขายจำลองที่ใช้โทเค็นเงินจริง ดังนั้นส่วนหัวนี้จึงเป็นตัวป้องกันความปลอดภัยมากกว่าสวิตช์เส้นทาง: มันสามารถจำกัดสิ่งที่โทเค็นทำได้เท่านั้น 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) |
เมตริก 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