tradingview-mcp 26.0.0__tar.gz → 26.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/.gitignore +1 -3
  2. tradingview_mcp-26.2.0/PKG-INFO +141 -0
  3. tradingview_mcp-26.2.0/README.md +105 -0
  4. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/pyproject.toml +1 -1
  5. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/extracted/ai_quick_reference.json +130 -131
  6. tradingview_mcp-26.2.0/src/tradingview_mcp/data/extracted/common_fields.json +7362 -0
  7. tradingview_mcp-26.2.0/src/tradingview_mcp/data/extracted/fields_by_market.json +43574 -0
  8. tradingview_mcp-26.2.0/src/tradingview_mcp/data/extracted/stock_screener_presets.json +1871 -0
  9. tradingview_mcp-26.2.0/src/tradingview_mcp/docs_data.py +511 -0
  10. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/server.py +266 -800
  11. tradingview_mcp-26.0.0/PKG-INFO +0 -333
  12. tradingview_mcp-26.0.0/README.md +0 -297
  13. tradingview_mcp-26.0.0/src/tradingview_mcp/data/extracted/common_fields.json +0 -3627
  14. tradingview_mcp-26.0.0/src/tradingview_mcp/data/extracted/fields_by_market.json +0 -23299
  15. tradingview_mcp-26.0.0/src/tradingview_mcp/docs_data.py +0 -297
  16. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/LICENSE +0 -0
  17. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/__init__.py +0 -0
  18. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/column.py +0 -0
  19. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/constants.py +0 -0
  20. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/__init__.py +0 -0
  21. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/column_display_names.json +0 -0
  22. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/extracted/__init__.py +0 -0
  23. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/extracted/screener_code_examples.json +0 -0
  24. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/markets.json +0 -0
  25. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/metainfo/bond.json +0 -0
  26. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/metainfo/bonds.json +0 -0
  27. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/metainfo/cfd.json +0 -0
  28. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/metainfo/coin.json +0 -0
  29. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/metainfo/crypto.json +0 -0
  30. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/metainfo/economics2.json +0 -0
  31. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/metainfo/forex.json +0 -0
  32. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/metainfo/futures.json +0 -0
  33. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/metainfo/ireland.json +0 -0
  34. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/metainfo/options.json +0 -0
  35. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/metainfo/stocks.json +0 -0
  36. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/screeners/main_screeners.json +0 -0
  37. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/screeners/markets.json +0 -0
  38. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/screeners/stocks.json +0 -0
  39. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/data/screeners/stocks_failed.json +0 -0
  40. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/models.py +0 -0
  41. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/query.py +0 -0
  42. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/scanner.py +0 -0
  43. {tradingview_mcp-26.0.0 → tradingview_mcp-26.2.0}/src/tradingview_mcp/utils.py +0 -0
@@ -1,6 +1,3 @@
1
- # Reference files
2
- referance/
3
-
4
1
  # Environment
5
2
  .env
6
3
 
@@ -19,6 +16,7 @@ dist/
19
16
  # Unit test / coverage reports
20
17
  .pytest_cache/
21
18
  .coverage
19
+ coverage.xml
22
20
  htmlcov/
23
21
 
24
22
  # Virtual environments
@@ -0,0 +1,141 @@
1
+ Metadata-Version: 2.4
2
+ Name: tradingview-mcp
3
+ Version: 26.2.0
4
+ Summary: A comprehensive MCP server for TradingView market screening with integrated screener functionality
5
+ Project-URL: Homepage, https://github.com/k73a/tradingview-mcp
6
+ Project-URL: Documentation, https://github.com/k73a/tradingview-mcp#readme
7
+ Project-URL: Repository, https://github.com/k73a/tradingview-mcp
8
+ Project-URL: Issues, https://github.com/k73a/tradingview-mcp/issues
9
+ Project-URL: Changelog, https://github.com/k73a/tradingview-mcp/blob/main/CHANGELOG.md
10
+ Author: TradingView MCP Team
11
+ License: MIT
12
+ License-File: LICENSE
13
+ Keywords: crypto,mcp,model-context-protocol,screener,stocks,technical-analysis,trading,tradingview
14
+ Classifier: Development Status :: 4 - Beta
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: Financial and Insurance Industry
17
+ Classifier: License :: OSI Approved :: MIT License
18
+ Classifier: Programming Language :: Python :: 3
19
+ Classifier: Programming Language :: Python :: 3.10
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Topic :: Office/Business :: Financial :: Investment
23
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
+ Requires-Python: >=3.10
25
+ Requires-Dist: httpx>=0.24.0
26
+ Requires-Dist: mcp>=1.0.0
27
+ Requires-Dist: pandas>=2.0.0
28
+ Requires-Dist: requests>=2.28.0
29
+ Provides-Extra: dev
30
+ Requires-Dist: pyright>=1.1.0; extra == 'dev'
31
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
32
+ Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
33
+ Requires-Dist: pytest>=7.0.0; extra == 'dev'
34
+ Requires-Dist: ruff>=0.1.0; extra == 'dev'
35
+ Description-Content-Type: text/markdown
36
+
37
+ # TradingView MCP Server
38
+
39
+ [![PyPI version](https://badge.fury.io/py/tradingview-mcp.svg)](https://badge.fury.io/py/tradingview-mcp)
40
+ [![Python](https://img.shields.io/pypi/pyversions/tradingview-mcp.svg)](https://pypi.org/project/tradingview-mcp/)
41
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
42
+
43
+ MCP server for TradingView market screening. Supports stocks, crypto, forex, futures, bonds across 76+ markets.
44
+
45
+ ## Quick Start
46
+
47
+ ```json
48
+ {
49
+ "mcpServers": {
50
+ "tradingview": {
51
+ "command": "uvx",
52
+ "args": ["tradingview-mcp"]
53
+ }
54
+ }
55
+ }
56
+ ```
57
+
58
+ ## Main Tools
59
+
60
+ | Tool | Description |
61
+ |------|-------------|
62
+ | `screen_market` | Custom market screening with filters |
63
+ | `get_top_gainers` | Top gaining assets |
64
+ | `get_top_losers` | Top losing assets |
65
+ | `get_most_active` | Most traded by volume |
66
+ | `search_symbols` | Search by company name |
67
+ | `get_symbol_info` | Detailed symbol info |
68
+ | `advanced_query` | Complex queries with AND/OR logic |
69
+
70
+ ### Technical Analysis
71
+
72
+ | Tool | Description |
73
+ |------|-------------|
74
+ | `get_technical_analysis` | Full technical analysis |
75
+ | `scan_rsi_extremes` | RSI overbought/oversold |
76
+ | `scan_macd_crossover` | MACD crossover detection |
77
+ | `scan_bollinger_bands` | Bollinger Band squeeze |
78
+ | `scan_volume_breakout` | Volume breakout detection |
79
+
80
+ ### Reference Tools
81
+
82
+ | Tool | Description |
83
+ |------|-------------|
84
+ | `ai_get_reference` | Quick reference for markets/columns/filters |
85
+ | `search_available_fields` | Search for fields by name |
86
+ | `get_field_info` | Get field display name and type |
87
+ | `list_fields_for_market` | List fields for a market |
88
+ | `get_screener_preset` | Get predefined screener presets |
89
+
90
+ ## Resources
91
+
92
+ | Resource | Description |
93
+ |----------|-------------|
94
+ | `markets://list` | All available markets |
95
+ | `columns://list` | Available columns/fields |
96
+ | `docs://ai-reference` | AI quick reference |
97
+ | `docs://fields` | Field display names |
98
+
99
+ ## Markets
100
+
101
+ - **Stocks**: america, uk, germany, japan, china, etc. (68 countries)
102
+ - **Crypto**: crypto (pairs), coin (individual coins)
103
+ - **Others**: forex, futures, bonds, cfd, options
104
+
105
+ ## Installation
106
+
107
+ ```bash
108
+ # Using uvx (recommended)
109
+ uvx tradingview-mcp
110
+
111
+ # Using pip
112
+ pip install tradingview-mcp
113
+
114
+ # From source
115
+ git clone https://github.com/k73a/tradingview-mcp.git
116
+ cd tradingview-mcp
117
+ uv sync
118
+ ```
119
+
120
+ ## Running
121
+
122
+ ```bash
123
+ # Stdio (default)
124
+ tradingview-mcp
125
+
126
+ # HTTP
127
+ tradingview-mcp streamable-http --host 127.0.0.1 --port 8000
128
+ ```
129
+
130
+ ## Development
131
+
132
+ ```bash
133
+ uv sync --all-extras
134
+ uv run pytest tests/ -v
135
+ uv run ruff format .
136
+ uv run ruff check . --fix
137
+ ```
138
+
139
+ ## License
140
+
141
+ MIT License
@@ -0,0 +1,105 @@
1
+ # TradingView MCP Server
2
+
3
+ [![PyPI version](https://badge.fury.io/py/tradingview-mcp.svg)](https://badge.fury.io/py/tradingview-mcp)
4
+ [![Python](https://img.shields.io/pypi/pyversions/tradingview-mcp.svg)](https://pypi.org/project/tradingview-mcp/)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
6
+
7
+ MCP server for TradingView market screening. Supports stocks, crypto, forex, futures, bonds across 76+ markets.
8
+
9
+ ## Quick Start
10
+
11
+ ```json
12
+ {
13
+ "mcpServers": {
14
+ "tradingview": {
15
+ "command": "uvx",
16
+ "args": ["tradingview-mcp"]
17
+ }
18
+ }
19
+ }
20
+ ```
21
+
22
+ ## Main Tools
23
+
24
+ | Tool | Description |
25
+ |------|-------------|
26
+ | `screen_market` | Custom market screening with filters |
27
+ | `get_top_gainers` | Top gaining assets |
28
+ | `get_top_losers` | Top losing assets |
29
+ | `get_most_active` | Most traded by volume |
30
+ | `search_symbols` | Search by company name |
31
+ | `get_symbol_info` | Detailed symbol info |
32
+ | `advanced_query` | Complex queries with AND/OR logic |
33
+
34
+ ### Technical Analysis
35
+
36
+ | Tool | Description |
37
+ |------|-------------|
38
+ | `get_technical_analysis` | Full technical analysis |
39
+ | `scan_rsi_extremes` | RSI overbought/oversold |
40
+ | `scan_macd_crossover` | MACD crossover detection |
41
+ | `scan_bollinger_bands` | Bollinger Band squeeze |
42
+ | `scan_volume_breakout` | Volume breakout detection |
43
+
44
+ ### Reference Tools
45
+
46
+ | Tool | Description |
47
+ |------|-------------|
48
+ | `ai_get_reference` | Quick reference for markets/columns/filters |
49
+ | `search_available_fields` | Search for fields by name |
50
+ | `get_field_info` | Get field display name and type |
51
+ | `list_fields_for_market` | List fields for a market |
52
+ | `get_screener_preset` | Get predefined screener presets |
53
+
54
+ ## Resources
55
+
56
+ | Resource | Description |
57
+ |----------|-------------|
58
+ | `markets://list` | All available markets |
59
+ | `columns://list` | Available columns/fields |
60
+ | `docs://ai-reference` | AI quick reference |
61
+ | `docs://fields` | Field display names |
62
+
63
+ ## Markets
64
+
65
+ - **Stocks**: america, uk, germany, japan, china, etc. (68 countries)
66
+ - **Crypto**: crypto (pairs), coin (individual coins)
67
+ - **Others**: forex, futures, bonds, cfd, options
68
+
69
+ ## Installation
70
+
71
+ ```bash
72
+ # Using uvx (recommended)
73
+ uvx tradingview-mcp
74
+
75
+ # Using pip
76
+ pip install tradingview-mcp
77
+
78
+ # From source
79
+ git clone https://github.com/k73a/tradingview-mcp.git
80
+ cd tradingview-mcp
81
+ uv sync
82
+ ```
83
+
84
+ ## Running
85
+
86
+ ```bash
87
+ # Stdio (default)
88
+ tradingview-mcp
89
+
90
+ # HTTP
91
+ tradingview-mcp streamable-http --host 127.0.0.1 --port 8000
92
+ ```
93
+
94
+ ## Development
95
+
96
+ ```bash
97
+ uv sync --all-extras
98
+ uv run pytest tests/ -v
99
+ uv run ruff format .
100
+ uv run ruff check . --fix
101
+ ```
102
+
103
+ ## License
104
+
105
+ MIT License
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tradingview-mcp"
3
- version = "26.0.0"
3
+ version = "26.2.0"
4
4
  description = "A comprehensive MCP server for TradingView market screening with integrated screener functionality"
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -2,73 +2,73 @@
2
2
  "markets": {
3
3
  "stocks": [
4
4
  "america",
5
- "uk",
6
- "germany",
7
- "japan",
8
- "china",
9
- "india",
10
- "brazil",
11
- "canada",
5
+ "argentina",
12
6
  "australia",
13
- "korea",
14
- "taiwan",
15
- "hongkong",
16
- "singapore",
17
- "france",
18
- "italy",
19
- "spain",
20
- "netherlands",
21
- "switzerland",
22
- "sweden",
23
- "norway",
24
- "denmark",
25
- "finland",
26
7
  "austria",
8
+ "bahrain",
9
+ "bangladesh",
27
10
  "belgium",
28
- "portugal",
29
- "poland",
30
- "russia",
31
- "turkey",
32
- "israel",
33
- "mexico",
34
- "argentina",
11
+ "brazil",
12
+ "canada",
35
13
  "chile",
14
+ "china",
36
15
  "colombia",
37
- "peru",
38
- "venezuela",
39
- "indonesia",
40
- "malaysia",
41
- "thailand",
42
- "philippines",
43
- "vietnam",
44
- "pakistan",
45
- "bangladesh",
46
- "srilanka",
47
- "newzealand",
48
- "egypt",
49
- "rsa",
50
- "nigeria",
51
- "kenya",
52
- "morocco",
53
- "tunisia",
54
- "bahrain",
55
- "kuwait",
56
- "qatar",
57
- "uae",
58
- "ksa",
59
16
  "cyprus",
60
17
  "czech",
18
+ "denmark",
19
+ "egypt",
61
20
  "estonia",
21
+ "finland",
22
+ "france",
23
+ "germany",
62
24
  "greece",
25
+ "hongkong",
63
26
  "hungary",
64
27
  "iceland",
28
+ "india",
29
+ "indonesia",
65
30
  "ireland",
31
+ "israel",
32
+ "italy",
33
+ "japan",
34
+ "kenya",
35
+ "korea",
36
+ "ksa",
37
+ "kuwait",
66
38
  "latvia",
67
39
  "lithuania",
68
40
  "luxembourg",
41
+ "malaysia",
42
+ "mexico",
43
+ "morocco",
44
+ "netherlands",
45
+ "newzealand",
46
+ "nigeria",
47
+ "norway",
48
+ "pakistan",
49
+ "peru",
50
+ "philippines",
51
+ "poland",
52
+ "portugal",
53
+ "qatar",
69
54
  "romania",
55
+ "rsa",
56
+ "russia",
70
57
  "serbia",
71
- "slovakia"
58
+ "singapore",
59
+ "slovakia",
60
+ "spain",
61
+ "srilanka",
62
+ "sweden",
63
+ "switzerland",
64
+ "taiwan",
65
+ "thailand",
66
+ "tunisia",
67
+ "turkey",
68
+ "uae",
69
+ "uk",
70
+ "venezuela",
71
+ "vietnam"
72
72
  ],
73
73
  "crypto": [
74
74
  "crypto"
@@ -99,114 +99,113 @@
99
99
  "common_columns": {
100
100
  "price": [
101
101
  "close",
102
- "open",
103
- "high",
104
- "low",
105
102
  "change",
106
103
  "change_abs",
107
- "gap"
104
+ "high",
105
+ "low",
106
+ "open"
108
107
  ],
109
108
  "volume": [
110
109
  "volume",
111
110
  "Value.Traded",
112
- "relative_volume_10d_calc",
113
- "average_volume_10d_calc"
111
+ "relative_volume_10d_calc"
114
112
  ],
115
113
  "market_cap": [
116
- "market_cap_basic"
114
+ "market_cap_basic",
115
+ "market_cap_calc"
117
116
  ],
118
- "fundamentals": [
117
+ "fundamental": [
119
118
  "price_earnings_ttm",
120
119
  "earnings_per_share_basic_ttm",
121
- "dividend_yield_recent",
122
- "price_book_fq"
120
+ "dividends_yield_current",
121
+ "total_revenue_fy",
122
+ "net_income_fy"
123
123
  ],
124
124
  "technical": [
125
+ "Recommend.All",
125
126
  "RSI",
126
127
  "MACD.macd",
127
- "MACD.signal",
128
128
  "BB.upper",
129
129
  "BB.lower",
130
- "SMA20",
131
130
  "SMA50",
132
131
  "SMA200",
133
- "EMA20",
134
132
  "EMA50",
135
133
  "EMA200"
136
134
  ],
137
- "ratings": [
138
- "Recommend.All",
139
- "Recommend.MA",
140
- "Recommend.Other"
141
- ],
142
- "info": [
135
+ "metadata": [
143
136
  "name",
144
137
  "description",
145
138
  "sector",
146
- "industry",
147
139
  "exchange",
148
140
  "type",
149
- "subtype"
141
+ "currency"
142
+ ]
143
+ },
144
+ "filter_operations": {
145
+ "comparison": [
146
+ "greater",
147
+ "less",
148
+ "equal",
149
+ "not_equal",
150
+ "greater_or_equal",
151
+ "less_or_equal"
152
+ ],
153
+ "range": [
154
+ "in_range",
155
+ "not_in_range"
156
+ ],
157
+ "list": [
158
+ "in_list",
159
+ "not_in_list"
160
+ ],
161
+ "text": [
162
+ "match",
163
+ "not_match",
164
+ "has",
165
+ "has_none_of"
166
+ ],
167
+ "null": [
168
+ "empty",
169
+ "not_empty"
170
+ ]
171
+ },
172
+ "field_type_operations": {
173
+ "number": [
174
+ "greater",
175
+ "less",
176
+ "equal",
177
+ "in_range",
178
+ "empty"
179
+ ],
180
+ "percent": [
181
+ "greater",
182
+ "less",
183
+ "equal",
184
+ "in_range"
185
+ ],
186
+ "price": [
187
+ "greater",
188
+ "less",
189
+ "equal",
190
+ "in_range"
191
+ ],
192
+ "text": [
193
+ "equal",
194
+ "match",
195
+ "in_list",
196
+ "has"
197
+ ],
198
+ "bool": [
199
+ "equal"
150
200
  ]
151
201
  },
152
- "filter_operations": [
153
- "equal",
154
- "ne",
155
- "gt",
156
- "gte",
157
- "lt",
158
- "lte",
159
- "in_range",
160
- "has",
161
- "has_none_of",
162
- "isin",
163
- "not_isin",
164
- "match",
165
- "crosses",
166
- "crosses_above",
167
- "crosses_below"
168
- ],
169
- "sort_order": [
170
- "asc",
171
- "desc"
172
- ],
173
- "timeframes": [
174
- "",
175
- "1",
176
- "5",
177
- "15",
178
- "30",
179
- "60",
180
- "120",
181
- "240",
182
- "1W",
183
- "1M"
184
- ],
185
- "common_filters": {
186
- "stocks_only": {
187
- "left": "type",
188
- "operation": "equal",
189
- "right": "stock"
190
- },
191
- "primary_listing": {
192
- "left": "is_primary",
193
- "operation": "equal",
194
- "right": true
195
- },
196
- "active_trading": {
197
- "left": "active_symbol",
198
- "operation": "equal",
199
- "right": true
200
- },
201
- "min_volume": {
202
- "left": "volume",
203
- "operation": "gt",
204
- "right": 100000
205
- },
206
- "min_market_cap": {
207
- "left": "market_cap_basic",
208
- "operation": "gt",
209
- "right": 1000000000
210
- }
211
- }
202
+ "screener_examples": [
203
+ "Stocks (legacy)",
204
+ "Stocks (v2)",
205
+ "Forex",
206
+ "Crypto",
207
+ "Crypto Coins",
208
+ "ETFs",
209
+ "Bonds"
210
+ ]
212
211
  }