Longbridge
공식미국/홍콩 시장 — 110개 도구: 실시간 시세, 옵션, 주문, 펀더멘털, 알림, DCA 및 포트폴리오
Longbridge MCP(으)로 무엇을 할 수 있나요?
- 실시간 시세 —
quote도구를 통해 미국 및 홍콩 종목의 실시간 또는 과거 시세, 캔들스틱, 호가, 옵션 데이터를 요청할 수 있습니다. - 매매 작업 — 주문 체결, 취소, 변경(멀티레그 옵션 조합 포함) 및 포지션, 잔고, 체결 내역 확인이 가능합니다.
- 기초 리서치 — 기업의 재무제표, 배당금, EPS 전망, 밸류에이션, 애널리스트 등급을 조회할 수 있습니다.
- 포트폴리오 분석 — Longbridge 계정의 손익 요약, 실현 손익, 환율 정보를 확인할 수 있습니다.
- 가격 알림 — 시장 움직임을 추적하기 위해 가격 알림을 생성, 조회, 활성화 또는 삭제할 수 있습니다.
- 적립식 투자(DCA) 및 그리드 매매 — 적립식 투자 플랜과 그리드 매매 전략을 설정, 일시 중지 또는 중단할 수 있습니다.
호스팅형 MCP 서버
npx add-mcp 'https://mcp.longbridge.com'Claude Code, Codex, Cursor 등에 설치됩니다
문서
Longbridge MCP Server
Longbridge 증권사의 공식 MCP 서버입니다. 164개의 도구가 실시간 시세, 옵션, 주문 라우팅, 펀더멘털, 애널리스트 평가, 캘린더, IPO, 가격 알림, DCA 플랜, 그리드 트레이딩, 포트폴리오 분석 및 커뮤니티 공유 리스트를 포함하며 — 미국 및 홍콩 시장을 지원합니다. Rust로 rmcp 및 axum을 사용하여 구축되었습니다.
ChatGPT 및 Claude에서 사용 가능
Longbridge는 ChatGPT 앱 디렉토리와 Claude 커넥터 디렉토리에 공식 등재되었습니다.
일반 언어로 시장과 대화하세요 — 시세, 옵션, 펀더멘털, 그리고 본인의 포트폴리오까지 —
편집할 구성 파일도, 붙여넣을 토큰도 없습니다.
| 한 곳에서 추가 | 그냥 물어보기 | |
|---|---|---|
| ChatGPT | 설정 → 앱 및 커넥터 → Longbridge 추가 | "오늘 NVDA 거래는 어떤가요?" · "내 홍콩 포지션 보여줘" |
| Claude | 설정 → 커넥터 → Longbridge 추가 (웹 · 데스크톱 · 모바일) | "AAPL과 MSFT 밸류에이션 비교해줘" · "이번 주 IPO 있나요?" |
Longbridge 계정으로 한 번 로그인하세요. 모든 요청은 아래 문서화된 동일한 호스팅 OAuth 2.1 보안 엔드포인트를 통해 실행됩니다 — 읽기 전용 시장 데이터와 전체 계정, 포트폴리오 및 거래 도구가 모두 본인의 자격 증명으로 보호됩니다.
주요 기능
- 164개 도구, 하나의 엔드포인트 — 시세, 옵션, 주문 라우팅, 펀더멘털, 애널리스트 리서치, 스크리너, IPO, 알림, DCA, 그리드 트레이딩 및 포트폴리오 분석을 미국 및 홍콩 시장에서 지원합니다.
- 상태 비저장 설계 — 모든 요청은 Bearer 토큰을 Longbridge SDK로 직접 전달합니다. 세션, 데이터베이스, 서버 측 저장이 없습니다.
- OAuth 2.1 자동 검색 — RFC 9728 보호 리소스 및 RFC 8414 인증 서버 메타데이터; 클라이언트는 붙여넣을 토큰 없이 흐름을 완료합니다.
- 깔끔한 타입 응답 — snake_case 필드, RFC 3339 타임스탬프, 사람이 읽을 수 있는 심볼, MCP 리소스로 제공되는 타입 응답 스키마.
Rust로 rmcp 및 axum을 사용하여 구축되었습니다.
jq로 도구 응답 필터링
모든 도구는 인수에 선택적 _jq 문자열을 허용합니다. 표현식은 정상적인 응답 직렬화 후 완전한 반환 JSON에 대해 실행됩니다. _jq 이름은 비즈니스 매개변수와의 충돌을 피하기 위해 응답 필터링용으로 예약되어 있습니다. 사용 지침은 MCP initialize 응답의 instructions에 한 번 전송됩니다; 각 도구 스키마는 선택적 매개변수 이름과 유형만 선언합니다. 예:
{
"name": "quote",
"arguments": {
"symbols": ["AAPL.US", "MSFT.US"],
"_jq": "map({symbol, last_done})"
}
}
.data[:5]를 사용하여 data 배열의 처음 5개 항목을 가져오고, .data | map(select(.price > 10))로 행을 선택하거나, {total: .total}로 필드를 프로젝션합니다. 표현식은 내장된 jaq 엔진의 jq 호환 구문을 사용합니다; 별도의 jq 실행 파일이 필요하지 않습니다.
_jq을 생략하거나(또는null전달) 원래 응답을 유지합니다.- 출력 값 하나는 직접 반환되고, 여러 값은 배열로, 값이 없으면
[]로 반환됩니다. 스칼라와 배열은 JSON 텍스트입니다; 객체는 필터링된 필드만 포함하는structuredContent에도 나타납니다. - 일반 텍스트 응답은 JSON 문자열로 제공됩니다. 구조화된 콘텐츠가 없는 여러 콘텐츠 블록은 배열로 제공됩니다.
- 도구 오류 및 권한/데이터 없음 설명은 필터링되지 않습니다.
- 빈, 유효하지 않거나 문자열이 아닌 표현식은 도구 실행 전에 거부됩니다. 런타임에 필터링이 실패하면 응답에 도구가 이미 실행되었음을 명시적으로 표시합니다. 주문과 같은 쓰기 작업을 자동으로 재시도하지 마십시오.
- 환경 액세스, 파일 시스템 가져오기 및 로깅 필터는 사용할 수 없습니다. 출력은 10,000개 값 및 8MiB로 제한됩니다; 한도 초과 시 부분 결과 대신 오류가 반환됩니다.
필터가 응답 형태를 변경할 수 있으므로 도구는 고정 outputSchema을 광고하지 않습니다. 원래 타입 스키마는 lb://tools/{tool-name}/output-schema의 resources/list 및 resources/read를 통해 스키마 기반 도구에 계속 제공됩니다.
자체 클라이언트 연결
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)을 가져와 Longbridge OAuth 흐름을 위해 브라우저를 엽니다. 토큰은 세션별로 캐시되고 자동으로 갱신됩니다.
164개 도구
시장 데이터, 거래, 리서치 및 계정 관리를 포괄하는 20개 카테고리.
| 카테고리 | 수 | 범위 |
|---|---|---|
| 시세 | 32 | 실시간 및 과거 시세, 캔들스틱, 호가, 브로커, 옵션, 워런트, 관심 목록, 자금 흐름, 시장 온도, 공매도 포지션, 옵션 거래량 |
| 펀더멘털 | 33 | 재무제표/보고서, 사업 부문, 기관 시각, 업계 동종/밸류에이션, 배당금, EPS 전망, 밸류에이션 및 밸류에이션 비교, 회사 정보/임원, 주주, 기업 활동, 운영 지표 |
| 거래 | 15 | 주문 제출/취소/교체, 다리 옵션 조합 주문, 포지션, 잔고, 체결, 현금 흐름, 마진 |
| 시장 | 15 | 시장 상태, 업계/급등주 순위, 브로커 보유, A/H 프리미엄, 거래 통계, 이상 거래, 공매도/마진, 지수 구성 종목 |
| DCA | 9 | 달러 비용 평균화 플랜 생성/업데이트/일시 중지/재개/중지, 실행 기록, 통계, 지원 확인 |
| 그리드 | 11 | 그리드 트레이딩 주문 제출/교체/취소/일시 중지/재시작, 목록/상세/트리거 기록 조회, 심볼별 설정 정보, 일회성 전략 동의 |
| 공유 리스트 | 8 | 커뮤니티 공유 리스트 CRUD, 멤버 추가/제거/정렬, 인기 리스트 |
| IPO | 7 | IPO 청약, 캘린더, 상장 주식, 주문 상세, 손익 분석 |
| 콘텐츠 | 7 | 뉴스 목록/상세, 토론 주제 CRUD 및 답글 |
| 알림 | 5 | 가격 알림 CRUD (추가, 삭제, 활성화, 비활성화, 목록) |
| 스크리너 | 5 | 주식 스크리너 검색, 지표, 전략 추천/관리 |
| 포트폴리오 | 4 | 환율, 손익 분석 (요약, 상세, 실현) |
| ATM | 3 | 은행 카드, 출금 기록, 입금 기록 |
| 매크로데이터 | 2 | 거시경제 지표 목록 및 상세 |
| 검색 | 2 | 뉴스 검색, 커뮤니티 주제 검색 |
| 명세서 | 2 | 계정 명세서 목록 및 내보내기 |
| 캘린더 | 1 | 금융 캘린더 (실적, 배당금, IPO, 매크로 데이터, 휴장) |
| 퀀트 | 1 | 과거 K-라인 데이터에 퀀트 지표 스크립트 실행 |
| 인증 | 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는 TLS 사용 시 https://localhost:{port}, 미사용 시 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 | (없음) | HTTPS용 PEM 인증서 파일 |
| TLS 개인 키 | tls_key | --tls-key | (없음) | HTTPS용 PEM 개인 키 파일 |
| 카나리아 업스트림 | canary | --canary | false | Longbridge 카나리아 환경과 통신 (*.longbridge.xyz). --canary=false는 구성 파일이 활성화해도 프로덕션을 강제합니다 |
중국 본토 환경(*.longbridge.cn)은 플래그가 아닙니다: LONGBRIDGE_REGION=cn가 설정되면 자동 선택됩니다 (SDK가 사용하는 동일한 변수), 따라서 본토 클러스터는 전용 설정이 필요하지 않습니다.
업스트림 엔드포인트는 선택된 환경에 따라 고정됩니다:
| 프로덕션 (기본값) | 카나리아 (--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 |
카나리아는 openapi.longbridge.xyz이 아닌 -global 게이트웨이를 사용합니다: 전자만 CloudFront 프론트가 있고 x-dc-region 데이터 센터 라우팅을 수행하며, 이 서버가 하나의 프로세스에서 us_- 및 ap_-접두사 자격 증명을 제공하는 데 의존합니다.
카나리아와 본토는 시작 시 위의 모든 URL을 고정합니다; 프로덕션은 업스트림 재정의가 없는 us_ 자격 증명이 전역 .com 게이트웨이에 고정되는 경우를 제외하고 SDK 자체 해석에 위임합니다. 정확한 선택 규칙은 src/endpoints.rs를 참조하세요.
고급 환경 변수 — 대부분의 배포는 건드리지 않습니다; SDK 디버깅 및 엣지/글로벌 진입 배포용으로 존재합니다.
| 변수 | 기본값 | 설명 |
|---|---|---|
LONGBRIDGE_MCP_CONFIG_DIR | ~/.longbridge/mcp | 구성 파일 디렉토리 |
LONGBRIDGE_PUBLIC_HOSTS | (없음) | 엣지 주입 X-Host 헤더에서 허용되는 쉼표로 구분된 호스트 이름; 일치하는 요청은 401 챌린지 / RFC 9728 메타데이터에서 해당 호스트를 에코합니다. 설정 안 함 = X-Host 무시 |
LONGBRIDGE_GLOBAL_OAUTH_URL | (없음) | 허용 목록 X-Host (전역 단일 도메인 진입)을 통해 도착하는 요청에 광고되는 인증 서버 URL. 설정 안 함 = 모드의 OpenAPI 기본 URL로 폴백 |
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 엔드포인트, 인증 및 메트릭
서버는 Authorization: Bearer <token>에 Longbridge OAuth 액세스 토큰이 있기를 기대합니다. 인증이 누락되거나 유효하지 않으면 401을 반환하며, WWW-Authenticate 헤더에 보호된 리소스 메타데이터를 가리키는 정보를 포함하여 클라이언트를 Longbridge OAuth 인증 서버로 안내합니다.
요청에 x-papertrading: true (또는 1)을 보내면 모의 거래 환경에서 실행됩니다. 업스트림은 실거래 토큰으로 모의 거래 요청을 거부하므로, 이 헤더는 라우팅 스위치가 아닌 안전 장치 역할을 합니다: 토큰이 수행할 수 있는 작업을 좁힐 수만 있습니다. LONGBRIDGE_PAPERTRADING=true은 전체 배포에 대해 이를 켭니다.
| 메서드 | 경로 | 설명 |
|---|---|---|
| GET | /.well-known/oauth-protected-resource | 보호된 리소스 메타데이터 (RFC 9728) |
| GET | /.well-known/oauth-authorization-server | 인증 서버 메타데이터 (RFC 8414); 직접 Longbridge authorize/register 및 프록시 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 라이선스에 따라 배포됩니다.