Longbridge
официальныйРынки США/Гонконга — 110 инструментов: котировки в реальном времени, опционы, ордера, фундаментальные данные, оповещения, DCA и портфель
Что можно делать с Longbridge MCP?
- Реал-тайм котировки — Запрашивайте живые или исторические котировки, свечи, стакан и данные по опционам для символов США и Гонконга через инструмент
quote. - Торговые операции — Размещайте, отменяйте или заменяйте ордера, включая многоколенные опционные комбинации, а также проверяйте позиции, балансы и исполнения.
- Фундаментальный анализ — Получайте финансовые отчёты, дивиденды, прогнозы 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 и каталоге коннекторов Claude.
Общайтесь с рынками на простом языке — котировки, опционы, фундаментальные данные и ваш собственный портфель —
без необходимости редактировать файлы конфигурации или вставлять токены.
| Добавьте в одном месте | Затем просто спросите | |
|---|---|---|
| ChatGPT | Настройки → Приложения и коннекторы → добавьте Longbridge | «Как сегодня торгуется NVDA?» · «Покажи мои позиции на HK» |
| 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
зарезервировано для фильтрации ответов, чтобы избежать конфликтов с бизнес-параметрами.
Инструкции по использованию отправляются один раз в 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} для
проецирования полей. Выражения используют встроенный движок jaq
с синтаксисом, совместимым с jq; отдельный исполняемый файл jq не требуется.
- Опустите
_jq(или передайтеnull), чтобы сохранить исходный ответ. - Одно выходное значение возвращается напрямую, несколько значений — как массив, а отсутствие
значений — как
[]. Скаляры и массивы — это JSON-текст; объекты также появляются вstructuredContent, содержащем только отфильтрованные поля. - Ответы в виде простого текста доступны как JSON-строки. Несколько блоков контента без структурированного содержимого доступны как массив.
- Ошибки инструментов и объяснения отсутствия разрешений/данных остаются без фильтрации.
- Пустые, недопустимые или нестроковые выражения отклоняются до запуска инструмента. Если фильтрация завершается ошибкой во время выполнения, ответ явно указывает, что инструмент уже выполнен. Не выполняйте автоматические повторные попытки записи, например размещения ордера.
- Доступ к окружению, импорт файловых систем и фильтры журналирования недоступны. Вывод ограничен 10 000 значений и 8 МиБ; превышение лимита возвращает ошибку, а не частичный результат.
Поскольку фильтры могут изменять форму ответа, инструменты не объявляют фиксированный
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 | Котировки в реальном времени и исторические, свечи, глубина рынка, брокеры, опционы, варранты, списки наблюдения, поток капитала, температура рынка, короткие позиции, объём опционов |
| Фундаментальные данные | 33 | Финансовые отчёты/отчётность, бизнес-сегменты, институциональные взгляды, отраслевые аналоги/оценка, дивиденды, прогнозы EPS, оценки и сравнение оценок, информация о компании/руководстве, акционеры, корпоративные действия, операционные показатели |
| Торговля | 15 | Размещение/отмена/замена ордеров, многоколенные комбинированные опционные ордера, позиции, баланс, исполнения, движение денежных средств, маржа |
| Рынок | 15 | Статус рынка, отраслевые/лидеры роста, активы брокеров, A/H-премия, торговая статистика, аномалии, короткие сделки/маржа, состав индексов |
| DCA | 9 | Создание/обновление/пауза/возобновление/остановка плана усреднения долларовой стоимости, история исполнений, статистика, проверка поддержки |
| Сетка | 11 | Размещение/замена/отмена/приостановка/перезапуск сеточных ордеров, чтение списка/детализации/истории триггеров, информация о настройке по символу, одноразовое согласие на стратегию |
| Списки | 8 | CRUD публичных списков сообщества, добавление/удаление/сортировка участников, популярные списки |
| IPO | 7 | Подписки на IPO, календарь, размещённые акции, детализация ордеров, анализ прибыли/убытков |
| Контент | 7 | Список/детализация новостей, CRUD тем обсуждений и ответы |
| Оповещения | 5 | CRUD ценовых оповещений (добавление, удаление, включение, отключение, список) |
| Скринер | 5 | Поиск по скринеру акций, индикаторы, рекомендации/управление стратегиями |
| Портфель | 4 | Обменные курсы, анализ прибыли/убытков (сводка, детализация, реализованные) |
| Банкомат | 3 | Банковские карты, записи снятия, записи депозитов |
| Макроданные | 2 | Список и детализация макроэкономических индикаторов |
| Поиск | 2 | Поиск новостей, поиск тем сообщества |
| Выписка | 2 | Список и экспорт выписок по аккаунту |
| Календарь | 1 | Финансовый календарь (прибыль, дивиденды, IPO, макроданные, закрытия) |
| Квант | 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 |
| 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 выше при запуске; продакшн делегирует разрешение самому 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 | Количество секунд простоя до вытеснения кэшированного контекста 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-эндпоинты, аутентификация и метрики
Сервер ожидает 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-токен) |
Метрики 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.