Skip to main content
Glama
tedorigawa001

TradingView-MCP

TradingView-MCP

TradingView デスクトップアプリを AI に見せて、チャート分析を手伝ってもらうためのツールです。

AI エージェント(Claude Code / Codex / Antigravity など)にこのサーバーを登録すると、AI が「あなたが今見ているチャート」をそのまま読めるようになります。ログイン済みのアカウント・保存したレイアウト・購入済みのカスタムインジケーターがそのまま使えます。

できること

AI にこんなお願いができるようになります:

  • 今のチャートを分析して」 → チャート画像+ローソク足+インジケーター値を組み合わせて分析

  • このインジケーターのシグナルを読んで」 → SELL/BUY ラベルやサポレジラインの数値を取得

  • 日足と4時間足の両方で環境認識して」 → チャートを動かさずに複数時間足の指標を一括取得

  • 日本株で RSI が30以下の銘柄を探して」 → スクリーナーで市場を検索

  • ウォッチリストの銘柄を全部チェックして」 → リストの全銘柄のクォートを取得

Related MCP server: TradingView MCP Bridge

仕組み(ざっくり)

TradingView のデスクトップアプリは中身がブラウザ(Electron)なので、デバッグ用の入り口を開けて起動すると、外部プログラムからチャートの中身を読み取れます。この MCP サーバーがその橋渡しをします。

AIエージェント ⇄ tradingview-mcp ⇄ TradingView デスクトップアプリ(あなたのチャート)
                                  ⇄ TradingView 公開API(クォート・スクリーナー)

必要なもの

セットアップ(3ステップ)

ステップ1: このツールをインストール

ターミナルで:

git clone https://github.com/tedorigawa001/TradingView-MCP.git
cd TradingView-MCP
npm install
npm run build

ステップ2: TradingView をデバッグモードで起動

重要: 普通にアイコンから起動しても AI からは見えません。TradingView が起動中なら一度終了(Cmd+Q)してから、ターミナルで:

open -a TradingView --args --remote-debugging-port=9222

毎回このコマンドで起動するのが面倒な場合は、エイリアスを登録しておくと tv だけで起動できます:

echo 'alias tv="open -a TradingView --args --remote-debugging-port=9222"' >> ~/.zshrc
source ~/.zshrc

ステップ3: AI エージェントに登録

お使いのエージェントに合わせて設定してください。/path/to/TradingView-MCP は実際にcloneした場所に置き換えます(このリポジトリ内で pwd すると確認できます)。

ターミナルで1コマンド:

claude mcp add tradingview -- node /path/to/TradingView-MCP/build/index.js

または、このリポジトリのフォルダで Claude Code を開けば、同梱の .mcp.json により自動で登録されます。

確認: Claude Code で /mcp を実行し、tradingview が表示されればOK。

方法1 — CLI で追加:

codex mcp add tradingview -- node /path/to/TradingView-MCP/build/index.js

方法2 — 設定ファイル ~/.codex/config.toml に直接追記:

[mcp_servers.tradingview]
command = "node"
args = ["/path/to/TradingView-MCP/build/index.js"]

確認: Codex の画面で /mcp を実行し、tradingview が表示されればOK。

設定ファイル ~/.gemini/config/mcp_config.json を作成(または追記):

{
  "mcpServers": {
    "tradingview": {
      "command": "node",
      "args": ["/path/to/TradingView-MCP/build/index.js"]
    }
  }
}

IDE から編集する場合は、エージェントパネル右上の「...」→「MCP Servers」→「Manage MCP Servers」→「View raw config」で同じファイルが開きます。保存すると自動で再読み込みされます。

使ってみる

TradingView をデバッグモードで起動した状態で、AI エージェントにこう話しかけてみてください:

今のチャートを分析して

AI が自動で get_chart_context(何が表示されているか)→ get_chart_screenshot(見た目)→ get_ohlcv(数値)などのツールを組み合わせて分析します。

ツール一覧(全67種)

AI が状況に応じて自動で使い分けます。手動で覚える必要はありません。

チャートを読む

ツール

説明

get_chart_context

表示中の全チャートのシンボル・時間足・インジケーター一覧

get_chart_screenshot

チャート画面を画像で取得。chart_index 指定で1チャートのみ高解像度切り出し

get_ohlcv

ローソク足データ(ISO時刻付き。形成中の足には forming フラグ)

get_indicator_values

インジケーターのプロット値(シグナルレベル・バンド等)

get_indicator_inputs

インジケーターの設定パラメータ(名前・現在値・デフォルト値)

get_indicator_graphics

描画系インジケーターのラベル・ライン・ボックス(Elliott Wave のカウント等)

get_indicator_tables

インジケーターが描くテーブル(MTFトレンド表等)をセルの行列で取得

get_key_levels

現在価格±N%のサポレジを全インジケーターから出所付きで1つの表に集約

load_more_history

過去のローソク足を追加ロード(画面は動かさない)

チャートを操作する

ツール

説明

set_symbol

chart_indexで指定したペインのシンボル切替(省略時はアクティブ。失敗時は自動で元に戻す)

set_timeframe

chart_indexで指定したペインの時間足切替(省略時はアクティブ。同上)

set_indicator_input

インジケーター/ストラテジーの設定値を変更(何も保存しない一時的な変更。パラメータ比較検証に)

get_replay_status

Bar Replayの利用可否・開始状態・過去カーソル時刻を読み取り

start_chart_replay

期待symbol/timeframeを照合し、dry-runと明示確認後に過去日時からBar Replayを開始

step_chart_replay

停止中のBar Replayを1〜100本だけ進め、時刻前進を読み戻し検証

stop_chart_replay

dry-runと明示確認後にBar Replayを終了してリアルタイム表示へ復帰

チャート外のデータ

ツール

説明

get_quotes

任意シンボルのクォート+テクニカル(RSI・総合評価等)

get_mtf_overview

複数シンボル・複数時間足のスナップショットを一括取得(チャート非干渉)

scan_market

市場スクリーニング(例: 日本株で RSI<30 を出来高順)

get_economic_events

経済指標カレンダー(CPI・雇用統計・中銀会合など。国・重要度で絞り込み)

get_watchlist

あなたのウォッチリスト

list_alerts

あなたの価格アラート一覧(読み取りのみ)

create_analysis_alerts

監査済み分析オーバーレイから期限付きConfirmation/Invalidation/Target 1アラートをpreviewし、明示確認後に冪等作成

環境認識・評価補助

ツール

説明

get_market_snapshot

複数市場・MTF・イベントを同一取得ウィンドウで統合し、欠落と品質状態を明示

get_execution_snapshot

複数銘柄のbid/ask・spread・pip/tick・配信モードを正規化。リクエスト後の価格更新を観測できた場合だけライブ状態をreadyとする

get_trade_decision_context

対象チャート、OHLC、キーレベル、MTF、イベント、COT、実質金利、bid/askを1つのsnapshot_idへ統合。リプレイ中は過去チャートとリアルタイム執行証拠の混在を防ぐためblocked

get_aligned_history

複数チャートの確定足をUTCで厳密に整列。forward fillなし

compute_market_features

整列済み履歴からリターン・ATR・ボラティリティ・相関を決定論的に計算

compute_market_regimes

アクティブチャートの確定OHLCを、明示閾値と各バー以前の証拠だけでtrend/range/transitionおよびlow/normal/high volatilityへ分類。分布・遷移・品質を返し、最適化や売買推奨は行わない

run_strategy_regime_analysis

正確な保存済みStrategyを一時実行して完全台帳を取得し、Entry時点までにclose済みのregime labelと結合。方向・volatility・複合regimeに加え、任意のDST対応session窓別のPF、期待値、勝率、DD、coverageを返す。session重複は全一致または入力順の先頭一致を明示選択でき、Strategy削除とchart復元を検証

run_strategy_regime_matrix

最大12件のsymbol/timeframe/Strategyを直列実行し、共通regime・session契約で台帳を一括分解。sessionは非排他または入力順優先の排他分類を固定できる。任意でjobごとに最大20,000本を5,000本単位で追加ロードし、soft deadline、個別失敗隔離、各job後のchart復元、復元失敗時の後続停止を行う。ランキングや異通貨合算はしない

run_market_event_study

アクティブチャートの確定OHLCでsession auctionを受容/失敗へ排他分類。Session handoffは設定窓全体の確定後を評価起点とし、窓内の未来情報をsignal時点へ混入させない。同時刻イベント代表化(same_timestamp_policy)、試行数に応じたBonferroni多重比較補正、return・MFE/MAE・fold・信頼区間・申告試行数に加え、任意でsignal足より前に確定した価格/volatility regime別の主要結果を返す。FVG条件はsignal_from/signal_to、単一direction、単一regime_filterで事前登録後の一次母集団を固定できる

run_event_study_falsification_audit

凍結済みのFVG retest、session auction、event aftershock retest候補規約を、white noise・レジーム切替ボラ・bid-ask bounceの合成OHLCへ個別に流して校正する。global平均信頼区間の下限が0超え、かつ全foldが正方向の場合だけ候補と数える。チャート・外部通信・ジャーナルには触れず、模型間の候補率を合算しない

run_yield_price_nonconfirmation_study

2つの正確なチャートを使い、driver(金利等)の確定後もtarget価格が期待方向へ追随せず逆方向の構造breakを確定したeventを検出。時刻の完全一致やforward fillを使わず、複数horizon・fold別のreturn/MFE/MAEを返す

run_external_label_study

呼出側が供給した点時系列ラベル(日次建玉、清算統計、調査データ等)の将来結果を、既存のfold・信頼区間・ジャーナル機構で測定。ラベルは必ず自バーより後のバーへ結合し(observation_lag_bars 最小1)、ゼロラグは拒否する。外部ラベルは自バー確定時点では通常未公表のため。horizonは後続の観測足を数えるので日足が週末で無効化されない。run_market_event_study と異なり日足・週足を受け付ける。ラベルの正しさと改訂は供給側の責任で、point-in-timeを保証するのは結合のみ

compute_lead_lag_relationships

2つの正確なチャートの確定足returnを厳密なUTC時刻一致で結合し、-N〜+Nの全ラグについて相関、Fisher z信頼区間、fold別の符号安定性を返す。正のラグだけがreference先行(primary側で行動可能)であることを明示し、最良ラグの自動選択やランキングは一切行わない。走査ラグ数と申告試行数からBonferroni参考αを算出するが区間には適用しない。任意journalで証拠を記録できるが、保存するのは行動可能な正のラグだけで、スキャンはadoptedにできない(最強ラグの事後選択はout-of-sample結果ではないため)

run_feature_outcome_falsification_audit

特徴量候補規則のcandidateEligibleそのものを、3種の決定論的な合成ヌルへ流して偽陽性率を測る。各複製内で固定1,000反復のempirical-null校正まで実行し、模型別の候補率・Wilson区間・評価不能seedを返す

run_feature_outcome_power_audit

合成系列の事前固定したbody-direction bucket直後へ符号付き次足効果を注入し、candidateEligibleかつ平均方向一致となる検出率・Wilson区間・見逃し率を効果量・模型別に返す。signal barのbody-direction形状は保持するが、実市場のalphaや収益性は示さない

compute_feature_outcome_relationships

確定OHLCからATR圧縮、実体方向、ヒゲ不均衡、連続方向、レンジ内位置、gapをその時点までの証拠だけで分類し、各bucketの将来return・upside/downside・fold別分布を返す。feature_selectionでは、同じ時刻窓・レジーム内の全足との差分も返す。signal_from/signal_toで前向きのsignal時刻窓を固定できる。empirical_null_calibration: trueでは同じ確定バー・定義に束縛した固定1,000反復の循環moving-block校正を実行し、horizon 1のNewey-West・Bonferroni・family-wise empirical p値をすべて通ったbucketだけをcandidateEligibleにする。閾値の最適化や売買推奨は行わない

compute_session_profile

IANA timezoneとDST・日跨ぎに対応して、セッション別の値幅、return、opening range拡張、高安時刻、VWAP・VWAP離脱率、前セッション高安テスト・反応(PDH/PDL/PDC)、休日/短縮営業日品質シグナル、直前確定セッションとのgap・重なり、volume coverageを集計。TradingView volumeは未検証のtick/取引所volumeとして明示

compute_round_trip_cost

spread・slippage・commissionを明示した往復コスト計算

compute_position_size

許容損失、Entry/Stop、コスト、数量制約、通貨換算証拠から、リスク上限を超えない数量を切り下げ計算

evaluate_due_analyses

ジャーナル上の期限到来・非終端分析をpreviewし、確認後に指定チャートで銘柄/証拠時間足を一時切替、評価・記録・復元

get_analysis_performance

ライブ分析ジャーナルを勝敗、gross/net R、MFE/MAE、到達時間へ集計。指標ごとの母集団と除外数を明示

validate_trade_plan

反映前の分析案を方向・期限・現在価格・証拠鮮度・イベント停止時間・コスト控除後RRで検証(チャート非干渉)

get_futures_flow_context(first-seen収集)

日次建玉を読むたびに、値と初回観測時刻を追記専用ログへ記録する。建玉は当該取引日の終了後に速報が出て確報へ改訂されるため、後からダウンロードした系列は当時見えていたものではない。値が変わった時だけ追記し、期近と全限月合算は別系列として分離。observation_date > first_seen_at と初回観測時刻の逆行は拒否。vintageは前向きにしか蓄積できず、収集開始前の日付は復元できない。収集失敗はcontext取得を巻き込まない

get_cme_gold_open_interest

CME Daily BulletinのTOTAL GC FUTからGC全限月OIを取得し、速報/確報状態とともに公式系列へfirst-seen記録。チャート内の限月バスケットとは混在させない

reconcile_gold_open_interest

COT金OIとローカルfirst-seen済みCME公式TOTAL GC FUT同一日付だけで照合。近接日への補間や代用をせず、不足日は品質情報として返す

get_positioning_context

CFTC COTの履歴・OI正規化・前回差・3年パーセンタイル。ローカルfirst-seen蓄積が有効なら、推定せず実際の初回観測時刻をavailable_atとして返す

get_futures_flow_context

明示したCME/COMEX連続先物日足の価格変化・volume Z-scoreを対象方向へ変換し、週次COTと統合。既定はチャートOI、open_interest_provider: "cme_daily_bulletin"はXAUUSDだけでローカルfirst-seen済みのCME全限月OIを使用し、欠損日はチャート値で補完しない。CME OIはas_ofで当時のfirst-seen版へ固定できる

get_real_yield_context

米財務省の10年Par Real CMT。as_of指定時はローカルでfirst-seen済みの版だけを返す

get_policy_rate_context

8通貨のローカルfirst-seen済み政策金利をas_ofで返す。決定日00:00 UTCを公表時刻とはみなさず、available_atfirst_seen_atの両方を満たす版だけを返す

get_exploratory_policy_rate_history

別ストアへ隔離した公式の改訂済み政策金利履歴を探索専用として返す。過去時点での利用可能性は主張せず、前向き/OOS証拠には使えない

carry_panel_preflight

固定した通貨ペア・期間・horizonについて、政策金利の共通利用開始日、非重複アンカー数、OOS残数、欠損を確認する。未蓄積の過去を補完せず、必要件数未満はnot_evaluableを返す

estimate_carry_panel_effective_sample

固定済みのcarry方向リターン・アンカー日・pairを受け、日付単位の循環移動ブロックbootstrapで相関込みの実効標本を見積もる。採否や最適化には使わない

measure_carry_panel_dependence

日足FXパネルを一時取得し、同一日付・非重複horizonの実測ペア間ρとブロックbootstrapのdesign effectを返す。既定は固定符号で、use_exploratory_official_rate_signsでは公式改訂履歴からアンカーごとの金利差符号を再構成できるが、常に探索専用・非point-in-timeとして返す

audit_pine_indicator

自作Pineのリペイント要因を静的監査

compare_indicator_observations

再読込前後の同一バー値を比較し、変化を検出

First-seen collection CLI

npm run collect:first-seen -- --cot-symbol OANDA:EURUSD --cot-symbol OANDA:XAUUSD はCOT、米10年実質金利、CME Daily BulletinのGC全限月OIを収集し、追記専用first-seenログへ記録します。npm run coverage:first-seen はCOT・実質金利・先物OI・政策金利の収集日数、改訂数、最初と最後の観測日をJSONで返します。定期実行時のCOT対象は TRADINGVIEW_MCP_COLLECTION_COT_SYMBOLS=OANDA:EURUSD,OANDA:XAUUSD で指定できます。

npm run collect:policy-rates は、TradingView上でUSD/EUR/JPY/GBP/AUD/NZD/CAD/CHFのECONOMICS:*INTRを順番に読み、値の変更を~/.tradingview-mcp/policy-rate-first-seen.jsonlへ追記します。さらに、8通貨の取得・値ログ保存・チャート復元まで成功した各runを、値の変更有無にかかわらず~/.tradingview-mcp/policy-rate-collection-heartbeats.jsonlへ記録します。これにより、主検定は値のfirst-seen版と収集runの連続性を別々に検証できます。heartbeatの保存先はTRADINGVIEW_MCP_POLICY_RATE_COLLECTION_HEARTBEAT_PATHで変更できます。npm run coverage:first-seenは、この台帳の件数だけでなく、重複を除いた実行日数、同日再実行数、run間の最大営業日age、主検定の5営業日上限を超えた区間数、最終run ageを返します。チャート切替を伴うため、既定スクリプトは明示承認済みの--confirm-chart-switchを渡します。MCPサーバー・他CLIと同じプロセス横断ロックを取得し、各通貨の取得後に元のチャート状態を読み戻して復元します。TradingViewの00:00 UTCバーは公表時刻ではないため、保存値のavailable_atは決定日の翌UTC営業日00:00です。これは会合当日への先読みを避けるための再現可能な保守的境界であり、実際の公表時刻を表すものではありません。

npm run collect:official-policy-rates は探索専用の公式履歴ストアへ保存します。--source ecb_deposit_facility(既定)はECB Deposit Facilityの公式SDMX CSV、--source boc_target_overnight_rateはBoC Valet APIのV39079--source fred_fed_target_range_midpointはFRED配布の旧Fed単一目標DFEDTARと、2008-12-16以降のtarget range上下限(DFEDTARL/DFEDTARU)の中央値を日付で排他的に接続します。--source rba_cash_rate_targetはRBA F1のFIRMMCRTDで、旧公式XLSの1990-08-02〜2010-12-31と現行日次CSVの2011-01-04以降を検証済み境界で接続します。--source snb_policy_rate_or_libor_target_midpointはSNB policy rateと旧Libor目標レンジ中央値(月末)、--source boj_mpm_policy_decisionsはBoJ会合決定の固定マニフェストを取得します。BoJは量的緩和期に単一短期金利を目標としないため、その境界をvalue: nullとして保存し、古い金利を右連続で使いません。実効FF金利・実勢のovernight cash rateは政策目標と異なるため使いません。いずれも据え置き値を変更日だけへ縮約しますが、raw snapshotには元データの全観測行数・最初/最後の日付も保存し、欠測と据え置きを混同しません。HTTP本文のraw_sha256・取得時刻・Last-Modified由来のvintageを残し、本文は~/.tradingview-mcp/policy-rate-official-raw/<sha256>.rawにもowner-onlyでcontent-addressed保存され、同じハッシュの再取得時は内容を再検証してから再利用します。これは改訂済み履歴であり、前向き/OOS・主検定・採用根拠へ使えません。

npm run collect:fx-history -- --from 2022-01-01T00:00:00.000Z --to 2026-01-01T00:00:00.000Z は、OANDA_FX_HISTORY_ACCOUNT_IDOANDA_FX_HISTORY_ACCESS_TOKENを環境変数からのみ読み、OANDA v20のEUR_USD・mid・確定済みM15足を取得します。--environment practice(既定)またはliveを明示でき、認証情報・account IDはstdout・台帳・raw証跡へ書き込みません。取得は4,000本以下のページへ分割し、タイムアウト・429・5xxはページ単位で最大3回再試行します。各成功ページはraw保存後に~/.tradingview-mcp/fx-history-m15-manifest.jsonl.checkpointsへ追記されるため、同一範囲を再実行すると保全済みrawを検証・復元し、未完了ページから再開します。各成功レスポンスを~/.tradingview-mcp/fx-history-raw/<sha256>.rawへowner-onlyで内容アドレス保存します。~/.tradingview-mcp/fx-history-m15-manifest.jsonlには、取得範囲、取得時刻、各raw hash、正規化バーhash、件数、最初/最後の足、境界重複数、平日中の非連続区間数を追記します。同一時刻の重複は同値だけを境界重複として除外し、値が異なれば停止します。これは公式の改訂済み履歴であり、保存済みfirst-seen系列ではありません。現段階では長期CPI/NFP/FOMC研究の探索用入力を保全するだけで、既存のOOS採用判定へ自動接続しません。

macOSではcom.tradingview-mcp.policy-rate-collectionを平日10:45 JSTに実行するlaunchdジョブとして登録する。RunAtLoadは設定せず、ログインやMCP再起動の直後に画面を切り替えない。既存の外部first-seen収集は平日10:30と22:30 JSTの二回で、CME OIの速報から確報への改訂を異なる観測時点として残す。これは確報取得を保証する時刻表ではなく、二つのfirst-seen窓を作る運用である。両方が同じchart-operation lockを使うため、MCP操作中は待機または失敗し、別の銘柄状態を復元先として取り違えない。

Event-study falsification audit CLI

npm run audit:event-studies -- --config fvg-audit.json は、凍結済みのイベント研究定義を合成ヌルで校正します。既定は各模型400複製・5,000本・名目α 5%・3foldで、white noise、レジーム切替ボラティリティ、bid-ask bounceを別々の結果として返します。TradingView、ネットワーク、ローカルジャーナルにはアクセスしません。短い動作確認だけなら --model white_noise --replications 20 --bars 1200 で上書きできます。

設定ファイルは研究定義と候補規約だけを持たせます。例えばFVGなら次の形です。

{
  "study": {
    "type": "fvg_retest",
    "definition": {
      "symbol": "SYNTH:FVG_RETEST",
      "timeframe": "15",
      "minimumGapBps": 10,
      "retestWithinBars": 24,
      "minImpulseBodyRatio": 0.5,
      "requireBoundaryHold": true,
      "horizons": [1, 4, 8],
      "targetReturnBps": 20,
      "minimumEvents": 30,
      "eventLimit": 0,
      "confidenceLevel": 0.95,
      "configurationTrials": 1,
      "regime": null,
      "branchFilter": "bearish"
    }
  },
  "candidate": {
    "branch": "fvg_retest_bearish",
    "horizon": 4,
    "minimumEvents": 30,
    "minimumFoldEvents": 5,
    "folds": 3
  }
}

候補率が名目αを上回るかは各模型のWilson区間で判定します。これは採算性や将来の優位性の証明ではなく、指定した採用規約が「何もない系列」にどの頻度で発火するかの監査です。

event aftershock retest をCLI設定へ指定する場合は、実際の経済イベント日時の代わりに eventSchedule を明示します。firstBareveryBarsmaximumEvents は各合成系列における外生イベントの相対スケジュールであり、実イベントの予測・代用・再現を主張するものではありません。

Periodic research-hypothesis collection

npm run collect:research-hypotheses は、前向き仮説の XAUUSD 15分 bearish FVG x trend_down、EURUSD/米10年の日足非追随、EURUSD 50分 lower-wick x trend_down を直列収集します。Bar Replay中は拒否し、既存2ペインを一時切替した後、成功・失敗を問わず元の銘柄と時間足へ復元します。注文、alert、Pine、Studyは変更しません。

集計だけを ~/.tradingview-mcp/research-collection.jsonl へ保存し、primary horizonで確定済みeventが1件以上のときだけ追記します。起動時に3つの仮説IDが研究ジャーナルへ事前登録済みであることを確認し、存在しないIDへ記録しません。MCPサーバとCLIは同じowner-only chart-operation lockを使うため、片方が一時切替中はもう片方が待機します。stdoutのcollection_statusはCLI実行の成否、research_statusは各研究結果の充足度であり、どちらかがpartialなら最上位statuspartialです。macOSの定期実行は 研究仮説外部first-seen政策金利 のlaunchd例をコピーして launchctl で読み込んでください。TradingViewはCDP/debugモードで起動しておく必要があります。研究仮説の例は画面への干渉を抑えるため1時間間隔です。

各ジョブは必要履歴を固定し、FVGは5,000本、日足金利非追随は各系列1,000本、50分特徴量は500本を要求します。不足時は同じ一時チャート上で不足本数だけを追加ロードし、coverageへ初期・追加・最終本数、providerの追加可否、充足判定を記録します。取得できなければinsufficient_loaded_historyとして分析・証拠追記を止め、短い履歴を完全な研究証拠として扱いません。

get_execution_snapshotは開いているTradingViewチャートのbidasklp_time、session状態、realtime-load状態、価格刻みを最優先で読み取ります。lp_timeは同じquote snapshot内のlast-price時刻でありbid/ask個別のexchange timestampではありませんが、その時刻が既定5秒以内、streaming、active session、realtime loadedをすべて満たす場合だけreadyです。対象銘柄がチャートにない場合はscannerへフォールバックしますが、scannerはbid/askの市場側timestampとsession calendarを返さないため、受信時刻を市場時刻へ置き換えません。フォールバックでは既定最大1.2秒間にbid/ask変化を観測できた場合だけreadyとし、価格が動かなければwaitです。これは約定可能性や流動性を保証せず、口座・注文・チャートを変更しません。

compute_position_sizeは数量をブローカー固有のlotではなくinstrument unitとして返します。quantity_stepminimum_quantity、必要ならmaximum_quantitycontract_multiplierを利用する取引環境の仕様に合わせて明示してください。損失はEntryからStopまでの値幅にcompute_round_trip_cost.total_price_per_unit等の往復コストを加え、口座通貨へ換算して計算します。quote通貨と口座通貨が異なる場合は、口座通貨/quote通貨のレート、symbol、観測時刻がすべて新鮮な場合だけ数量を返します。口座接続、残高取得、発注、永続化は行いません。

実質金利のfirst-seen履歴は既定で~/.tradingview-mcp/real-yield-first-seen.jsonlへ追記されます。保存先はMCPプロセスの環境変数TRADINGVIEW_MCP_REAL_YIELD_HISTORY_PATHで変更できます。初回起動時に取得した過去行は過去の公表時刻へ遡及せず、その起動で実際に保存できた時刻以後だけバックテストに利用されます。

先物建玉のfirst-seen履歴は既定で~/.tradingview-mcp/futures-open-interest-first-seen-v3.jsonlへ追記されます。保存先は環境変数TRADINGVIEW_MCP_FUTURES_OI_HISTORY_PATHで変更できます。get_futures_flow_contextがチャート由来の建玉を読むたび、およびget_cme_gold_open_interestや収集CLIがCME公式GC全限月OIを読むたびに自動で記録されます。チャート近似値とCME公式値は別系列であり、収集開始前の日付についてはvintageを復元できないため、過去分は「今日ダウンロードした改訂後の値」であってその時点で見えていた値ではない、という区別が必要です。

履歴書込み中にプロセスが異常終了して.lockが残った場合、安全のため自動削除せず履歴照会を停止します。他のTradingView-MCPプロセスが動作していないことを確認してから、履歴ファイルと同じ場所の.lockだけを削除してください。

評価CLIはスナップショットのrequest_completed_atを評価時点として、同時点までにfirst-seen済みの実質金利をevaluation_context.real_yield_10yへ自動固定します。現在値や後日の改訂値へフォールバックしません。

npm run evaluate -- --log evaluation.jsonl --snapshot snapshot.json

履歴を分離する場合は--real-yield-history PATH、スナップショットに取得完了時刻がない場合はcanonical UTC形式の--as-of 2026-07-01T12:00:00.000Zを指定します。--as-ofがスナップショットのrequest_completed_atより後なら、先読み防止のため拒否されます。履歴不在時は値を補完せずpoint_in_time_status=blockedとして記録し、履歴破損やロック失敗時はスナップショット自体を追記しません。

Pine スクリプト(自作のみ)

ツール

説明

list_pine_scripts

保存済みの自作 Pine スクリプト一覧。どのチャート上インジケーターに使われているかも表示

get_pine_source

自作スクリプトのソースコード全文(バージョン指定可 = 復元手段)

save_pine_script

AI が改修したソースを保存。confirm なしはドライラン。新規 or 新バージョンのみで上書きなし、旧バージョンはいつでも取得可能

add_pine_to_chart

自作スクリプトをチャートに追加(追加のみ。外すのは画面から)

remove_owned_study

USER; Pine ID・対象チャート・Study内部IDを照合して1インスタンスだけ削除。confirm なしはドライラン

evaluate_analysis_overlay_outcome

監査済み分析を、分析後のロード済み確定足で事後評価。evaluation_timeframe指定時は対象チャートだけを一時切替して証拠を取得後に復元。record:true指定時だけ結果を分析ジャーナルへ追記

get_analysis_journal

ローカル分析ジャーナルから分析定義と最新評価を取得。完了済み結果を後発の古いongoingで逆戻りさせない

get_analysis_calibration

Target先着を正、Stop先着を負とした確信度較正(Brier score・確信度帯別実現率)。曖昧・未完了・取消等は除外数を返す

get_analysis_overlay_status

配置中の監査済みオーバーレイを読み取り、分析期限・現在価格と各水準の位置関係・描画数の整合性を確認。未設定はunconfigured、入力矛盾はblockedとして返し、チャートは変更しない

get_analysis_overlay_template

エントリー帯・無効化・Stop・Target・分析時刻を描く固定Pineテンプレートを取得(読み取り専用)

ensure_analysis_overlay

オーバーレイを冪等に準備。現行版は再利用、未配置なら追加、旧14入力版は確認後に銘柄・時間足を拘束した18入力版へ移行。confirm なしはドライラン

apply_analysis_overlay

専用オーバーレイへ構造化分析を反映。銘柄・時間足を入力へ保存し、任意のsnapshot ID・戦略版とともにfail-closedで検証。confirm なしはドライラン。入力読み戻し成功後は分析ジャーナルへ自動記録

分析結果をチャートへ重ねる場合は、テンプレートを一度だけsave_pine_scriptで保存し、以後はensure_analysis_overlayで配置・更新・study_id取得を行います。同じ現行版があれば書き込みなしで再利用されるため、分析ごとにPineスクリプトやスタディを増やす必要はありません。旧14入力版からの移行プレビューがcontextBindingRequired:trueを返した場合、confirm後に旧分析を現在の検証済みsymbol/timeframeへ拘束します。期限切れの分析は拒否せず、チャート上でEXPIRED表示になります。反映前の初期値は実分析として扱わず、get_analysis_overlay_statusunconfiguredを返します。反映後は同ツールで入力・現在価格・描画の整合性を再確認でき、保存されたsymbol/timeframeと現在チャートが違う場合はstale_contexttrusted:falseを返して市場判定へ進みません。現在値判定は過去の到達順序を示しません。到達順序はevaluate_analysis_overlay_outcomeが、分析時刻を含む足と形成中足を除外した確定OHLCで評価します。Entry後、Confirmation設定時は後続足での確認を待ち、それ以前のInvalidation接触はシナリオ取消として扱います。有効化後はTarget 1対Stopのfirst-hitを評価します。これは約定や損益を証明するものではなく、同一足で相反水準へ触れた場合や始値ギャップではambiguousを返します。履歴が不足する場合はload_more_history後に再評価するか、evaluation_timeframeに短い時間足を指定します。後者はexpected_timeframeのオーバーレイを検証したまま、指定したchart_indexだけを一時切替し、取得OHLCのsymbol・resolution・バー有無を確認してから元へ復元します。レスポンスのchartState.restoredfalseの場合は、currentTimeframeを確認して手動復元してください。D/Wは対応し、暦月Mは期間が可変なためnot_evaluableです。

分析ジャーナルは既定で~/.tradingview-mcp/analysis-journal.jsonlへ保存され、TRADINGVIEW_MCP_ANALYSIS_JOURNAL_PATHで変更できます。apply_analysis_overlay(confirm:true)は入力読み戻し一致後に分析定義を自動記録し、事後評価はrecord:trueを明示した場合だけ追記します。同じanalysis_idと同じ定義は冪等、異なる定義へのID再利用と異なる完了ラベルは拒否します。定義衝突時は再試行では解消しないため、新しいanalysis_idを割り当てて再適用してください。ジャーナル書き込みだけが失敗しても反映・評価結果は維持され、レスポンスのjournal.recorded:falseと警告で再試行を促します。較正はtarget_before_stop=1stop_before_target=0だけを母集団にし、その他は理由別の除外数として返します。

ジャーナルの.lockが60秒を超えて古く、記録された所有PIDが存在しない場合だけ自動回収します。所有PIDが生存中、確認不能、またはロックが新しい場合は奪取せず、タイムアウトエラーに対象パスを表示します。表示されたロックを手動削除する場合は、他のTradingView-MCPプロセスが利用していないことを先に確認してください。

これで「ソースを読む → AI が改修 → 保存 → バックテスト」の改善ループが回せます:

BushidoScalp のソースを読んで、ダマシを減らす改良案を実装して。保存してUSDJPYの4時間足でバックテストし、改善したか元と比較して

バックテスト

ツール

説明

run_backtest

自作ストラテジーを今のチャートで検証。一時適用→成績取得→自動削除でチャートは元のまま

get_strategy_report

チャートに載っているストラテジーの成績(純利益・勝率・PF・DD・直近トレード)

get_strategy_trade_ledger

アクティブなStrategy Testerの全取引を最大500件ずつ取得。全件SHA-256 IDでページ間の再計算混入を拒否し、利用可能な手数料・run-up/drawdown・入力・Pine版を明示。末尾のmark-to-market未決済行はopenとして分離

run_strategy_experiment

ベースラインと候補を同じチャートで直列比較。既定dry-run、confirm後だけ一時適用し、具体的Pine版・全取引台帳ID・入力・最低取引数・条件一致・指標差を返して両方を自動削除

run_backtest_matrix

最大24件の明示的なsymbol/timeframe/Pine入力組合せを直列実行。既定dry-run、最大30分のsoft deadline、各行の全取引台帳ID・不足/失敗理由・毎回のチャート復元を返し、結果を順位付けしない

run_strategy_walk_forward

2〜8候補の全取引台帳を2〜12個の明示train/embargo/test窓へ分割。trainだけで候補選定し、選択候補のOOSだけを返す。anchored/rolling、同点拒否、最低取引数、条件・品質・期間coverageを検証

validate_research_protocol

具体的Pine版と凍結済み研究契約を読み取り検証。IS/OOS重複、未来期間、形成中足、候補数、最低取引数、コスト未指定、Pine静的リスク、OOS閲覧後の変更をblocked/warningへ分類

stress_test_strategy

凍結済みprotocol IDに紐づけ、完全台帳へのコスト・期間・bootstrapモデルに加え、最大8件の明示Pine入力上書きをStrategy Testerで直列再実行。Entry遅延・Stop/Target・近傍parameterをStrategy自身のロジックで評価し、各回削除・復元、失敗、劣化率を返す

register_strategy_hypothesis

仮説と事前評価契約を、ライブ分析とは別のローカルappend-only研究ジャーナルへ登録

record_strategy_experiment

実験ID、Pine版、台帳ID、既知指標、guardrail、採否を仮説へ拘束して記録

compare_strategy_experiments

正確な実験ID+証拠hashを比較し、母集団・銘柄・時間足・methodology不一致を拒否

よくあるトラブル

症状

原因と対処

「TradingView desktop app is not reachable」エラー

TradingView がデバッグモードで起動していない。一度終了してステップ2のコマンドで起動し直す

ツールが AI に表示されない

エージェントの再起動(再接続)が必要。また npm run build を忘れていないか確認

ビルドし直したのに動作が変わらない

MCP サーバーは起動時のビルドを使い続けるため、エージェントのセッションを再接続する

no tradingview.com/chart page found

TradingView でチャート画面を開いていない。チャートタブを開く

セキュリティについて

詳細は docs/security-review.md を参照。最低限知っておくべきこと:

  • デバッグポート開放中は、同じPC上のプログラムから TradingView のログインセッションを操作できる状態になります。AI と使う時だけデバッグモードで起動し、普段は通常起動にしてください。共有PCでは使わないでください

  • このツールは読み取り中心です。書き込みは自作Pineの非破壊保存、チャート上の自作Pine追加・入力変更・所有確認付き削除、監査済み分析からの期限付き価格アラート作成、Bar Replayの開始・ステップ・終了に限定しています。save_pine_scriptapply_analysis_overlayensure_analysis_overlayremove_owned_studycreate_analysis_alerts、リプレイ開始・終了はconfirmフローを持ちます。注文、Replay Trading、リプレイautoplay、既存アラートの変更・再開・削除、Webhook、ウォッチリスト変更、Pineライブラリのスクリプト削除は意図的に実装していません

  • get_chart_screenshot は画面に見えているものすべて(ウォッチリスト等)を AI に送信します

開発者向け

テスト

npm test                   # ユニットテスト(アプリ不要。モックで検証)
npm run test:integration   # 統合テスト(デバッグモードのアプリが必要)
npm run test:e2e           # MCP stdio経由の実機E2E(下記設定が必要)

Pull RequestとpushではGitHub ActionsがNode.js 22/24のnpm testと、high以上を拒否するnpm auditを実行します。

統合テストはシンボル・時間足を一時的に変更しますが、終了時に元へ復元します。

Walk-forward E2Eは、現在のチャートと保存済みStrategyに合うツール引数を TRADINGVIEW_WALK_FORWARD_E2E_CONFIGへJSONで設定して実行します。confirmはテスト側が管理するため含めません。

TRADINGVIEW_WALK_FORWARD_E2E_CONFIG='{"expected_symbol":"OANDA:USDJPY","expected_timeframe":"240","candidates":[{"pine_id":"USER;YOUR_PINE_ID","inputs":[{"id":"in_20","value":false}]},{"pine_id":"USER;YOUR_PINE_ID","inputs":[{"id":"in_20","value":true}]}],"folds":[{"fold_id":"f1","train_from":"2025-03-01T00:00:00.000Z","train_to":"2025-09-01T00:00:00.000Z","test_from":"2025-09-02T00:00:00.000Z","test_to":"2025-12-01T00:00:00.000Z"},{"fold_id":"f2","train_from":"2025-03-01T00:00:00.000Z","train_to":"2025-12-01T00:00:00.000Z","test_from":"2025-12-02T00:00:00.000Z","test_to":"2026-03-01T00:00:00.000Z"}],"mode":"anchored","embargo_bars":1,"minimum_train_trades":5,"minimum_test_trades":3,"selection_metric":"expectancy","max_runtime_seconds":180}' npm run test:e2e

分析監視アラート E2Eは、配置済み分析オーバーレイに適合する設定を TRADINGVIEW_ANALYSIS_ALERTS_E2E_CONFIG へ指定して実行します。

TRADINGVIEW_ANALYSIS_ALERTS_E2E_CONFIG='{"pine_id":"USER;YOUR_PINE_ID","expected_symbol":"OANDA:USDJPY","expected_timeframe":"4H","analysis_id":"USDJPY-20260724-001","confirm":false}' npm run test:e2e

Fair Value Gap Retest イベントスタディ E2Eは、チャートに適合する設定を TRADINGVIEW_FVG_RETEST_E2E_CONFIG へ指定して実行します。

TRADINGVIEW_FVG_RETEST_E2E_CONFIG='{"expected_symbol":"OANDA:EURUSD","expected_timeframe":"60","count":5000,"condition":{"type":"fair_value_gap_retest","minimum_gap_bps":10,"retest_within_bars":24,"min_impulse_body_ratio":0.5,"require_boundary_hold":true},"horizons":[1,2,4,8],"target_return_bps":20,"minimum_events":1,"event_limit":50,"confidence_level":0.95,"configuration_trials":1}' npm run test:e2e

先物フローE2Eは、TRADINGVIEW_FUTURES_FLOW_E2E_CONFIGopen_interest_study_idopen_interest_plot_title、および値の意味を固定するopen_interest_scopeを必ず含める必要があります。open_interest_scopeopen_interest_data かスタディ明示指定と対で使うもので、自動検出のみに任せる場合は指定できません(自動検出は公式のfront-month Open Interestスタディしか読まないため、scopeを宣言できてしまうと front-month の値が集計系列に紛れ込みます)。建玉が取得できない設定は明示的に失敗します(黙って素通りすると first-seen 収集が壊れていても気づけないため)。収集先は一時ファイルへ切り替わるので、実運用のログは汚染されません。

TRADINGVIEW_FUTURES_FLOW_E2E_CONFIG='{"target_symbol":"OANDA:XAUUSD","futures_chart_index":1,"expected_futures_symbol":"COMEX_DL:GC1!","count":250,"observation_limit":0,"minimum_observations":100,"cot_weeks":1,"open_interest_study_id":"YOUR_STUDY_ID","open_interest_plot_title":"Total OI","open_interest_scope":"all_months_aggregated"}' npm run test:e2e

E2Eは誤ったチャート束縛の拒否、dry-runの決定性、train-only選定、非選択候補OOSの非公開に加え、研究protocol検証、ledger stress、seed固定bootstrap、アラート実作成・所有名照合、レスポンス非増幅、実行後のチャート完全復元を検証します。設定がない場合はskipします。

フォルダ構成

  • src/ — TypeScript ソース

    • cdp.ts — CDP クライアント(接続・evaluate・スクリーンショット)

    • tradingview.ts — TradingView ページ内 API 層(チャート・インジケーター・ウォッチリスト)

    • scanner.ts — 公開スキャナー API クライアント(クォート・MTF・スクリーニング)

    • server.ts — MCP ツール定義(依存注入でテスト可能)

    • index.ts — stdio エントリポイント

  • test/unit/ — ユニットテスト(モック CDP / モックスキャナー)

  • test/e2e/ — MCP stdioから実アプリまで通す設定駆動E2Eテスト

  • test/smoke.mjs — 実アプリに対する統合スモークテスト

  • build/ — tsc 出力(gitignore 済み)

  • docs/ — 設計・調査ドキュメント

ドキュメント

F
license - not found
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (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

View all related MCP servers

Related MCP Connectors

  • AI-powered browser automation — navigate, click, fill forms, and extract data from any website.

  • A paid remote MCP for AI agent browser DevTools MCP, built to return verdicts, receipts, usage logs,

  • Live browser debugging for AI assistants — DOM, console, network via MCP.

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/tedorigawa001/TradingView-MCP'

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