Skip to main content
Glama
mathieubernardi

MCP TradingView Server

MCP TradingView Server

MCP-сервер (Model Context Protocol) на Python, который предоставляет данные рынка TradingView MCP-клиенту — Claude Desktop, claude.ai или любому другому совместимому клиенту. Данные получаются через tvdatafeed (OHLCV) и tradingview-ta (скринер).

Предоставляемые инструменты

Инструмент MCP

Описание

tv_get_historical_data

Исторические свечи OHLCV (акции, криптовалюты, форекс, фьючерсы)

tv_get_quote

Последняя свеча + изменение в % по сравнению с предыдущей

tv_get_indicators

Технические индикаторы, мультитаймфреймовый контекст и композитная оценка

tv_screener

Фильтрация по рынку, объёму и RSI на предопределённом наборе инструментов

tv_get_indicators подробнее

Рассчитываемые индикаторы: RSI, MACD, Bollinger Bands (с обнаружением сжатия), EMA, SMA, ATR (с уровнями стопов для длинных и коротких позиций), Стохастик, ADX (+DI/−DI), OBV, средний объём и коэффициент объёма за 20 периодов, а также обнаружение расхождений RSI.

Три опции, отключённые по умолчанию:

Параметр

Эффект

include_weekly: true

Добавляет недельный контекст: weekly_rsi, weekly_adx, weekly_trend

benchmark_symbol: "CW8"

Рассчитывает относительную силу за 1 и 3 месяца по сравнению с этим бенчмарком

include_score: true

Рассчитывает композитную техническую оценку в [-1, +1] и её подоценки

Допустимые интервалы: 1, 3, 5, 15, 30, 45 (минут), 1H, 2H, 3H, 4H, 1D, 1W, 1M.

Охват скринера

tvdatafeed не предоставляет API скринера. Поэтому tv_screener перебирает жёстко заданный предопределённый набор в MARKET_SYMBOLS (src/mcp_tradingview/client.py) и вычисляет индикаторы по каждому символу через tradingview-ta:

Рынок

Охватываемый набор

france

29 символов Euronext Paris — CAC 40, несколько технологических midcaps, ETF, доступные для PEA

america

20 голубых фишек Nasdaq / NYSE

crypto

8 основных пар Binance

forex

6 основных пар

Перечисление ScreenerMarket также принимает futures, india, brazil, australia, canada, europe и hongkong, но ни для одного из этих рынков не задан набор инструментов: вызов возвращает пустой список. Чтобы активировать их, достаточно добавить запись в MARKET_SYMBOLS.

Related MCP server: tradingview-mcp

Архитектура

Client MCP (Claude Desktop, claude.ai…)
    │
    ├── stdio ──► process local
    └── SSE   ──► serveur HTTP (Starlette + uvicorn)
              │
              ├──► tvdatafeed    : bougies OHLCV
              └──► tradingview-ta : screener
                        │
                        └──► cache TTL en mémoire

Предварительные требования

  • Python ≥ 3.11

  • Учётная запись TradingView необязательна — анонимный доступ работает, но с более строгими лимитами частоты запросов.

  • SDK MCP закреплён на версии < 2.0.0: версия 2.x удаляет декораторы @server.list_tools() / @server.call_tool() и переименовывает Tool.inputSchema в Tool.input_schema. Прежде чем поднять это ограничение, необходима миграция.

Установка

git clone https://github.com/mathieubernardi/tradingview_mcp.git
cd tradingview_mcp

pip install -e ".[dev]"

cp .env.example .env   # puis éditer .env

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

Все переменные имеют префикс TV_ и могут передаваться либо через файл .env, либо через окружение.

Переменная

По умолчанию

Описание

TV_TV_USERNAME

(пусто)

Идентификатор TradingView (необязательно)

TV_TV_PASSWORD

(пусто)

Пароль TradingView (необязательно)

TV_TRANSPORT

stdio

stdio или sse

TV_HOST

127.0.0.1

Хост SSE-сервера

TV_PORT

8765

Порт SSE-сервера (1024–65535)

TV_DEFAULT_EXCHANGE

EURONEXT

Площадка по умолчанию, если она не указана в вызове

TV_DEFAULT_N_BARS

500

Количество свечей по умолчанию

TV_MAX_N_BARS

5000

Максимальное количество свечей

TV_CACHE_TTL_SECONDS

60

Время жизни кэша в памяти (0 = отключено)

TV_LOG_LEVEL

INFO

DEBUG, INFO, WARNING или ERROR

Двойной префикс в TV_TV_USERNAME / TV_TV_PASSWORD сделан намеренно: префикс окружения TV_ добавляется к полям tv_username / tv_password.

Запуск сервера

Две эквивалентные точки входа: консольный скрипт mcp-tradingview и модуль python -m mcp_tradingview. Второй не зависит от PATH, что делает его более надёжным в Windows.

# Linux / macOS — stdio
TV_TRANSPORT=stdio python -m mcp_tradingview

# Linux / macOS — SSE
TV_TRANSPORT=sse python -m mcp_tradingview
# Windows PowerShell — stdio
$env:TV_TRANSPORT = "stdio"; python -m mcp_tradingview

# Windows PowerShell — SSE
$env:TV_TRANSPORT = "sse"; python -m mcp_tradingview

Интеграция с Claude Desktop (stdio)

Добавьте в claude_desktop_config.json~/Library/Application Support/Claude/ в macOS, %APPDATA%\Claude\ в Windows:

{
  "mcpServers": {
    "tradingview": {
      "command": "python",
      "args": ["-m", "mcp_tradingview"],
      "env": {
        "TV_TRANSPORT": "stdio",
        "TV_CACHE_TTL_SECONDS": "60"
      }
    }
  }
}

Если окружение Python не является окружением по умолчанию, замените "python" на абсолютный путь к интерпретатору virtualenv. Чтобы использовать учётную запись TradingView, добавьте TV_TV_USERNAME и TV_TV_PASSWORD в блок env.

В режиме stdio сессия TradingView устанавливается лениво при первом вызове инструмента: рукопожатие MCP отвечает немедленно, и клиент не сталкивается с тайм-аутом при запуске.

Интеграция SSE

TV_TRANSPORT=sse TV_PORT=8765 python -m mcp_tradingview

Endpoint

Роль

GET /sse

SSE-поток, который нужно указать на стороне MCP-клиента

POST /messages/

Канал обратной передачи сообщений клиента

GET /health

Проверка живости, возвращает ok

Разработка

pytest tests/ -v          # tests
ruff check src/ tests/    # lint
mypy src/                 # type checking (strict)

Известные ограничения

  • tvdatafeed — неофициальный клиент, который полагается на веб-эндпоинты TradingView: он может перестать работать без предупреждения.

  • tv_screener не сканирует весь рынок, а только предопределённый набор инструментов, описанный выше.

  • Без премиум-аккаунта TradingView данные могут задерживаться на несколько минут.

  • Анонимный доступ имеет значительно более строгие лимиты частоты запросов, чем авторизованная учётная запись.

  • Ошибки инструмента возвращаются клиенту в виде JSON {"error": ..., "tool": ..., "arguments": ...}, а не передаются как ошибки протокола.

Структура проекта

tradingview_mcp/
├── src/mcp_tradingview/
│   ├── __init__.py      # métadonnées du paquet (__version__)
│   ├── __main__.py      # entrée `python -m mcp_tradingview`
│   ├── config.py        # settings (pydantic-settings, préfixe TV_)
│   ├── models.py        # schémas Pydantic d'entrée / sortie
│   ├── client.py        # client TradingView, indicateurs, cache TTL
│   ├── tools.py         # définition JSON Schema + dispatch des outils
│   └── server.py        # serveur MCP (stdio + SSE) et entrée console
├── tests/
│   └── test_server.py
├── pyproject.toml
├── .env.example
├── .gitignore
├── LICENSE
└── README.md

Лицензия

Распространяется под лицензией MIT. См. файл LICENSE.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

UpdatingMaintainers
UpdatingResponse time
Release cycle
0Releases (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

  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that lets AI assistants interact with TradingView for real-time quotes, historical OHLCV data, screener, alerts, watchlists, news, chart layouts, Pine scripts, and more. Connect it to Claude Desktop, Cursor, or any MCP-compatible client to control TradingView via natural language.
    552
    5
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for TradingView's market screener API, enabling stock, forex, crypto, and ETF screening, technical analysis, and investor workflows via Claude or CLI.
    12
    867
    49
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP clients to control a local TradingView Desktop instance, providing tools to read chart state, change symbols and timeframes, and fetch OHLCV data.
    552
    133
    MIT

View all related MCP servers

Related MCP Connectors

  • Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.

  • MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents

  • 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/mathieubernardi/tradingview_mcp'

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