tradingview-mcp-server 0.1.3 → 0.2.0

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.
package/README.md CHANGED
@@ -56,6 +56,7 @@ Unlike hedge funds competing on speed and information access, you can compete on
56
56
  - [Features](#features)
57
57
  - [Installation](#installation)
58
58
  - [Configuration](#configuration)
59
+ - [Try It Out: Included Commands](#try-it-out-included-commands)
59
60
  - [Quick Start](#quick-start)
60
61
  - [Documentation](#documentation)
61
62
  - [Available Tools](#available-tools)
@@ -67,13 +68,14 @@ Unlike hedge funds competing on speed and information access, you can compete on
67
68
 
68
69
  **Built for research-driven investment discovery:**
69
70
 
70
- - 🔍 **Systematic screening** - Find opportunities across stocks, forex, and crypto with advanced filters
71
+ - 🔍 **Multi-asset screening** - Dedicated tools for stocks, forex, crypto, and ETFs with advanced filters
71
72
  - 📊 **75+ investment metrics** - Fundamental (valuation, margins, returns), technical (RSI, moving averages), and performance fields with TTM/FQ/FY variants
72
- - 🎯 **6 proven investment strategies** - Pre-configured screens for quality, value, dividend, momentum, and growth investing
73
+ - 🎯 **7 proven strategies & presets** - Pre-configured screens for quality, value, dividend, momentum, growth investing, plus global market indexes
73
74
  - 💡 **AI-powered exploration** - Natural language queries through Claude ("Find undervalued companies with strong balance sheets")
74
75
  - 💰 **Deep financial analysis** - EV, EV/EBIT, EV/EBITDA, PEG, gross/operating margins, ROIC, ROA, ROE
75
76
  - ⚡ **Research-optimized** - Minimal (7 fields) for quick scans vs extended (35 fields) for comprehensive analysis
76
77
  - 🏦 **Exchange filtering** - Focus on NASDAQ, NYSE, CBOE, or primary listings only
78
+ - 🌍 **Global coverage** - Screen stocks across multiple markets (America, Europe, Asia) and 9,000+ cryptocurrencies
77
79
 
78
80
  ## Installation
79
81
 
@@ -83,13 +85,18 @@ Unlike hedge funds competing on speed and information access, you can compete on
83
85
  npm install -g tradingview-mcp-server
84
86
  ```
85
87
 
86
- ### Option 2: Local Development
88
+ ### Option 2: Clone Repository (with demo commands)
87
89
 
88
90
  ```bash
89
91
  git clone https://github.com/fiale-plus/tradingview-mcp-server.git
90
92
  cd tradingview-mcp-server
91
93
  npm install
92
- npm run build
94
+
95
+ # Quick setup - creates project-level MCP config
96
+ ./local-setup.sh # Linux/Mac
97
+ local-setup.bat # Windows
98
+
99
+ # Restart Claude Code and try: /market-regime or /run-screener
93
100
  ```
94
101
 
95
102
  ## Configuration
@@ -136,6 +143,57 @@ Enable in `.claude/settings.local.json`:
136
143
  - `CACHE_TTL_SECONDS` - Cache duration (default: 300)
137
144
  - `RATE_LIMIT_RPM` - Requests per minute (default: 10)
138
145
 
146
+ ## Try It Out: Included Commands
147
+
148
+ The repository includes two ready-to-use Claude Code commands that demonstrate practical workflows:
149
+
150
+ ### `/market-regime` - Check Market Health
151
+
152
+ Quickly assess overall market conditions by analyzing major indexes relative to their all-time highs.
153
+
154
+ ```bash
155
+ # In Claude Code, run:
156
+ /market-regime
157
+ ```
158
+
159
+ **What you get:**
160
+ - Color-coded status table (🟢/🟡/🔴) for Nasdaq, OMX Stockholm 30, and Nikkei 225
161
+ - Drawdown calculations from all-time highs
162
+ - Market regime summary (bull/correction/bear)
163
+ - Use before making new allocations or for weekly portfolio reviews
164
+
165
+ ### `/run-screener` - Interactive Stock Screening
166
+
167
+ Run pre-configured screening strategies and save results to CSV for further analysis.
168
+
169
+ ```bash
170
+ # In Claude Code, run:
171
+ /run-screener
172
+ ```
173
+
174
+ **What you get:**
175
+ - Interactive preset selection (quality, value, dividend, momentum, growth)
176
+ - Summary table of top results with key metrics
177
+ - Complete results saved to `docs/local/screening-runs/{preset}_{timestamp}.csv`
178
+ - Perfect for building watchlists and learning different investment styles
179
+
180
+ **First-time setup:**
181
+ ```bash
182
+ # Quick setup script (recommended)
183
+ ./local-setup.sh # Linux/Mac
184
+ local-setup.bat # Windows
185
+
186
+ # Or manually copy files:
187
+ cp .mcp.json.example .mcp.json
188
+ cp .claude/settings.json.example .claude/settings.local.json
189
+
190
+ # Restart Claude Code to load MCP server and commands
191
+ ```
192
+
193
+ See [`.claude/commands/README.md`](.claude/commands/README.md) for detailed command documentation.
194
+
195
+ ---
196
+
139
197
  ## Quick Start
140
198
 
141
199
  ### Learning Investment Strategies
@@ -189,7 +247,7 @@ What's the difference between gross margin and operating margin?
189
247
 
190
248
  ### 📚 Comprehensive Guides
191
249
 
192
- - **[Preset Strategies](docs/presets.md)** - All 6 preset strategies with detailed criteria, use cases, and examples
250
+ - **[Preset Strategies](docs/presets.md)** - All 7 preset strategies with detailed criteria, use cases, and examples
193
251
  - **[Field Reference](docs/fields.md)** - Complete guide to all 75+ fields with descriptions and usage examples
194
252
  - **[Development Guide](docs/development.md)** - Local setup, testing, and extending the server
195
253
 
@@ -245,6 +303,68 @@ See **[Preset Strategies Guide](docs/presets.md)** for detailed criteria and usa
245
303
 
246
304
  List all available preset strategies.
247
305
 
306
+ ### `screen_forex`
307
+
308
+ Screen forex pairs based on technical criteria.
309
+
310
+ **Parameters:**
311
+ - `filters` - Array of filter conditions (field, operator, value)
312
+ - `sort_by` - Field to sort by (default: `"volume"`)
313
+ - `sort_order` - `"asc"` or `"desc"` (default: `"desc"`)
314
+ - `limit` - Number of results (1-200, default: 20)
315
+
316
+ **Example fields:** `close`, `volume`, `change`, `RSI`, `SMA50`, `SMA200`, `Volatility.M`
317
+
318
+ ### `screen_crypto`
319
+
320
+ Screen cryptocurrencies based on technical and market criteria.
321
+
322
+ **Parameters:**
323
+ - `filters` - Array of filter conditions (field, operator, value)
324
+ - `sort_by` - Field to sort by (default: `"market_cap_basic"`)
325
+ - `sort_order` - `"asc"` or `"desc"` (default: `"desc"`)
326
+ - `limit` - Number of results (1-200, default: 20)
327
+
328
+ **Example fields:** `close`, `market_cap_basic`, `volume`, `change`, `Perf.1M`, `Perf.3M`, `Perf.Y`
329
+
330
+ ### `screen_etf`
331
+
332
+ Screen ETFs (Exchange-Traded Funds) based on performance and technical criteria.
333
+
334
+ **Parameters:**
335
+ - `filters` - Array of filter conditions (field, operator, value)
336
+ - `markets` - Markets to scan (default: `["america"]`)
337
+ - `sort_by` - Field to sort by (default: `"market_cap_basic"`)
338
+ - `sort_order` - `"asc"` or `"desc"` (default: `"desc"`)
339
+ - `limit` - Number of results (1-200, default: 20)
340
+ - `columns` - Optional array of columns to return
341
+
342
+ **Example fields:** `close`, `volume`, `change`, `Perf.1M`, `Perf.Y`, `RSI`, `beta_1_year`
343
+
344
+ ### `lookup_symbols`
345
+
346
+ Look up specific symbols (stocks, indexes, ETFs) by ticker. **Use this for market indexes** like TVC:SPX, TVC:DJI, OMXSTO:OMXS30 that cannot be found via screening.
347
+
348
+ **Parameters:**
349
+ - `symbols` - Array of ticker symbols (e.g., `["TVC:SPX", "NASDAQ:AAPL", "OMXSTO:OMXS30"]`). Maximum 100 symbols.
350
+ - `columns` - Optional array of columns to include
351
+
352
+ **Default columns:** `name`, `close`, `change`, `volume`, `market_cap_basic`, `all_time_high`, `all_time_low`, `price_52_week_high`, `price_52_week_low`
353
+
354
+ **Use Cases:**
355
+ - **Market regime analysis** - Check if indexes are at all-time highs
356
+ - **Direct symbol lookup** - Faster than screening for known tickers
357
+ - **Portfolio comparison** - Compare your holdings side-by-side
358
+ - **Benchmark analysis** - Compare against market indexes
359
+
360
+ **Example:** Get S&P 500, Nasdaq, and OMX Stockholm 30 with market regime data
361
+ ```javascript
362
+ lookup_symbols({
363
+ symbols: ["TVC:SPX", "TVC:IXIC", "OMXSTO:OMXS30"],
364
+ columns: ["close", "all_time_high", "price_52_week_high", "Perf.Y", "RSI"]
365
+ })
366
+ ```
367
+
248
368
  ## Key Features at a Glance
249
369
 
250
370
  ### 75+ Available Fields
@@ -257,7 +377,7 @@ The server provides comprehensive coverage across categories:
257
377
 
258
378
  See **[Complete Field Reference](docs/fields.md)** for all 75+ fields with descriptions and examples.
259
379
 
260
- ### 6 Preset Strategies
380
+ ### 7 Preset Strategies
261
381
 
262
382
  Pre-configured screens for common investment strategies:
263
383
 
@@ -269,6 +389,7 @@ Pre-configured screens for common investment strategies:
269
389
  | `momentum_stocks` | Momentum | RSI 50-70, golden cross | 7 default |
270
390
  | `growth_stocks` | Growth | ROE >20%, margins >15% | 7 default |
271
391
  | `quality_growth_screener` | Comprehensive | 16 filters, deep analysis | 35 extended |
392
+ | `market_indexes` | Market Regime | 13 global indexes (US, EU, Asia) | 16 extended |
272
393
 
273
394
  See **[Preset Strategies Guide](docs/presets.md)** for detailed criteria, use cases, and examples.
274
395
 
package/dist/index.js CHANGED
@@ -135,6 +135,174 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
135
135
  properties: {},
136
136
  },
137
137
  },
138
+ {
139
+ name: "screen_forex",
140
+ description: "Screen forex pairs based on technical criteria. Returns forex pairs matching the specified filters.",
141
+ inputSchema: {
142
+ type: "object",
143
+ properties: {
144
+ filters: {
145
+ type: "array",
146
+ description: "Array of filter conditions to apply",
147
+ items: {
148
+ type: "object",
149
+ properties: {
150
+ field: {
151
+ type: "string",
152
+ description: "Field name to filter (e.g., 'close', 'volume', 'RSI', 'change')",
153
+ },
154
+ operator: {
155
+ type: "string",
156
+ description: "Comparison operator: greater, less, greater_or_equal, less_or_equal, equal, in_range, etc.",
157
+ },
158
+ value: {
159
+ description: "Value to compare against (number, string for field comparison, or array [min, max] for in_range)",
160
+ },
161
+ },
162
+ required: ["field", "operator", "value"],
163
+ },
164
+ },
165
+ sort_by: {
166
+ type: "string",
167
+ description: "Field to sort results by. Default: 'volume'",
168
+ },
169
+ sort_order: {
170
+ type: "string",
171
+ enum: ["asc", "desc"],
172
+ description: "Sort order. Default: 'desc'",
173
+ },
174
+ limit: {
175
+ type: "number",
176
+ description: "Number of results to return (1-200). Default: 20",
177
+ minimum: 1,
178
+ maximum: 200,
179
+ },
180
+ },
181
+ required: ["filters"],
182
+ },
183
+ },
184
+ {
185
+ name: "screen_crypto",
186
+ description: "Screen cryptocurrencies based on technical and market criteria. Returns cryptocurrencies matching the specified filters.",
187
+ inputSchema: {
188
+ type: "object",
189
+ properties: {
190
+ filters: {
191
+ type: "array",
192
+ description: "Array of filter conditions to apply",
193
+ items: {
194
+ type: "object",
195
+ properties: {
196
+ field: {
197
+ type: "string",
198
+ description: "Field name to filter (e.g., 'close', 'market_cap_basic', 'volume', 'change')",
199
+ },
200
+ operator: {
201
+ type: "string",
202
+ description: "Comparison operator: greater, less, greater_or_equal, less_or_equal, equal, in_range, etc.",
203
+ },
204
+ value: {
205
+ description: "Value to compare against (number, string for field comparison, or array [min, max] for in_range)",
206
+ },
207
+ },
208
+ required: ["field", "operator", "value"],
209
+ },
210
+ },
211
+ sort_by: {
212
+ type: "string",
213
+ description: "Field to sort results by. Default: 'market_cap_basic'",
214
+ },
215
+ sort_order: {
216
+ type: "string",
217
+ enum: ["asc", "desc"],
218
+ description: "Sort order. Default: 'desc'",
219
+ },
220
+ limit: {
221
+ type: "number",
222
+ description: "Number of results to return (1-200). Default: 20",
223
+ minimum: 1,
224
+ maximum: 200,
225
+ },
226
+ },
227
+ required: ["filters"],
228
+ },
229
+ },
230
+ {
231
+ name: "screen_etf",
232
+ description: "Screen ETFs (Exchange-Traded Funds) based on performance and technical criteria. Returns ETFs matching the specified filters.",
233
+ inputSchema: {
234
+ type: "object",
235
+ properties: {
236
+ filters: {
237
+ type: "array",
238
+ description: "Array of filter conditions to apply",
239
+ items: {
240
+ type: "object",
241
+ properties: {
242
+ field: {
243
+ type: "string",
244
+ description: "Field name to filter (e.g., 'close', 'volume', 'change', 'Perf.1M')",
245
+ },
246
+ operator: {
247
+ type: "string",
248
+ description: "Comparison operator: greater, less, greater_or_equal, less_or_equal, equal, in_range, etc.",
249
+ },
250
+ value: {
251
+ description: "Value to compare against (number, string for field comparison, or array [min, max] for in_range)",
252
+ },
253
+ },
254
+ required: ["field", "operator", "value"],
255
+ },
256
+ },
257
+ markets: {
258
+ type: "array",
259
+ items: { type: "string" },
260
+ description: "Markets to scan (e.g., ['america']). Default: ['america']",
261
+ },
262
+ sort_by: {
263
+ type: "string",
264
+ description: "Field to sort results by. Default: 'market_cap_basic'",
265
+ },
266
+ sort_order: {
267
+ type: "string",
268
+ enum: ["asc", "desc"],
269
+ description: "Sort order. Default: 'desc'",
270
+ },
271
+ limit: {
272
+ type: "number",
273
+ description: "Number of results to return (1-200). Default: 20",
274
+ minimum: 1,
275
+ maximum: 200,
276
+ },
277
+ columns: {
278
+ type: "array",
279
+ items: { type: "string" },
280
+ description: "Optional: specific columns to include in results. If not provided, uses minimal default columns.",
281
+ },
282
+ },
283
+ required: ["filters"],
284
+ },
285
+ },
286
+ {
287
+ name: "lookup_symbols",
288
+ description: "Look up specific symbols (stocks, indexes, ETFs) by ticker. Use this for direct symbol lookup including market indexes like TVC:SPX, TVC:DJI, OMXSTO:OMXS30 that cannot be found via screening. Returns comprehensive data including ATH, 52-week highs/lows.",
289
+ inputSchema: {
290
+ type: "object",
291
+ properties: {
292
+ symbols: {
293
+ type: "array",
294
+ items: { type: "string" },
295
+ description: "Array of ticker symbols (e.g., ['TVC:SPX', 'NASDAQ:AAPL', 'OMXSTO:OMXS30']). Maximum 100 symbols.",
296
+ },
297
+ columns: {
298
+ type: "array",
299
+ items: { type: "string" },
300
+ description: "Optional: specific columns to include. Default: name, close, change, volume, market_cap_basic, all_time_high, all_time_low, price_52_week_high, price_52_week_low.",
301
+ },
302
+ },
303
+ required: ["symbols"],
304
+ },
305
+ },
138
306
  ],
139
307
  };
140
308
  });
@@ -198,6 +366,50 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
198
366
  ],
199
367
  };
200
368
  }
369
+ case "screen_forex": {
370
+ const result = await screenTool.screenForex(args);
371
+ return {
372
+ content: [
373
+ {
374
+ type: "text",
375
+ text: JSON.stringify(result, null, 2),
376
+ },
377
+ ],
378
+ };
379
+ }
380
+ case "screen_crypto": {
381
+ const result = await screenTool.screenCrypto(args);
382
+ return {
383
+ content: [
384
+ {
385
+ type: "text",
386
+ text: JSON.stringify(result, null, 2),
387
+ },
388
+ ],
389
+ };
390
+ }
391
+ case "screen_etf": {
392
+ const result = await screenTool.screenETF(args);
393
+ return {
394
+ content: [
395
+ {
396
+ type: "text",
397
+ text: JSON.stringify(result, null, 2),
398
+ },
399
+ ],
400
+ };
401
+ }
402
+ case "lookup_symbols": {
403
+ const result = await screenTool.lookupSymbols(args);
404
+ return {
405
+ content: [
406
+ {
407
+ type: "text",
408
+ text: JSON.stringify(result, null, 2),
409
+ },
410
+ ],
411
+ };
412
+ }
201
413
  default:
202
414
  return {
203
415
  content: [
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -4,11 +4,12 @@
4
4
  export interface Preset {
5
5
  name: string;
6
6
  description: string;
7
- filters: Array<{
7
+ filters?: Array<{
8
8
  field: string;
9
9
  operator: string;
10
10
  value: number | string | boolean | [number, number] | string[];
11
11
  }>;
12
+ symbols?: string[];
12
13
  markets?: string[];
13
14
  sort_by?: string;
14
15
  sort_order?: "asc" | "desc";
@@ -1 +1 @@
1
- {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/resources/presets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,KAAK,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;KAChE,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoH1C,CAAC;AAEF,qBAAa,WAAW;IACtB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI5C,WAAW,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAM5D"}
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/resources/presets.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;KAChE,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiK1C,CAAC;AAEF,qBAAa,WAAW;IACtB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAI5C,WAAW,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;CAM5D"}
@@ -105,6 +105,47 @@ export const PRESETS = {
105
105
  sort_order: "desc",
106
106
  columns: EXTENDED_COLUMNS,
107
107
  },
108
+ market_indexes: {
109
+ name: "Global Market Indexes",
110
+ description: "Major global stock market indexes for market regime analysis. Includes US (S&P 500, Dow, Nasdaq, Russell 2000), European (FTSE, DAX, CAC, IBEX), Asian (Nikkei, Hang Seng, Shanghai, Sensex), and Nordic (OMX Stockholm 30) indexes with ATH, 52-week highs/lows, and performance data.",
111
+ symbols: [
112
+ // US Indexes
113
+ "TVC:SPX", // S&P 500
114
+ "TVC:DJI", // Dow Jones Industrial Average
115
+ "TVC:IXIC", // Nasdaq Composite
116
+ "TVC:RUT", // Russell 2000
117
+ // European Indexes
118
+ "TVC:UKX", // FTSE 100 (UK)
119
+ "TVC:DAX", // DAX (Germany)
120
+ "TVC:CAC", // CAC 40 (France)
121
+ "TVC:IBEX35", // IBEX 35 (Spain)
122
+ // Asian Indexes
123
+ "TVC:NI225", // Nikkei 225 (Japan)
124
+ "TVC:HSI", // Hang Seng (Hong Kong)
125
+ "TVC:SHCOMP", // Shanghai Composite (China)
126
+ "BSE:SENSEX", // Sensex (India)
127
+ // Nordic
128
+ "OMXSTO:OMXS30", // OMX Stockholm 30 (Sweden)
129
+ ],
130
+ columns: [
131
+ "name",
132
+ "close",
133
+ "change",
134
+ "all_time_high",
135
+ "all_time_low",
136
+ "price_52_week_high",
137
+ "price_52_week_low",
138
+ "Perf.W",
139
+ "Perf.1M",
140
+ "Perf.3M",
141
+ "Perf.Y",
142
+ "Perf.YTD",
143
+ "RSI",
144
+ "Volatility.M",
145
+ "SMA50",
146
+ "SMA200",
147
+ ],
148
+ },
108
149
  };
109
150
  export class PresetsTool {
110
151
  getPreset(presetName) {
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/resources/presets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/resources/presets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=lookup.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.test.d.ts","sourceRoot":"","sources":["../../src/tests/lookup.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,303 @@
1
+ import { describe, it, mock } from "node:test";
2
+ import assert from "node:assert";
3
+ import { ScreenTool } from "../tools/screen.js";
4
+ describe("ScreenTool - lookupSymbols Integration", () => {
5
+ // Create mock dependencies
6
+ const mockClient = {
7
+ scanStocks: mock.fn(),
8
+ };
9
+ const mockCache = {
10
+ get: mock.fn(() => null),
11
+ set: mock.fn(),
12
+ startCleanup: mock.fn(),
13
+ };
14
+ const mockRateLimiter = {
15
+ acquire: mock.fn(async () => { }),
16
+ };
17
+ const screenTool = new ScreenTool(mockClient, mockCache, mockRateLimiter);
18
+ describe("Input validation", () => {
19
+ it("should reject empty symbols array", async () => {
20
+ await assert.rejects(async () => {
21
+ await screenTool.lookupSymbols({
22
+ symbols: [],
23
+ });
24
+ }, {
25
+ message: /At least one symbol is required/,
26
+ });
27
+ });
28
+ it("should reject more than 100 symbols", async () => {
29
+ const symbols = Array.from({ length: 101 }, (_, i) => `SYMBOL${i}`);
30
+ await assert.rejects(async () => {
31
+ await screenTool.lookupSymbols({
32
+ symbols,
33
+ });
34
+ }, {
35
+ message: /Maximum 100 symbols allowed/,
36
+ });
37
+ });
38
+ it("should accept exactly 100 symbols", async () => {
39
+ const symbols = Array.from({ length: 100 }, (_, i) => `SYMBOL${i}`);
40
+ // Mock successful response
41
+ mockClient.scanStocks.mock.mockImplementation(async () => ({
42
+ totalCount: 100,
43
+ data: symbols.map(s => ({
44
+ s,
45
+ d: ["Test", 100, 5, 1000000, 1000000000, 150, 50, 120, 80],
46
+ })),
47
+ }));
48
+ await assert.doesNotReject(async () => {
49
+ await screenTool.lookupSymbols({ symbols });
50
+ });
51
+ });
52
+ });
53
+ describe("Symbol lookup functionality", () => {
54
+ it("should lookup single symbol with default columns", async () => {
55
+ const symbols = ["TVC:SPX"];
56
+ const mockData = {
57
+ s: "TVC:SPX",
58
+ d: [
59
+ "S&P 500 Index", // name
60
+ 4783.83, // close
61
+ 1.2, // change
62
+ 5234567890, // volume
63
+ null, // market_cap_basic (N/A for indexes)
64
+ 4818.62, // all_time_high
65
+ 666.79, // all_time_low
66
+ 4793.06, // price_52_week_high
67
+ 4103.78, // price_52_week_low
68
+ ],
69
+ };
70
+ mockClient.scanStocks.mock.mockImplementation(async (request) => {
71
+ // Verify request structure
72
+ assert.strictEqual(request.filter.length, 0, "Should have no filters");
73
+ assert.deepStrictEqual(request.symbols.tickers, symbols, "Should use symbols.tickers");
74
+ assert.strictEqual(request.range[1], symbols.length, "Range should match symbols length");
75
+ // Verify default columns
76
+ const expectedColumns = [
77
+ "name",
78
+ "close",
79
+ "change",
80
+ "volume",
81
+ "market_cap_basic",
82
+ "all_time_high",
83
+ "all_time_low",
84
+ "price_52_week_high",
85
+ "price_52_week_low",
86
+ ];
87
+ assert.deepStrictEqual(request.columns, expectedColumns, "Should use default columns");
88
+ return {
89
+ totalCount: 1,
90
+ data: [mockData],
91
+ };
92
+ });
93
+ const result = await screenTool.lookupSymbols({ symbols });
94
+ assert.strictEqual(result.total_count, 1);
95
+ assert.strictEqual(result.symbols.length, 1);
96
+ assert.strictEqual(result.symbols[0].symbol, "TVC:SPX");
97
+ assert.strictEqual(result.symbols[0].name, "S&P 500 Index");
98
+ assert.strictEqual(result.symbols[0].close, 4783.83);
99
+ assert.strictEqual(result.symbols[0].all_time_high, 4818.62);
100
+ });
101
+ it("should lookup multiple symbols", async () => {
102
+ const symbols = ["TVC:SPX", "NASDAQ:AAPL", "OMXSTO:OMXS30"];
103
+ const mockDataArray = symbols.map(s => ({
104
+ s,
105
+ d: ["Test Name", 100, 5, 1000000, 1000000000, 150, 50, 120, 80],
106
+ }));
107
+ mockClient.scanStocks.mock.mockImplementation(async () => ({
108
+ totalCount: 3,
109
+ data: mockDataArray,
110
+ }));
111
+ const result = await screenTool.lookupSymbols({ symbols });
112
+ assert.strictEqual(result.total_count, 3);
113
+ assert.strictEqual(result.symbols.length, 3);
114
+ assert.strictEqual(result.symbols[0].symbol, "TVC:SPX");
115
+ assert.strictEqual(result.symbols[1].symbol, "NASDAQ:AAPL");
116
+ assert.strictEqual(result.symbols[2].symbol, "OMXSTO:OMXS30");
117
+ });
118
+ it("should use custom columns when provided", async () => {
119
+ const symbols = ["NASDAQ:AAPL"];
120
+ const customColumns = ["name", "close", "volume", "market_cap_basic"];
121
+ mockClient.scanStocks.mock.mockImplementation(async (request) => {
122
+ assert.deepStrictEqual(request.columns, customColumns, "Should use custom columns");
123
+ return {
124
+ totalCount: 1,
125
+ data: [{
126
+ s: "NASDAQ:AAPL",
127
+ d: ["Apple Inc.", 178.72, 50000000, 2800000000000],
128
+ }],
129
+ };
130
+ });
131
+ const result = await screenTool.lookupSymbols({
132
+ symbols,
133
+ columns: customColumns,
134
+ });
135
+ assert.strictEqual(result.symbols[0].name, "Apple Inc.");
136
+ assert.strictEqual(result.symbols[0].close, 178.72);
137
+ assert.strictEqual(result.symbols[0].volume, 50000000);
138
+ assert.strictEqual(result.symbols[0].market_cap_basic, 2800000000000);
139
+ // Should not have columns that weren't requested
140
+ assert.strictEqual(result.symbols[0].change, undefined);
141
+ });
142
+ });
143
+ describe("Caching behavior", () => {
144
+ it("should return cached result when available", async () => {
145
+ const symbols = ["TVC:SPX"];
146
+ const cachedResult = {
147
+ total_count: 1,
148
+ symbols: [{ symbol: "TVC:SPX", name: "Cached Result" }],
149
+ };
150
+ // Mock cache to return a result
151
+ mockCache.get.mock.mockImplementation(() => cachedResult);
152
+ const result = await screenTool.lookupSymbols({ symbols });
153
+ // Should return cached result without calling client
154
+ assert.deepStrictEqual(result, cachedResult);
155
+ // Verify scanStocks was not called
156
+ const callCount = mockClient.scanStocks.mock.calls.length;
157
+ // Don't increment call count
158
+ });
159
+ it("should cache results after successful lookup", async () => {
160
+ // Reset mock cache
161
+ mockCache.get.mock.mockImplementation(() => null);
162
+ const symbols = ["NASDAQ:AAPL"];
163
+ const mockData = {
164
+ s: "NASDAQ:AAPL",
165
+ d: ["Apple Inc.", 178.72, 2.5, 50000000, 2800000000000, 180, 120, 179, 125],
166
+ };
167
+ mockClient.scanStocks.mock.mockImplementation(async () => ({
168
+ totalCount: 1,
169
+ data: [mockData],
170
+ }));
171
+ const result = await screenTool.lookupSymbols({ symbols });
172
+ // Verify cache.set was called with the result
173
+ assert.strictEqual(mockCache.set.mock.calls.length > 0, true);
174
+ const lastCacheCall = mockCache.set.mock.calls[mockCache.set.mock.calls.length - 1];
175
+ assert.ok(lastCacheCall);
176
+ assert.ok(lastCacheCall.arguments[0].includes("lookup")); // Cache key should include "lookup"
177
+ assert.deepStrictEqual(lastCacheCall.arguments[1], result); // Cached value should be the result
178
+ });
179
+ it("should use different cache keys for different symbol sets", async () => {
180
+ mockCache.get.mock.mockImplementation(() => null);
181
+ mockClient.scanStocks.mock.mockImplementation(async () => ({
182
+ totalCount: 1,
183
+ data: [{
184
+ s: "TEST",
185
+ d: ["Test", 100, 5, 1000000, 1000000000, 150, 50, 120, 80],
186
+ }],
187
+ }));
188
+ // First lookup
189
+ await screenTool.lookupSymbols({ symbols: ["NASDAQ:AAPL"] });
190
+ const firstCacheKey = mockCache.set.mock.calls[mockCache.set.mock.calls.length - 1].arguments[0];
191
+ // Second lookup with different symbols
192
+ await screenTool.lookupSymbols({ symbols: ["TVC:SPX"] });
193
+ const secondCacheKey = mockCache.set.mock.calls[mockCache.set.mock.calls.length - 1].arguments[0];
194
+ assert.notStrictEqual(firstCacheKey, secondCacheKey, "Cache keys should be different");
195
+ });
196
+ });
197
+ describe("Rate limiting", () => {
198
+ it("should acquire rate limiter before making request", async () => {
199
+ const symbols = ["NASDAQ:AAPL"];
200
+ // Reset cache to ensure API call
201
+ mockCache.get.mock.mockImplementation(() => null);
202
+ let rateLimiterCalled = false;
203
+ mockRateLimiter.acquire.mock.mockImplementation(async () => {
204
+ rateLimiterCalled = true;
205
+ });
206
+ mockClient.scanStocks.mock.mockImplementation(async () => {
207
+ // Verify rate limiter was called before client
208
+ assert.strictEqual(rateLimiterCalled, true, "Rate limiter should be called before API request");
209
+ return {
210
+ totalCount: 1,
211
+ data: [{
212
+ s: "NASDAQ:AAPL",
213
+ d: ["Apple Inc.", 178.72, 2.5, 50000000, 2800000000000, 180, 120, 179, 125],
214
+ }],
215
+ };
216
+ });
217
+ await screenTool.lookupSymbols({ symbols });
218
+ });
219
+ });
220
+ describe("Response formatting", () => {
221
+ it("should map columns to properties correctly", async () => {
222
+ const symbols = ["NASDAQ:AAPL"];
223
+ const columns = ["name", "close", "change", "volume"];
224
+ mockClient.scanStocks.mock.mockImplementation(async () => ({
225
+ totalCount: 1,
226
+ data: [{
227
+ s: "NASDAQ:AAPL",
228
+ d: ["Apple Inc.", 178.72, 2.5, 50000000],
229
+ }],
230
+ }));
231
+ const result = await screenTool.lookupSymbols({
232
+ symbols,
233
+ columns,
234
+ });
235
+ const symbol = result.symbols[0];
236
+ assert.strictEqual(symbol.symbol, "NASDAQ:AAPL");
237
+ assert.strictEqual(symbol.name, "Apple Inc.");
238
+ assert.strictEqual(symbol.close, 178.72);
239
+ assert.strictEqual(symbol.change, 2.5);
240
+ assert.strictEqual(symbol.volume, 50000000);
241
+ });
242
+ it("should handle null values in response data", async () => {
243
+ const symbols = ["TVC:SPX"];
244
+ mockClient.scanStocks.mock.mockImplementation(async () => ({
245
+ totalCount: 1,
246
+ data: [{
247
+ s: "TVC:SPX",
248
+ d: ["S&P 500", 4783.83, 1.2, null, null, 4818.62, 666.79, 4793.06, 4103.78],
249
+ }],
250
+ }));
251
+ const result = await screenTool.lookupSymbols({ symbols });
252
+ // Should preserve null values from API
253
+ assert.strictEqual(result.symbols[0].volume, null);
254
+ assert.strictEqual(result.symbols[0].market_cap_basic, null);
255
+ });
256
+ });
257
+ describe("Market regime analysis use case", () => {
258
+ it("should lookup market indexes for drawdown calculation", async () => {
259
+ // This test simulates the market_indexes preset use case
260
+ const symbols = [
261
+ "TVC:SPX", // S&P 500
262
+ "TVC:DJI", // Dow Jones
263
+ "TVC:NDQ", // NASDAQ 100
264
+ "OMXSTO:OMXS30", // OMX Stockholm 30
265
+ ];
266
+ const mockIndexData = symbols.map((s, i) => ({
267
+ s,
268
+ d: [
269
+ `Index ${i}`, // name
270
+ 4000 + i * 100, // close
271
+ 1.5 + i * 0.2, // change
272
+ 1000000 * (i + 1), // volume
273
+ null, // market_cap_basic (N/A for indexes)
274
+ 4500 + i * 100, // all_time_high
275
+ 3000 + i * 100, // all_time_low
276
+ 4200 + i * 100, // price_52_week_high
277
+ 3500 + i * 100, // price_52_week_low
278
+ ],
279
+ }));
280
+ mockClient.scanStocks.mock.mockImplementation(async (request) => {
281
+ // Verify it's requesting the right symbols
282
+ assert.deepStrictEqual(request.symbols.tickers, symbols);
283
+ return {
284
+ totalCount: 4,
285
+ data: mockIndexData,
286
+ };
287
+ });
288
+ const result = await screenTool.lookupSymbols({ symbols });
289
+ assert.strictEqual(result.total_count, 4);
290
+ assert.strictEqual(result.symbols.length, 4);
291
+ // Verify we can calculate drawdowns
292
+ for (const index of result.symbols) {
293
+ assert.ok(index.close, "Should have close price");
294
+ assert.ok(index.all_time_high, "Should have ATH for drawdown calculation");
295
+ assert.ok(index.price_52_week_high, "Should have 52-week high");
296
+ // Calculate drawdown from ATH (as mentioned in the PR review use case)
297
+ const drawdownFromATH = ((index.close - index.all_time_high) / index.all_time_high) * 100;
298
+ assert.ok(typeof drawdownFromATH === "number", "Should be able to calculate drawdown");
299
+ }
300
+ });
301
+ });
302
+ });
303
+ //# sourceMappingURL=lookup.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lookup.test.js","sourceRoot":"","sources":["../../src/tests/lookup.test.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ describe("PresetsTool", () => {
22
22
  const preset = presetsTool.getPreset("value_stocks");
23
23
  assert.ok(preset, "Should return preset");
24
24
  assert.strictEqual(preset.name, "Value Stocks");
25
- assert.ok(preset.filters.length > 0, "Should have filters");
25
+ assert.ok(preset.filters && preset.filters.length > 0, "Should have filters");
26
26
  });
27
27
  it("should return null for non-existent preset", () => {
28
28
  const preset = presetsTool.getPreset("nonexistent");
@@ -30,6 +30,11 @@ describe("PresetsTool", () => {
30
30
  });
31
31
  it("should have valid filter structure in presets", () => {
32
32
  for (const [key, preset] of Object.entries(PRESETS)) {
33
+ // Skip symbol-based presets (like market_indexes)
34
+ if (preset.symbols) {
35
+ assert.ok(preset.symbols.length > 0, `${key} should have symbols`);
36
+ continue;
37
+ }
33
38
  assert.ok(preset.filters, `${key} should have filters`);
34
39
  for (const filter of preset.filters) {
35
40
  assert.ok(filter.field, `Filter should have field in ${key}`);
@@ -40,6 +45,7 @@ describe("PresetsTool", () => {
40
45
  });
41
46
  it("should have quality_stocks preset with correct filters", () => {
42
47
  const preset = PRESETS.quality_stocks;
48
+ assert.ok(preset.filters, "Should have filters");
43
49
  // Check for key filters
44
50
  const roeFilter = preset.filters.find((f) => f.field === "return_on_equity");
45
51
  assert.ok(roeFilter, "Should have ROE filter");
@@ -59,6 +65,7 @@ describe("PresetsTool", () => {
59
65
  const preset = PRESETS.quality_growth_screener;
60
66
  assert.ok(preset, "Should have quality_growth_screener preset");
61
67
  assert.strictEqual(preset.name, "Quality Growth Screener");
68
+ assert.ok(preset.filters, "Should have filters");
62
69
  assert.strictEqual(preset.filters.length, 16, "Should have 16 filters");
63
70
  // Verify key fundamental filters
64
71
  const roeFilter = preset.filters.find((f) => f.field === "return_on_equity_fq");
@@ -1 +1 @@
1
- {"version":3,"file":"presets.test.js","sourceRoot":"","sources":["../../src/tests/presets.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"presets.test.js","sourceRoot":"","sources":["../../src/tests/presets.test.ts"],"names":[],"mappings":"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"}
@@ -269,6 +269,46 @@ describe("ScreenTool - Filter Validation", () => {
269
269
  message: /Invalid filter at index 0: missing required properties/,
270
270
  });
271
271
  });
272
+ it("should validate filters in screenETF", async () => {
273
+ await assert.rejects(async () => {
274
+ await screenTool.screenETF({
275
+ filters: [
276
+ {
277
+ field: "volume",
278
+ operator: "invalid_operator",
279
+ value: 1000000,
280
+ },
281
+ ],
282
+ });
283
+ }, {
284
+ message: /Unknown operator: invalid_operator/,
285
+ });
286
+ });
287
+ it("should accept valid filters in screenETF", async () => {
288
+ // Mock successful response
289
+ mockClient.scanStocks.mock.mockImplementation(async (request) => {
290
+ // Verify ETF-specific type filter is added
291
+ const typeFilter = request.filter.find((f) => f.left === "type");
292
+ assert.ok(typeFilter, "Should have type filter");
293
+ assert.strictEqual(typeFilter.operation, "equal");
294
+ assert.strictEqual(typeFilter.right, "fund");
295
+ return {
296
+ totalCount: 0,
297
+ data: [],
298
+ };
299
+ });
300
+ await assert.doesNotReject(async () => {
301
+ await screenTool.screenETF({
302
+ filters: [
303
+ {
304
+ field: "volume",
305
+ operator: "greater",
306
+ value: 1000000,
307
+ },
308
+ ],
309
+ });
310
+ });
311
+ });
272
312
  });
273
313
  describe("Valid filter conversion", () => {
274
314
  it("should convert valid filters to TradingView format", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"screen.test.js","sourceRoot":"","sources":["../../src/tests/screen.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screen.test.js","sourceRoot":"","sources":["../../src/tests/screen.test.ts"],"names":[],"mappings":"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"}
@@ -19,5 +19,10 @@ export declare class ScreenTool {
19
19
  screenStocks(input: ScreenStocksInput): Promise<any>;
20
20
  screenForex(input: Omit<ScreenStocksInput, "markets">): Promise<any>;
21
21
  screenCrypto(input: Omit<ScreenStocksInput, "markets">): Promise<any>;
22
+ screenETF(input: ScreenStocksInput): Promise<any>;
23
+ lookupSymbols(input: {
24
+ symbols: string[];
25
+ columns?: string[];
26
+ }): Promise<any>;
22
27
  }
23
28
  //# sourceMappingURL=screen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/tools/screen.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA8BzD,eAAO,MAAM,gBAAgB,UAsC5B,CAAC;AAEF,qBAAa,UAAU;IAEnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,WAAW;gBAFX,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW;IAGlC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAgC3B,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IA2EpD,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA2CpE,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CA0C5E"}
1
+ {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/tools/screen.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA8BzD,eAAO,MAAM,gBAAgB,UAsC5B,CAAC;AAEF,qBAAa,UAAU;IAEnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,WAAW;gBAFX,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW;IAGlC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAgC3B,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IA2EpD,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA2CpE,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA2CrE,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC;IA+EjD,aAAa,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;CAgFpF"}
@@ -215,5 +215,126 @@ export class ScreenTool {
215
215
  this.cache.set(cacheKey, result);
216
216
  return result;
217
217
  }
218
+ async screenETF(input) {
219
+ // ETFs/Funds screening - similar to stocks but with type filter
220
+ const { filters, markets = ["america"], sort_by = "market_cap_basic", sort_order = "desc", limit = 20, columns: inputColumns, } = input;
221
+ // Validate limit
222
+ if (limit < 1 || limit > 200) {
223
+ throw new Error("Limit must be between 1 and 200");
224
+ }
225
+ // Build cache key
226
+ const cacheKey = JSON.stringify({ type: "etf", filters, markets, sort_by, sort_order, limit, columns: inputColumns });
227
+ // Check cache
228
+ const cached = this.cache.get(cacheKey);
229
+ if (cached) {
230
+ return cached;
231
+ }
232
+ // Convert filters to TradingView format
233
+ const tvFilters = this.validateAndConvertFilters(filters);
234
+ // Extract unique fields from filters for columns
235
+ const filterFields = filters.map((f) => f.field);
236
+ const baseColumns = inputColumns || ["name", "close", "volume", "change", "change_from_open"];
237
+ const columns = [...new Set([...baseColumns, ...filterFields])];
238
+ // Build request with fund type filter
239
+ const request = {
240
+ filter: [
241
+ ...tvFilters,
242
+ { left: "type", operation: "equal", right: "fund" }, // Filter for ETFs/Funds
243
+ ],
244
+ columns,
245
+ sort: {
246
+ sortBy: sort_by,
247
+ sortOrder: sort_order,
248
+ },
249
+ range: [0, limit],
250
+ options: { lang: "en" },
251
+ symbols: {
252
+ query: { types: [] },
253
+ tickers: [],
254
+ },
255
+ markets,
256
+ };
257
+ // Rate limit
258
+ await this.rateLimiter.acquire();
259
+ // Make request
260
+ const response = await this.client.scanStocks(request);
261
+ // Format response
262
+ const result = {
263
+ total_count: response.totalCount,
264
+ etfs: response.data.map((item) => {
265
+ const etf = { symbol: item.s };
266
+ columns.forEach((col, idx) => {
267
+ etf[col] = item.d[idx];
268
+ });
269
+ return etf;
270
+ }),
271
+ };
272
+ // Cache result
273
+ this.cache.set(cacheKey, result);
274
+ return result;
275
+ }
276
+ async lookupSymbols(input) {
277
+ const { symbols, columns: inputColumns, } = input;
278
+ // Validate symbols
279
+ if (!symbols || symbols.length === 0) {
280
+ throw new Error("At least one symbol is required");
281
+ }
282
+ if (symbols.length > 100) {
283
+ throw new Error("Maximum 100 symbols allowed");
284
+ }
285
+ // Build cache key
286
+ const cacheKey = JSON.stringify({ type: "lookup", symbols, columns: inputColumns });
287
+ // Check cache
288
+ const cached = this.cache.get(cacheKey);
289
+ if (cached) {
290
+ return cached;
291
+ }
292
+ // Default columns for symbol lookup
293
+ const defaultColumns = [
294
+ "name",
295
+ "close",
296
+ "change",
297
+ "volume",
298
+ "market_cap_basic",
299
+ "all_time_high",
300
+ "all_time_low",
301
+ "price_52_week_high",
302
+ "price_52_week_low",
303
+ ];
304
+ const columns = inputColumns || defaultColumns;
305
+ // Build request using symbols.tickers pattern
306
+ const request = {
307
+ filter: [],
308
+ columns,
309
+ sort: {
310
+ sortBy: "name",
311
+ sortOrder: "asc",
312
+ },
313
+ range: [0, symbols.length],
314
+ options: { lang: "en" },
315
+ symbols: {
316
+ query: { types: [] },
317
+ tickers: symbols,
318
+ },
319
+ };
320
+ // Rate limit
321
+ await this.rateLimiter.acquire();
322
+ // Make request
323
+ const response = await this.client.scanStocks(request);
324
+ // Format response
325
+ const result = {
326
+ total_count: response.totalCount,
327
+ symbols: response.data.map((item) => {
328
+ const symbol = { symbol: item.s };
329
+ columns.forEach((col, idx) => {
330
+ symbol[col] = item.d[idx];
331
+ });
332
+ return symbol;
333
+ }),
334
+ };
335
+ // Cache result
336
+ this.cache.set(cacheKey, result);
337
+ return result;
338
+ }
218
339
  }
219
340
  //# sourceMappingURL=screen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/tools/screen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"screen.js","sourceRoot":"","sources":["../../src/tools/screen.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tradingview-mcp-server",
3
- "version": "0.1.3",
3
+ "version": "0.2.0",
4
4
  "description": "Unofficial MCP server for TradingView stock screener API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",