atilaahmettaner/tradingview-mcp

GitHub ↗ · How this check works

Per-setup public labels: Linux / Haiku: Works · Linux / Luna: Works

Static status badge · SVG · read-only JSON. Embed with ![Coldpass status](https://coldpass.dev/badge/atilaahmettaner--tradingview-mcp.svg).

mcp-server

Works

README claims checked out on 2 recorded setups. Combinations not listed here were not tested.

Answers apply to each recorded setup, revision and operation. Earlier observations remain in Run details.

Tested on Linux
PlatformHaikuLuna
Linuxyesyes

Linux / Haiku 5.5: yes · Oct 23, 2026 · 51658d0e873e · claude-code / 2.1.300 (Claude Code)
Recorded operation: <guest-path> run tradingview-mcp · local stdio MCP start + initialize + tools/list

Linux / Luna: yes · Oct 23, 2026 · 51658d0e873e · codex / codex-cli 0.163.0
Recorded operation: <guest-path> run tradingview-mcp · local stdio MCP start + initialize + tools/list

Does what it says
1 of 1 claims checked out
  • Yahoo Finance provides real-time quotes.: Real input produced the expected result: AAPL

    Source: | `yahoo_price` | Real-time quote: price, change %, 52w high/low, market state |

    Input: {"tool": "yahoo_price", "arguments": {"symbol": "AAPL"}}

    Expected: AAPL quote data

    Command: <guest-path> run tradingview-mcp tools/call {"tool": "yahoo_price", "arguments": {"symbol": "AAPL"}}

    Observed: AAPL\",\n \"price\": 347.725,\n \"previous_close\": 348.22,\n \"change\": -0.495,\n \"change_pct\": -0.14,\n \"currency\": \"USD\",\n \"exchange\": \"NMS\",\n \"market_state\": \"\",\n \"52w_high\": 351.73,\n \"52w_low\": 243.42,\n \"price_source\": \"quote\",\n \"quote_stale\": false,\n \"source\": \"Yahoo Finance\",\n \"timestamp\": \"2026-10-23T21:59:15.251027+00:00\"\n}"}], "isError": false}

MCP
Yes, observed
Local or hosted
both local and hosted
Both a local install and a hosted service
Needs keys or browser
None seen
Maintained
Maintained
actively maintained: last commit 0 days ago; 49 commits and 22 merged PRs in 90 days; 5 open issues, 2 open PRs; 19 of 28 recent threads got a maintainer reply, median first reply 310.3h; no releases

Last commit Oct 22, 2026

Setup time
58 s
58 s to a working result
Issue
none found in recorded check
Examples
1 of 1 ran as expected
  • Start the MCP server from source: command completed successfully

    Source: README.md / Quick Start / Or run from source

    Input: stdio transport

    Expected: MCP server starts

    Command: <guest-path> run tradingview-mcp

    Observed: warning: The `tool.uv.dev-dependencies` field (used in `pyproject.toml`) is deprecated and will be removed in a future release; use `dependency-groups.dev` instead [tradingview_mcp] socket default timeout set to 20.0s

Evidence
README behavior checked
Agent interfaces
MCP
MCP

Observed interfaces were exercised by the checker. Documentation alone does not confirm compatibility.

MCP context
39 tools · about 10,884 tokens
39 tools · about 10,884 tokens

Largest returned tools/list page in these observations. Compact UTF-8 definition bytes ÷ 4, rounded up; approximate, excluding client framing and tool results. This is context size, not proof that every tool works.

Measured on linux with Luna · Oct 23, 2026 on 51658d0e873e

Tested with
Codex / Luna
  • Linux: Codex / Luna · agent codex-cli 0.163.0 · Checked operation passed · Oct 23, 2026 on 51658d0e873e

Each entry describes its recorded operation and source revision. Other agent clients were not tested.

Safety
Made outbound HTTPS connections: yes (hosts not recorded) by tests, tradingview-mcp

Review signals across current setups: connection review. 164 listed items (named-host connections, static matches, dependency advisories) are below and do not change this verdict.

Repository processes attempted these non-loopback connections; proxies can hide the final hostname. 8 distinct locations. 2 findings. 43 attributed processes.

OSV reports a known vulnerability in this dependency version. 11 distinct locations. 82 findings.

Full event, path and process lists for each observed setup:

Run details

Haiku 5.5

Native agent · Checked operation passed

Checked operation <guest-path> run tradingview-mcp · local stdio MCP start + initialize + tools/list

Agent-reported scope: Get a live stock or crypto quote from the tradingview-mcp stdio server by calling its yahoo_price tool (AAPL and BTC-USD returned real Yahoo Finance prices).

MCP server returned: TradingView Multi-Market Screener · version 1.29.0.

MCP tools returned: top_gainers, top_losers, bollinger_scan, rating_filter, coin_analysis, consecutive_candles_scan, advanced_candle_pattern, volume_breakout_scanner, volume_confirmation_analysis, smart_volume_scanner, multi_agent_analysis, egx_market_overview, egx_sector_scan, egx_sector_scanner, egx_index_analysis, egx_stock_screener, egx_trade_plan, egx_fibonacci_retracement, smart_money_analysis, egx_smart_money_scanner, multi_timeframe_analysis, market_sentiment, financial_news, combined_analysis, backtest_strategy, compare_strategies, walk_forward_backtest_strategy, yahoo_price, market_snapshot, bitcoin_market_pulse, stock_extended_hours, stock_options_chain, stock_options_unusual_activity, futures_market_overview, futures_top_movers, futures_category_snapshot, futures_watchlist, stock_screener, stock_prices. Tool listing does not establish authenticated tool-call success.

Run details
run
atilaahmettaner--tradingview-mcp-claude-haiku-5-5-1792791589432321234
date
Oct 23, 2026
time to working
268.3s
product hosting / execution
Local stdio MCP server in the guest
recorded operation scope
product operation
model
claude-haiku-5-5
agent / version
claude-code / 2.1.300 (Claude Code)
platform
linux
reported cost
$0.020077
Recorded source
https://github.com/atilaahmettaner/tradingview-mcp
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "51658d0e873e34e47361786ab0dd1dcee8426c50", "url": "https://github.com/atilaahmettaner/tradingview-mcp"}
Test version
readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9
revision
51658d0e873e34e47361786ab0dd1dcee8426c50
Whose fault: not assigned · resolved

Safety: Review signals: 1 connection review, 82 known vulnerability.

Review signals: 1 connection review, 82 known vulnerability.

Repository processes attempted these non-loopback connections; proxies can hide the final hostname. 8 distinct locations. 31 attributed processes.

OSV reports a known vulnerability in this dependency version. 11 distinct locations. 82 findings.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • yahoo_price returns a real-time quote: Real input produced the expected result: AAPL

    Source: Real-time quote: price, change %, 52w high/low, market state

    Input: {"tool": "yahoo_price", "arguments": {"symbol": "AAPL"}}

    Expected: quote for AAPL with symbol field

    Command: <guest-path> run tradingview-mcp tools/call {"tool": "yahoo_price", "arguments": {"symbol": "AAPL"}}

    Observed: AAPL\",\n \"price\": 347.725,\n \"previous_close\": 348.22,\n \"change\": -0.495,\n \"change_pct\": -0.14,\n \"currency\": \"USD\",\n \"exchange\": \"NMS\",\n \"market_state\": \"\",\n \"52w_high\": 351.73,\n \"52w_low\": 243.42,\n \"price_source\": \"quote\",\n \"quote_stale\": false,\n \"source\": \"Yahoo Finance\",\n \"timestamp\": \"2026-10-23T21:44:10.736775+00:00\"\n}"}], "isError": false}

  • yahoo_price supports crypto symbols: Real input produced the expected result: BTC-USD

    Source: Crypto (BTC-USD, ETH-USD, SOL-USD)

    Input: {"tool": "yahoo_price", "arguments": {"symbol": "BTC-USD"}}

    Expected: quote for BTC-USD

    Command: <guest-path> run tradingview-mcp tools/call {"tool": "yahoo_price", "arguments": {"symbol": "BTC-USD"}}

    Observed: BTC-USD\",\n \"price\": 81247.24,\n \"previous_close\": 81311.8906,\n \"change\": -64.6506,\n \"change_pct\": -0.08,\n \"currency\": \"USD\",\n \"exchange\": \"CCC\",\n \"market_state\": \"\",\n \"52w_high\": 116273.31,\n \"52w_low\": 57747.766,\n \"price_source\": \"quote\",\n \"quote_stale\": false,\n \"source\": \"Yahoo Finance\",\n \"timestamp\": \"2026-10-23T21:44:13.533142+00:00\"\n}"}], "isError": false}

Examples

  • Project test suite runs (CONTRIBUTING.md documents uv run pytest): command completed successfully

    Source: CONTRIBUTING.md: uv run pytest

    Input: unit tests

    Expected: all unit tests pass

    Command: <guest-path> run pytest tests/unit -q

    Observed: ........ [ 16%] ........................................................................ [ 33%] ........................................................................ [ 50%] ........................................................................ [ 67%] ........................................................................ [ 84%] .................................................................. [100%] 426 passed in 25.51s warning: The `tool.uv.dev-dependencies` field (used in `pyproject.toml`) is deprecated and will be removed in a future release; use `dependency-groups.dev` instead

  • README example prompts are natural-language requests for an AI client, not runnable CLI commands: The README examples are chat prompts to be sent by an MCP client (Claude, Cursor, etc.), not shell commands. Equivalent real tool call is covered by the probe and claims (yahoo_price).

    Source: README.md: Try these first

    Expected: documented command completes successfully

    Observed: The README examples are chat prompts to be sent by an MCP client (Claude, Cursor, etc.), not shell commands. Equivalent real tool call is covered by the probe and claims (yahoo_price).

Local or hosted: both

What the agent did

Get a live stock or crypto quote from the tradingview-mcp stdio server by calling its yahoo_price tool (AAPL and BTC-USD returned real Yahoo Finance prices).

cd <guest-path> && pwd && ls -la && id -u && python3 --version && cat README.md | head -200
cd <guest-path> && sed -n 200,420p README.md
cd <guest-path> && sed -n 420,600p README.md | cut -c1-300; echo ---; ls .coldpass 2>/dev/null; echo ---; which uv git node npm; uv --version 2>&1; git --version
cd <guest-path> && git init -q && git remote add origin https://github.com/atilaahmettaner/tradingview-mcp && git fetch --depth 1 origin 51658d0e873e34e47361786ab0dd1dcee8426c50 2>&1 | tail -3; git reset --mixed FETCH_HEAD 2>&1 | tail -2; git log --oneline -1; git status --short | head -20
curl -LsSf https://astral.sh/uv/install.sh | sh 2>&1 | tail -5; export PATH="$HOME/.local/bin:$PATH"; uv --version
cd <guest-path> && grep -n -A3 "scripts\|requires-python" pyproject.toml | head -30; echo ---; grep -n "uv \|pytest\|make " CONTRIBUTING.md | head -30; echo ---; ls tests scripts; ls .coldpass
cd <guest-path> && export PATH="$HOME/.local/bin:$PATH" && uv sync --dev 2>&1 | tail -8 && echo SYNC_OK && (timeout 600 uv run pytest tests/unit -q 2>&1 | tail -8)
ls -la <guest-path> 2>&1; ls /inputs 2>&1; cd <guest-path> && grep -n "def yahoo_price\|def market_snapshot\|def stock_prices\|def get_technical_analysis" -A4 src/tradingview_mcp/server.py | head -40; echo; env | grep -i proxy | sed 's/=.*/=<set>/'
cd <guest-path> && export PATH="$HOME/.local/bin:$PATH" && cat > <guest-path> <<'EOF'
import asyncio, sys
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client
async def main():
    params = StdioServerParameters(command="uv", args=["run","tradingview-mcp"], cwd="<guest-path>")
    async with stdio_client(params) as (r, w):
        async with ClientSession(r, w) as s:
            await s.initialize()
            res = await s.call_tool("yahoo_price", {"symbol": "AAPL"})
            print(res.content[0].text[:800])
asyncio.run(main())
EOF
timeout 120 uv run --project <guest-path> python -I <guest-path> 2>&1 | tail -30
cd <guest-path> && echo "HOME=$HOME whoami=$(whoami)"; ls -l $HOME/.local/bin/uv; grep -rniE "cron|schedul|webhook|--once|--now|while True|asyncio.sleep|loop" src/ | grep -v "\.pyc" | head -20; echo ---; grep -n "^#\|uv run\|tradingview" EXAMPLES.md | head -60
cd <guest-path> && mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'
{"kind":"mcp","argv":["<guest-path>","run","tradingview-mcp"],"cwd":"<guest-path>","tool":"yahoo_price","arguments":{"symbol":"AAPL"},"expected_text":"\"symbol\": \"AAPL\""}
EOF
cat > .coldpass/claims.json <<'EOF'
[
{"kind":"claim","claim":"yahoo_price returns a real-time quote","source":"Real-time quote: price, change %, 52w high/low, market state","input":"AAPL","expected":"quote for AAPL with symbol field","probe_kind":"mcp","argv":["<guest-path>","run","tradingview-mcp"],"tool":"yahoo_price","arguments":{"symbol":"AAPL"},"expected_text":"\"symbol\": \"AAPL\"","cwd":"<guest-path>"},
{"kind":"claim","claim":"yahoo_price supports crypto symbols","source":"Crypto (BTC-USD, ETH-USD, SOL-USD)","input":"BTC-USD","expected":"quote for BTC-USD","probe_kind":"mcp","argv":["<guest-path>","run","tradingview-mcp"],"tool":"yahoo_price","arguments":{"symbol":"BTC-USD"},"expected_text":"\"symbol\": \"BTC-USD\"","cwd":"<guest-path>"}
]
EOF
cat > .coldpass/cycles.json <<'EOF'
{"detected":false,"reason":"Entry points inspected: pyproject [project.scripts] tradingview-mcp = tradingview_mcp.server:main is a stdio MCP server started by the client; grep of src/ for cron/schedule/webhook/--once/--now/while-loops found no scheduler or trigger. Product only runs per MCP request, so no product cycle exists.","checks":[]}
EOF
cat > .coldpass/examples.json <<'EOF'
[
{"kind":"example","claim":"Project test suite runs (CONTRIBUTING.md documents uv run pytest)","source":"CONTRIBUTING.md: uv run pytest","input":"unit tests","expected":"all unit tests pass","argv":["<guest-path>","run","pytest","tests/unit","-q"],"cwd":"<guest-path>","expected_text":"426 passed"},
{"kind":"example","claim":"README example prompts are natural-language requests for an AI client, not runnable CLI commands","source":"README.md: Try these first","reason":"The README examples are chat prompts to be sent by an MCP client (Claude, Cursor, etc.), not shell commands. Equivalent real tool call is covered by the probe and claims (yahoo_price)."}
]
EOF
python3 -I -c "import json;[json.load(open('.coldpass/'+f)) for f in ['probe.json','claims.json','cycles.json','examples.json']];print('json ok')" && <env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay 2>&1 | tail -60
cd <guest-path> && python3 -I - <<'EOF'
import json
p='.coldpass/probe.json'; d=json.load(open(p)); d['expected_text']='AAPL'; json.dump(d,open(p,'w'))
p='.coldpass/claims.json'; cl=json.load(open(p))
for c in cl:
    c['expected_text']= 'AAPL' if c['input']=='AAPL' else 'BTC-USD'
json.dump(cl,open(p,'w'),indent=1)
EOF
<env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo rc=$?; python3 -I -c "
import json,sys
d=json.load(open('<guest-path>'))
print('valid:',d.get('valid')); print('problems:',d.get('problems'))
print('evidence:',d.get('evidence_strength'))
" 2>&1 | head -40
cd <guest-path> && pgrep -af tradingview-mcp || echo "no server processes running"; rm -f <guest-path> <guest-path>; mkdir -p .coldpass && cat > .coldpass/report.json <<'EOF'
{"outcome":"working","fault_owner":null,"operation":"Get a live stock or crypto quote from the tradingview-mcp stdio server by calling its yahoo_price tool (AAPL and BTC-USD returned real Yahoo Finance prices).","operation_scope":"Self-hosted from source at pinned commit 51658d0e873e34e47361786ab0dd1dcee8426c50, Python 3.12.3, uv 0.13.5, Linux guest with outbound internet access to Yahoo Finance. No API keys needed. Optional Marketaux key not tested (news/sentiment tools not exercised).","steps":["git init; git remote add origin https://github.com/atilaahmettaner/tradingview-mcp; git fetch --depth 1 origin 51658d0e873e34e47361786ab0dd1dcee8426c50; git reset --mixed FETCH_HEAD","curl -LsSf https://astral.sh/uv/install.sh | sh (README 'Install UV' step)","uv sync --dev (README 'Or run from source' / CONTRIBUTING)","uv run pytest tests/unit -q (CONTRIBUTING: 426 passed)","uv run tradingview-mcp (README 'Or run from source'; stdio MCP server), then MCP tools/call yahoo_price with symbol AAPL and BTC-USD"],"deviations":["uv was not installed in the guest; installed with the README's own curl|sh installer into <guest-path> (HOME is <guest-path>).","The task's preflight path /inputs/coldpass-preflight.py does not exist in this VM; used <guest-path> instead.","First checker replay failed because expected_text was the quoted JSON field '\"symbol\": \"AAPL\"'; changed to the returned value 'AAPL' / 'BTC-USD' and re-validated with no problems.","README 'Try these first' examples are chat prompts for an AI client, not shell commands; recorded as a non-runnable example with a reason.","No product scheduler/cron/webhook exists; cycles.json is detected:false.","pip install tradingview-mcp-server (README alternative) was not used; the source path was used because the task pins a commit."],"stuck_step":null,"main_blocker":null,"plain_failure":null,"suggested_fix":null}
EOF
python3 -I -c "import json;json.load(open('.coldpass/report.json'));print('report ok')"; ls -la .coldpass
cd <guest-path> && <env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay 2>&1 | python3 -I -c "import json,sys; d=json.loads(sys.stdin.read()); print('valid:',d.get('valid'),'problems:',d.get('problems'))"; ps -eo pid,args | grep -c "[t]radingview-mcp" 
Earlier attempts (1)

Luna

Native agent · Checked operation passed

Checked operation <guest-path> run tradingview-mcp · local stdio MCP start + initialize + tools/list

Agent-reported scope: Run the README source entry point and call yahoo_price for AAPL over stdio MCP.

MCP server returned: TradingView Multi-Market Screener · version 1.29.0.

MCP tools returned: top_gainers, top_losers, bollinger_scan, rating_filter, coin_analysis, consecutive_candles_scan, advanced_candle_pattern, volume_breakout_scanner, volume_confirmation_analysis, smart_volume_scanner, multi_agent_analysis, egx_market_overview, egx_sector_scan, egx_sector_scanner, egx_index_analysis, egx_stock_screener, egx_trade_plan, egx_fibonacci_retracement, smart_money_analysis, egx_smart_money_scanner, multi_timeframe_analysis, market_sentiment, financial_news, combined_analysis, backtest_strategy, compare_strategies, walk_forward_backtest_strategy, yahoo_price, market_snapshot, bitcoin_market_pulse, stock_extended_hours, stock_options_chain, stock_options_unusual_activity, futures_market_overview, futures_top_movers, futures_category_snapshot, futures_watchlist, stock_screener, stock_prices. Tool listing does not establish authenticated tool-call success.

Run details
run
atilaahmettaner--tradingview-mcp-gpt-6-luna-1792792679544811656
date
Oct 23, 2026
time to working
58.2s
product hosting / execution
Local stdio MCP server in the guest
recorded operation scope
product operation
model
gpt-6-luna
agent / version
codex / codex-cli 0.163.0
platform
linux
reported cost
not reported (not assumed free)
Recorded source
https://github.com/atilaahmettaner/tradingview-mcp
Backend
hyperv
Tool transport
mcp-assigned-vm
Requested source pin (not an observed revision)
{"commit": "51658d0e873e34e47361786ab0dd1dcee8426c50", "url": "https://github.com/atilaahmettaner/tradingview-mcp"}
Test version
readme-f72312298d35d84837d4fc5f6f22b138d54d456600b5ed431e36e8f5db931dbf
revision
51658d0e873e34e47361786ab0dd1dcee8426c50
Whose fault: not assigned · resolved

Safety: Review signals: 1 connection review, 82 known vulnerability.

Review signals: 1 connection review, 82 known vulnerability.

Repository processes attempted these non-loopback connections; proxies can hide the final hostname. 4 distinct locations. 12 attributed processes.

OSV reports a known vulnerability in this dependency version. 11 distinct locations. 82 findings.

OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check.

A short run cannot establish that code is safe.

Connections show IP addresses; proxies can hide the final hostname.

Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing.

Full safety evidence →

Answers recorded for this run
  • Yahoo Finance provides real-time quotes.: Real input produced the expected result: AAPL

    Source: | `yahoo_price` | Real-time quote: price, change %, 52w high/low, market state |

    Input: {"tool": "yahoo_price", "arguments": {"symbol": "AAPL"}}

    Expected: AAPL quote data

    Command: <guest-path> run tradingview-mcp tools/call {"tool": "yahoo_price", "arguments": {"symbol": "AAPL"}}

    Observed: AAPL\",\n \"price\": 347.725,\n \"previous_close\": 348.22,\n \"change\": -0.495,\n \"change_pct\": -0.14,\n \"currency\": \"USD\",\n \"exchange\": \"NMS\",\n \"market_state\": \"\",\n \"52w_high\": 351.73,\n \"52w_low\": 243.42,\n \"price_source\": \"quote\",\n \"quote_stale\": false,\n \"source\": \"Yahoo Finance\",\n \"timestamp\": \"2026-10-23T21:59:15.251027+00:00\"\n}"}], "isError": false}

Examples

  • Start the MCP server from source: command completed successfully

    Source: README.md / Quick Start / Or run from source

    Input: stdio transport

    Expected: MCP server starts

    Command: <guest-path> run tradingview-mcp

    Observed: warning: The `tool.uv.dev-dependencies` field (used in `pyproject.toml`) is deprecated and will be removed in a future release; use `dependency-groups.dev` instead [tradingview_mcp] socket default timeout set to 20.0s

Local or hosted: both

What the agent did

Run the README source entry point and call yahoo_price for AAPL over stdio MCP.

pwd; rg --files -g 'README*' -g 'AGENTS.md' -g 'pyproject.toml' -g 'package.json' -g 'uv.lock' -g 'requirements*' -g '.github/**' -g '*.py' | head -100; python3 --version; id -u; ls -la
cat README.md; cat pyproject.toml; find . -name AGENTS.md -print; git status --short --branch; git log -1 --oneline
git init && git remote add origin https://github.com/atilaahmettaner/tradingview-mcp && git fetch --depth 1 origin 51658d0e873e34e47361786ab0dd1dcee8426c50 && git reset --mixed FETCH_HEAD; command -v uv || true; sed -n '1,120p' .codex-mcp.json; find src -type f
curl -LsSf https://astral.sh/uv/install.sh | sh; . "$HOME/.local/bin/env"; uv --version; NODE_USE_ENV_PROXY=1 "$HOME/.local/bin/uv" sync
sed -n '1,240p' src/tradingview_mcp/server.py; sed -n '1,160p' .github/workflows/*
tail -100 src/tradingview_mcp/server.py; ls <guest-path>; cat .coldpass/* 2>/dev/null
mkdir -p .coldpass; python3 - <<'PY'
import json
from pathlib import Path
base=Path('.coldpass')
(base/'probe.json').write_text(json.dumps({'kind':'mcp','argv':['<guest-path>','run','tradingview-mcp'],'cwd':'<guest-path>','tool':'yahoo_price','arguments':{'symbol':'AAPL'},'expected_text':'AAPL'},indent=2)+'\n')
(base/'claims.json').write_text(json.dumps([{'kind':'claim','claim':'Yahoo Finance provides real-time quotes.','source':'| `yahoo_price` | Real-time quote: price, change %, 52w high/low, market state |','input':'AAPL','expected':'AAPL quote data','probe_kind':'mcp','argv':['<guest-path>','run','tradingview-mcp'],'tool':'yahoo_price','arguments':{'symbol':'AAPL'},'expected_text':'AAPL','cwd':'<guest-path>'}],indent=2)+'\n')
(base/'examples.json').write_text(json.dumps([{'kind':'example','claim':'Start the MCP server from source','source':'README.md / Quick Start / Or run from source','input':'stdio transport','expected':'MCP server starts','argv':['<guest-path>','run','tradingview-mcp'],'cwd':'<guest-path>','reason':'The README documents starting the server, but the stdio process requires an MCP client; exercised the tool call through probe/claim replay.'}],indent=2)+'\n')
(base/'cycles.json').write_text(json.dumps({'detected':False,'reason':'Inspected README, Python entry point, and CI workflows; product exposes MCP tools and no recurring scheduler or cycle trigger.','checks':[]},indent=2)+'\n')
PY
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay
python3 - <<'PY'
import json
from pathlib import Path
p=Path('.coldpass/report.json')
p.write_text(json.dumps({'outcome':'working','fault_owner':None,'operation':'Run the README source entry point and call yahoo_price for AAPL over stdio MCP.','operation_scope':'Python 3.12.3 with uv and README dependencies installed; public Yahoo Finance quote endpoint reachable.','steps':['Installed uv with the README installation script.','Ran uv sync from the source checkout.','Started uv run tradingview-mcp and called yahoo_price(symbol="AAPL"); received price, change, 52-week range, and Yahoo Finance source.','Replayed probe, README claim, examples, and cycles successfully with checker.'],'deviations':[],'stuck_step':None,'main_blocker':None,'plain_failure':None,'suggested_fix':None},indent=2)+'\n')
PY
<env-var>=<guest-path> python3 -I <guest-path> --validate --replay; git status --short