Longbridge
공식미국/홍콩 시장 — 110개 도구: 실시간 시세, 옵션, 주문, 펀더멘털, 알림, DCA 및 포트폴리오
Longbridge MCP(으)로 무엇을 할 수 있나요?
- 실시간 시세 — 미국 및 홍콩 시장의 실시간·과거 시세, 캔들스틱, 호가 잔량, 옵션 데이터를 요청합니다.
- 포트폴리오 및 거래 — 보유 포지션, 잔액, 체결 내역을 확인하거나 여러 구간으로 구성된 옵션 조합을 포함해 주문을 제출, 취소, 정정합니다.
- 펀더멘털 및 리서치 — 주식의 재무제표, 배당금, 애널리스트 의견, 밸류에이션, 경영진 정보를 가져옵니다.
- 종목 검색 및 캘린더 — 종목 스크리너를 실행하거나 실적 발표, 배당, IPO, 거시경제 데이터가 포함된 금융 캘린더를 확인합니다.
- 알림 및 정기 투자 계획 — 가격 알림을 만들고, 달러 코스트 애버리징 계획을 관리하며, 그리드 트레이딩 전략을 설정합니다.
- 필터링된 응답 — 모든 도구에
_jq표현식을 전달해 큰 응답에서 필요한 필드만 추립니다.
호스팅형 MCP 서버
npx add-mcp 'https://mcp.longbridge.com'Claude Code, Codex, Cursor 등에 설치됩니다
문서
Longbridge MCP Server
Longbridge 증권사의 공식 MCP 서버입니다. 실시간 시세, 옵션, 주문 라우팅, 펀더멘털, 애널리스트 평가, 캘린더, IPO, 가격 알림, DCA 플랜, 그리드 트레이딩, 포트폴리오 분석 및 커뮤니티 공유 목록을 아우르는 164개 도구를 제공하며, 미국 및 홍콩 시장을 지원합니다. rmcp와 axum을 사용해 Rust로 구축했습니다.
이제 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 토큰을 Longbridge SDK로 직접 전달합니다. 세션도 데이터베이스도 없으며, 서버 측에 저장되는 정보도 없습니다.
- OAuth 2.1 자동 검색 — RFC 9728 보호 리소스 및 RFC 8414 인증 서버 메타데이터를 사용합니다. 클라이언트는 붙여넣을 토큰 없이 인증 절차를 완료합니다.
- 명확한 형식의 타입 지정 응답 — snake_case 필드, RFC 3339 타임스탬프, 사람이 읽을 수 있는 심볼, MCP 리소스로 제공되는 타입 지정 응답 스키마.
jq로 도구 응답 필터링
모든 도구는 인수에 선택적 _jq 문자열을 받습니다. 이 표현식은 일반 응답 직렬화가 끝난 뒤 반환된 전체 JSON에 적용됩니다. _jq 이름은 비즈니스 매개변수와의 충돌을 방지하기 위해 응답 필터링 전용으로 예약되어 있습니다. 사용 안내는 MCP initialize 응답의 instructions에 한 번 전송됩니다. 각 도구 스키마에는 선택적 매개변수의 이름과 타입만 선언됩니다. 예를 들면 다음과 같습니다.
{
"name": "quote",
"arguments": {
"symbols": ["AAPL.US", "MSFT.US"],
"_jq": "map({symbol, last_done})"
}
}
.data[:5]을 사용해 data 배열의 처음 다섯 항목을 가져오고,
.data | map(select(.price > 10))을 사용해 행을 선택하거나, {total: .total}를 사용해
필드를 추출할 수 있습니다. 표현식은 내장된 jaq
엔진의 jq 호환 구문을 사용하므로 별도의 jq 실행 파일이 필요하지 않습니다.
_jq를 생략하거나null를 전달하면 원래 응답이 유지됩니다.- 출력 값이 하나면 그대로 반환되고, 여러 개면 배열로, 값이 없으면
[]로 반환됩니다. 스칼라와 배열은 JSON 텍스트이며, 객체는 필터링된 필드만 포함하는structuredContent에도 표시됩니다. - 일반 텍스트 응답은 JSON 문자열로 제공됩니다. 구조화된 콘텐츠가 없는 여러 콘텐츠 블록은 배열로 제공됩니다.
- 도구 오류와 권한/데이터 없음 안내는 필터링되지 않습니다.
- 비어 있거나 유효하지 않거나 문자열이 아닌 표현식은 도구 실행 전에 거부됩니다. 런타임에 필터링이 실패하면 도구가 이미 실행되었다는 점을 응답에 명시합니다. 주문 제출과 같은 쓰기 작업을 자동으로 재시도하지 마세요.
- 환경 접근, 파일 시스템 가져오기, 로깅 필터는 사용할 수 없습니다. 출력은 값 10,000개와 8 MiB로 제한됩니다. 한도를 초과하면 일부 결과가 아닌 오류가 반환됩니다.
필터에 따라 응답 형태가 달라질 수 있으므로 도구는 고정된 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" } } }
Codex — 서버를 추가한 다음 브라우저에서 OAuth를 완료하세요.
codex mcp add longbridge --url https://mcp.longbridge.com
codex mcp login longbridge
Cursor · Cline · Windsurf · Zed · 기타 클라이언트 — 전송 방식 streamable-http를 사용해 https://mcp.longbridge.com를 지정하세요.
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개 카테고리입니다.
| 카테고리 | 개수 | 범위 |
|---|---|---|
| Quote | 32 | 실시간 및 과거 시세, 캔들스틱, 호가 잔량, 브로커, 옵션, 워런트, 관심 목록, 자금 흐름, 시장 온도, 공매도 포지션, 옵션 거래량 |
| Fundamental | 33 | 재무제표/보고서, 사업 부문, 기관 투자자 관점, 업계 동종 기업/밸류에이션, 배당, EPS 전망, 밸류에이션 및 비교, 기업 정보/임원, 주주, 기업 활동, 운영 지표 |
| Trade | 15 | 주문 제출/취소/대체, 다중 레그 옵션 결합 주문, 포지션, 잔액, 체결 내역, 현금 흐름, 증거금 |
| Market | 15 | 시장 상태, 업종/상승·하락 종목 순위, 브로커 보유 현황, A/H 프리미엄, 거래 통계, 이상 징후, 공매도 거래/증거금, 지수 구성 종목 |
| DCA | 9 | 달러 코스트 애버리징 플랜 생성/업데이트/일시 중지/재개/중지, 실행 내역, 통계, 지원 여부 확인 |
| 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로 설정해야 합니다. 클라이언트가 인증 서버를 검색할 때 사용하는 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 | --canary | false | Longbridge Canary 환경(*.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 |
| 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는 openapi.longbridge.xyz가 아닌 -global 게이트웨이를 사용합니다. 전자만 CloudFront를 통해 제공되며 x-dc-region 데이터 센터 라우팅을 수행합니다. 이 서버는 이를 통해 하나의 프로세스에서 us_ 및 ap_ 접두사가 붙은 자격 증명을 처리합니다.
Canary와 중국 본토 환경은 시작 시 위의 모든 URL을 고정합니다. 프로덕션은 SDK 자체의 URL 확인을 따르지만, 업스트림 재정의가 없는 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 | (없음) | 허용 목록에 있는 X-Host을 통해 들어오는 요청에 알릴 인증 서버 URL (전역 단일 도메인 진입점)입니다. 설정하지 않으면 모드의 OpenAPI 기본 URL을 사용합니다 |
LONGBRIDGE_MCP_QUOTE_WS_IDLE_TTL_SECS | 600 | 캐시된 Quote WebSocket 컨텍스트를 제거하기 전 대기하는 유휴 시간(초) |
LONGBRIDGE_MCP_QUOTE_WS_MAX_CONTEXTS | 1024 | 서버 프로세스당 캐시할 수 있는 최대 Quote 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 토큰 프록시; 코드/refresh token에서 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 라이선스에 따라 배포됩니다.