Skip to main content
Glama

TradingView MCP

CI License: MIT Node.js 22+

Локальный сервер Model Context Protocol и loopback REST API для рыночных данных, детерминированного технического анализа, рендеринга графиков и опциональных браузерных сценариев TradingView Supercharts.

Сервер работает через stdio и запускает локальный просмотрщик и браузеры Playwright только тогда, когда они нужны какому-либо инструменту. Высокоуровневые инструменты истории и анализа по умолчанию автоматически закрывают управляемый браузер.

[!IMPORTANT] Это независимый проект с открытым исходным кодом. Он не аффилирован с TradingView, не спонсируется и не поддерживается TradingView. TradingView и Lightweight Charts являются товарными знаками TradingView, Inc. Пользователи несут ответственность за соблюдение условий TradingView, разрешений учетной записи, прав на биржевые данные и применимых лицензий на данные.

Возможности

  • Инструменты MCP для поиска рынков, котировок, OHLCV, анализа и состояния графиков

  • Официальные скриншоты TradingView одним вызовом для точного символа, интервала и диапазона дат

  • Контекст исторической даты одним вызовом: OHLCV, гэпы, изменения, объем, экспортированные поля индикаторов, скользящая доходность и технический анализ

  • Детерминированные расчеты SMA, EMA, RSI, MACD, полос Боллинджера, ATR, тренда, сигналов и уровней поддержки/сопротивления

  • Локальный просмотрщик Lightweight Charts с захватом PNG

  • Поддержка CSV, встроенных данных OHLCV, демо-данных и опционально настраиваемого апстрима

  • Атомарные оверлеи индикаторов, уровней, пользовательских серий, ценовых зон и маркеров

  • Опциональные сценарии Playwright для навигации по Supercharts TradingView с авторизацией аккаунта, экспорта CSV, индикаторов и скриншотов

  • Компактные результаты MCP по умолчанию, чтобы большие массивы OHLCV не расходовали контекст модели без необходимости

  • Привязка HTTP только к loopback, изоляция путей, проверка входных данных, фильтрация учетных данных и проверки браузера с блокировкой при сбое

Related MCP server: TradingView MCP Jackson

Архитектура

MCP client -- stdio --+-- deterministic analysis and chart state
                      +-- on-demand local viewer / PNG capture
                      +-- optional on-demand TradingView browser

REST client -- loopback HTTP -- local viewer and compatible JSON endpoints

Локальный просмотрщик — это детерминированная поверхность рендеринга; он не является клоном проприетарных функций графиков TradingView. См. границу совместимости.

Требования

  • Node.js 22 или новее

  • npm

  • Chromium, установленный через Playwright, если используются инструменты скриншотов или браузера

Установка из исходного кода

git clone https://github.com/moeuu/tradingview-mcp.git
cd tradingview-mcp
npm ci
npx playwright install chromium
npm run build

Для Linux CI или машины без системных зависимостей Chromium:

npx playwright install --with-deps chromium

Подключение MCP-клиента

TradingView MCP не зависит от клиента. Он использует стандартный транспорт MCP stdio и не вызывает API, специфичные для конкретного клиента. Любой MCP-клиент, который может запускать локальный процесс, может использовать:

node /absolute/path/to/tradingview-mcp/dist/mcp.js

Многие настольные клиенты и клиенты редакторов используют эту общую форму конфигурации:

{
  "mcpServers": {
    "tradingview": {
      "command": "node",
      "args": ["/absolute/path/to/tradingview-mcp/dist/mcp.js"],
      "env": {
        "MARKET_CHART_PORT": "0",
        "MARKET_CHART_DATA_ROOT": "/absolute/path/to/tradingview-mcp/data"
      }
    }
  }
}

При необходимости адаптируйте внешние ключи конфигурации под свой клиент; команда, аргументы, окружение и протокол MCP остаются прежними. Перезапустите клиент после изменения его конфигурации. MARKET_CHART_PORT=0 выбирает эфемерный порт просмотрщика и позволяет избежать постоянно прослушивающего сервиса.

См. настройку MCP-клиентов и совместимость для получения сведений о поведении транспорта, жизненном цикле и устранении неполадок.

Рекомендуемый сценарий работы с MCP

  1. Вызовите market_get_capabilities, если доступность провайдера неясна.

  2. Используйте tradingview_get_day для получения исчерпывающей информации о символе на конкретную дату.

  3. Используйте tradingview_capture_period для официального PNG Supercharts, покрывающего точные календарные даты.

  4. Используйте tradingview_analyze_symbol для получения последней истории и детерминированного анализа одним вызовом.

  5. Используйте tradingview_get_history, когда нужна только недавняя история.

  6. Используйте chart_import_csv или chart_set_data для локальных/пользовательских данных.

  7. Используйте chart_analyze, chart_apply_overlays и chart_snapshot для локального анализа и визуализации.

Примеры вызовов:

{
  "name": "tradingview_capture_period",
  "arguments": {
    "symbol": "NASDAQ:AAPL",
    "interval": "D",
    "from": "2024-01-02",
    "to": "2024-03-28"
  }
}
{
  "name": "tradingview_get_day",
  "arguments": {
    "symbol": "NASDAQ:AAPL",
    "date": "2024-01-03",
    "interval": "D",
    "timezone": "America/New_York"
  }
}

tradingview_get_day возвращает явный статус no_session_bar для выходных, праздников и недоступных дат, а не молча подставляет ближайшую торговую сессию. Для совпадающей даты он возвращает OHLCV сессии, предыдущий и следующий бары (если они загружены), изменения относительно предыдущего закрытия и гэпа открытия, внутридневной диапазон, скользящую доходность за периоды 5/20/50/200, детерминированные индикаторы и сигналы, а также все дополнительные колонки индикаторов, присутствующие в официальном экспорте графиков TradingView. Установите внутридневной interval и includeBars:true, чтобы получить все экспортированные бары, относящиеся к этой дате.

Высокоуровневые инструменты TradingView по умолчанию закрывают браузер. Устанавливайте includeBars: true только тогда, когда в ответе MCP требуются сырые бары, а keepBrowserOpen: true — только для немедленного последующего использования браузерных инструментов.

Сервер предоставляет как высокоуровневые, так и детальные инструменты. Клиенты, поддерживающие список разрешенных enabled_tools, могут предоставлять доступ только к инструментам, необходимым для конкретного сценария.

Опциональный браузерный сценарий TradingView

Автоматизация браузера отключена по умолчанию. Предпочтительный источник аутентификации — экспорт cookie, поскольку он может содержать только необходимые cookie сеанса. Никогда не вставляйте значения учетных данных в аргументы MCP, файлы репозитория, конфигурацию клиента или подсказки.

chmod 600 /absolute/path/to/tradingview-cookies.txt
export TRADINGVIEW_BROWSER_ENABLED=true
export TRADINGVIEW_BROWSER_BASE_URL=https://www.tradingview.com
export TRADINGVIEW_BROWSER_COOKIE_FILE=/absolute/path/to/tradingview-cookies.txt
export TRADINGVIEW_BROWSER_AUTH_COOKIE_NAMES=sessionid,sessionid_sign,device_t
export TRADINGVIEW_BROWSER_HEADLESS=true
export TRADINGVIEW_BROWSER_TIMEOUT_MS=120000

Файл аутентификации должен находиться за пределами репозитория, быть меньше 1 МиБ и иметь права доступа только для владельца в системах POSIX. Политика по умолчанию импортирует только sessionid, sessionid_sign и device_t с доменов TradingView. Локальное хранилище по умолчанию не импортируется. Значения cookie, значения хранилища и пути к файлам аутентификации никогда не принимаются в качестве аргументов инструментов MCP и не возвращаются в ответах MCP или REST.

Файл состояния хранилища Playwright можно использовать с TRADINGVIEW_BROWSER_AUTH_STATE, когда экспорт cookie недоступен. Применяется тот же список разрешенных cookie. Устанавливайте TRADINGVIEW_BROWSER_AUTH_STORAGE_KEYS только тогда, когда проверенный сценарий требует конкретные ключи локального хранилища; по умолчанию он пуст.

Доступность интерфейса Supercharts, селекторы, экспорт, тарифные планы аккаунтов, права на биржевые данные и статус задержки/реального времени контролируются TradingView и могут меняться независимо от этого проекта. Автоматизация никогда не пытается улучшить тарифный план или совершить покупку.

Подробности и ограничения см. в разделе Браузерные сценарии TradingView.

Отдельный REST API и просмотрщик

REST API является опциональным и не требуется для обычного использования MCP.

npm run serve

По умолчанию он привязывается к 127.0.0.1:4317:

curl http://127.0.0.1:4317/api/health
curl 'http://127.0.0.1:4317/api/price/DEMO:MARKET?timeframe=60&range=20'

Установите bearer-токен перед включением платного/настроенного апстрима или предоставлением доступа к чувствительным локальным данным графиков другому локальному процессу:

export MARKET_CHART_API_TOKEN='replace-with-a-long-random-value'
npm run serve

Привязка HTTP ограничена loopback-адресами. См. справочник REST API.

Конфигурация

Скопируйте .env.example как образец, но загружайте реальные значения из вашей оболочки, менеджера процессов или хранилища секретов. Приложение не читает файлы .env автоматически.

Переменная

По умолчанию

Назначение

MARKET_CHART_HOST

127.0.0.1

Только loopback-адрес привязки

MARKET_CHART_PORT

4317

Порт REST/просмотрщика; используйте 0 для эфемерного просмотрщика MCP

MARKET_CHART_DATA_ROOT

./data

Корневой каталог для CSV, экспорта и захвата

MARKET_CHART_API_TOKEN

не задано

Опциональный bearer-токен REST

MARKET_CHART_SCREENSHOTS

true

Включить захват PNG локального просмотрщика

TRADINGVIEW_BROWSER_ENABLED

false

Включить браузерные инструменты Supercharts

TRADINGVIEW_BROWSER_BASE_URL

https://www.tradingview.com

Разрешенный источник TradingView

TRADINGVIEW_BROWSER_AUTH_STATE

не задано

Путь к внешнему файлу состояния хранилища Playwright

TRADINGVIEW_BROWSER_COOKIE_FILE

не задано

Путь к внешнему экспорту cookie

TRADINGVIEW_BROWSER_AUTH_COOKIE_NAMES

sessionid,sessionid_sign,device_t

Список разрешенных имен cookie; значения остаются во внешнем файле

TRADINGVIEW_BROWSER_AUTH_STORAGE_KEYS

пусто

Опциональный список разрешенных ключей локального хранилища

TRADINGVIEW_BROWSER_HEADLESS

true

Запускать управляемый Chromium в безголовом режиме

TRADINGVIEW_BROWSER_TIMEOUT_MS

30000

Таймаут браузерных операций, 5-120 секунд

TRADINGVIEW_RAPIDAPI_KEY

не задано

Опциональный ключ совместимого апстрима

TRADINGVIEW_RAPIDAPI_HOST

по умолчанию у провайдера

Опциональный хост совместимого апстрима

Локальный формат CSV

Импортируемые CSV-файлы должны находиться внутри MARKET_CHART_DATA_ROOT, содержать возрастающие временные метки и соответствовать настроенным ограничениям.

time,open,high,low,close,volume
2026-01-02T00:00:00Z,100,104,99,103,1200000
2026-01-03T00:00:00Z,103,106,101,105,1350000

timestamp или date могут заменять time; также принимаются Unix-секунды и миллисекунды.

Модель безопасности

  • Неактивный процесс MCP через stdio не создает сетевой слушатель.

  • Локальные HTTP-маршруты привязываются только к loopback и проверяют заголовок Host.

  • Импортируемые файлы используют изоляцию реальных путей и отклоняют обход через символические ссылки.

  • Аутентификация браузера читается из одного внешнего файла с правами только для владельца и фильтруется по домену, имени cookie, сроку действия, размеру и опциональным спискам разрешенных ключей локального хранилища.

  • Схемы запросов MCP и REST не принимают cookie, токены, состояние хранилища или пути к файлам аутентификации.

  • Браузерные операции сериализуют работу с состоянием интерфейса и отклоняют входные данные инструментов, похожие на учетные данные.

  • Сгенерированные браузерные артефакты, учетные данные, файлы .env, трассировки и локальные рыночные данные игнорируются Git.

  • Результаты представляют собой аналитические наблюдения, а не инвестиционные рекомендации или гарантию будущей доходности.

Пожалуйста, сообщайте об уязвимостях в соответствии с SECURITY.md.

Разработка

npm ci
npx playwright install chromium
npm run check

npm run check запускает проверки безопасности публичного релиза, проверку текста на английском языке по всему репозиторию, строгую проверку TypeScript, полный набор тестов Vitest и производственную сборку.

Вклад приветствуется; см. CONTRIBUTING.md. Участвуя, вы соглашаетесь следовать CODE_OF_CONDUCT.md.

Лицензия и атрибуция

Исходный код проекта доступен по лицензии MIT. Встроенный просмотрщик использует TradingView Lightweight Charts под лицензией Apache-2.0; необходимые уведомления находятся в NOTICE, THIRD_PARTY_LICENSES.md и licenses/Apache-2.0.txt.

Install Server
A
license - permissive license
B
quality
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
4Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A type-safe MCP server that enables AI agents to control TradingView Desktop via Chrome DevTools Protocol, allowing chart state reading, symbol/timeframe changes, and OHLCV data fetching.
    11
    254
    1
    MIT
  • F
    license
    B
    quality
    C
    maintenance
    A TradingView-style market research and charting MCP server that provides tools for market data, indicators, watchlists, and local HTML chart rendering without scraping TradingView.
    9
  • A
    license
    Not graded
    quality
    C
    maintenance
    A local-first MCP server that bridges AI coding agents with MetaTrader 5 for inspection, market data, MQL5 development, compiling, Strategy Tester review, workspace sync, logs, audit trails, demo trading, and carefully gated live trading.
    MIT

View all related MCP servers

Related MCP Connectors

  • TradeOS MCP: ticker search, My Agent, chart TA, macro news. npm stdio or HTTP.

  • Open-source MCP server for Zerodha Kite Connect. Portfolio, market data, backtesting, alerts.

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/moeuu/tradingview-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server