Longbridge
официальныйРынки США/Гонконга — 110 инструментов: котировки в реальном времени, опционы, ордера, фундаментальные данные, оповещения, DCA и портфель
Что можно делать с Longbridge MCP?
- Котировки в реальном времени — Запрашивайте текущие и исторические котировки, свечи, данные о глубине рынка и опционах на рынках США и Гонконга.
- Портфель и торговля — Просматривайте позиции, баланс и исполненные сделки или отправляйте, отменяйте и заменяйте ордера, в том числе многокомпонентные опционные комбинации.
- Фундаментальные данные и аналитика — Получайте финансовую отчётность, данные о дивидендах, мнения аналитиков, оценки стоимости и сведения о руководителях компании.
- Скринер и календари — Ищите акции с помощью скринера или проверяйте финансовый календарь на предмет отчётности, дивидендов, IPO и макроэкономических данных.
- Оповещения и регулярные планы — Создавайте оповещения о ценах, управляйте планами усреднения долларовой стоимости и настраивайте стратегии сеточной торговли.
- Фильтрация ответов — Передавайте выражение
_jqлюбому инструменту, чтобы сократить большие ответы и оставить только нужные поля.
Размещённый MCP-сервер
npx add-mcp 'https://mcp.longbridge.com'Устанавливается в Claude Code, Codex, Cursor и другие
Документация
Сервер Longbridge MCP
Официальный MCP-сервер брокерской компании Longbridge. 164 инструмента для работы с котировками в реальном времени, опционами, маршрутизацией ордеров, фундаментальными показателями, рейтингами аналитиков, календарями, IPO, ценовыми оповещениями, планами DCA, сеточной торговлей, аналитикой портфеля и списками акций сообщества — для рынков США и Гонконга. Создан на Rust с использованием rmcp и axum.
Теперь доступно в ChatGPT и Claude
Longbridge официально представлен в каталоге приложений ChatGPT и каталоге коннекторов Claude.
Общайтесь с рынками на обычном языке — узнавайте котировки, сведения об опционах и фундаментальных показателях, а также данные о собственном портфеле —
без редактирования файлов конфигурации и вставки токенов.
| Добавьте в одном месте | Затем просто спросите | |
|---|---|---|
| ChatGPT | Settings → Apps & Connectors → добавьте Longbridge | «Как сегодня торгуется NVDA?» · «Покажи мои позиции в Гонконге» |
| Claude | Settings → Connectors → добавьте Longbridge (веб · компьютер · мобильное устройство) | «Сравни оценку AAPL и MSFT» · «Есть ли IPO на этой неделе?» |
Войдите один раз с помощью учетной записи Longbridge. Каждый запрос проходит через тот же размещенный OAuth 2.1-защищенный endpoint, описанный ниже: доступны данные рынка только для чтения, а также все инструменты для работы с учетной записью, портфелем и торговлей, защищенные вашими учетными данными.
Основные возможности
- 164 инструмента, один endpoint — котировки, опционы, маршрутизация ордеров, фундаментальные показатели, аналитические исследования, скринеры, 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,
.data | map(select(.price > 10)), чтобы выбрать строки, или {total: .total}, чтобы
выбрать поля. Выражения используют совместимый с jq синтаксис встроенного движка jaq;
отдельный исполняемый файл jq не требуется.
- Не указывайте
_jq(или передайтеnull), чтобы сохранить исходный ответ. - Одно выходное значение возвращается напрямую, несколько — в виде массива, а отсутствие
значений — как
[]. Скаляры и массивы представлены текстом JSON; объекты также отображаются вstructuredContent, содержащем только отфильтрованные поля. - Обычные текстовые ответы доступны в виде строк JSON. Несколько блоков содержимого без структурированного содержимого доступны в виде массива.
- Ошибки инструментов и пояснения об отсутствии разрешений или данных не фильтруются.
- Пустые, недопустимые выражения и выражения не в виде строк отклоняются до запуска инструмента. Если фильтрация завершается ошибкой во время выполнения, в ответе явно указывается, что инструмент уже выполнился. Не повторяйте автоматически операции записи, например размещение ордера.
- Доступ к окружению, импорт файловой системы и фильтры журналирования недоступны. Вывод ограничен 10 000 значениями и 8 МиБ; при превышении лимита возвращается ошибка, а не частичный результат.
Поскольку фильтры могут менять структуру ответа, инструменты не объявляют фиксированную
outputSchema. Исходные типизированные схемы доступны через resources/list
и resources/read по адресу lb://tools/{tool-name}/output-schema для инструментов со схемами.
Подключение собственного клиента
Longbridge предоставляет размещенный endpoint 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
При первом использовании клиент считывает запрос WWW-Authenticate, получает /.well-known/oauth-protected-resource (RFC 9728) и открывает браузер для OAuth-процесса Longbridge. Токены кэшируются для каждого сеанса и обновляются автоматически.
164 инструмента
Двадцать категорий охватывают рыночные данные, торговлю, исследования и управление учетной записью.
| Категория | Количество | Охват |
|---|---|---|
| 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-линий |
| 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). Параметры командной строки имеют приоритет. Если заданы и 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 |
| Вышестоящий сервер Canary | canary | --canary | false | Подключение к среде Longbridge Canary (*.longbridge.xyz). --canary=false принудительно включает production, даже если это разрешено в файле конфигурации |
Среда материкового Китая (*.longbridge.cn) не является флагом: она выбирается автоматически, если задана переменная LONGBRIDGE_REGION=cn (та же переменная, которую использует SDK), поэтому для кластера материкового Китая отдельная настройка не требуется.
Вышестоящие endpoint определяются выбранной средой:
| Production (по умолчанию) | 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 при запуске; production полагается на собственное разрешение адресов 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 снимает ограничения на объем журналируемых данных (см. ниже). Никогда не задавайте в 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); указывает прямые эндпоинты авторизации/регистрации Longbridge и проксируемые эндпоинты получения/отзыва токенов |
| 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.