@houtini/fmp-mcp 1.0.2 → 1.1.1

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/build/index.js CHANGED
@@ -158,13 +158,343 @@ const TOOLS = [
158
158
  required: ['symbol'],
159
159
  },
160
160
  },
161
+ {
162
+ name: 'get_market_gainers',
163
+ description: 'Get stocks with the largest price increases (top gainers)',
164
+ inputSchema: {
165
+ type: 'object',
166
+ properties: {},
167
+ },
168
+ },
169
+ {
170
+ name: 'get_market_losers',
171
+ description: 'Get stocks with the largest price drops (top losers)',
172
+ inputSchema: {
173
+ type: 'object',
174
+ properties: {},
175
+ },
176
+ },
177
+ {
178
+ name: 'get_most_active',
179
+ description: 'Get most actively traded stocks by volume',
180
+ inputSchema: {
181
+ type: 'object',
182
+ properties: {},
183
+ },
184
+ },
185
+ {
186
+ name: 'get_sector_performance',
187
+ description: 'Get current sector performance snapshot',
188
+ inputSchema: {
189
+ type: 'object',
190
+ properties: {
191
+ date: {
192
+ type: 'string',
193
+ description: 'Date in YYYY-MM-DD format (optional, defaults to latest)',
194
+ },
195
+ },
196
+ },
197
+ },
198
+ {
199
+ name: 'get_analyst_estimates',
200
+ description: 'Get analyst financial estimates for a stock (revenue, EPS forecasts)',
201
+ inputSchema: {
202
+ type: 'object',
203
+ properties: {
204
+ symbol: {
205
+ type: 'string',
206
+ description: 'Stock ticker symbol',
207
+ },
208
+ period: {
209
+ type: 'string',
210
+ description: 'Period type (annual or quarter)',
211
+ enum: ['annual', 'quarter'],
212
+ },
213
+ limit: {
214
+ type: 'number',
215
+ description: 'Number of periods to return (default: 10)',
216
+ },
217
+ },
218
+ required: ['symbol'],
219
+ },
220
+ },
221
+ {
222
+ name: 'get_price_target',
223
+ description: 'Get analyst price target summary for a stock',
224
+ inputSchema: {
225
+ type: 'object',
226
+ properties: {
227
+ symbol: {
228
+ type: 'string',
229
+ description: 'Stock ticker symbol',
230
+ },
231
+ },
232
+ required: ['symbol'],
233
+ },
234
+ },
235
+ {
236
+ name: 'get_analyst_ratings',
237
+ description: 'Get analyst ratings and upgrades/downgrades for a stock',
238
+ inputSchema: {
239
+ type: 'object',
240
+ properties: {
241
+ symbol: {
242
+ type: 'string',
243
+ description: 'Stock ticker symbol',
244
+ },
245
+ },
246
+ required: ['symbol'],
247
+ },
248
+ },
249
+ {
250
+ name: 'get_insider_trading',
251
+ description: 'Get recent insider trading activity for a stock',
252
+ inputSchema: {
253
+ type: 'object',
254
+ properties: {
255
+ symbol: {
256
+ type: 'string',
257
+ description: 'Stock ticker symbol',
258
+ },
259
+ limit: {
260
+ type: 'number',
261
+ description: 'Number of transactions to return (default: 100)',
262
+ },
263
+ },
264
+ required: ['symbol'],
265
+ },
266
+ },
267
+ {
268
+ name: 'get_key_metrics',
269
+ description: 'Get key financial metrics (P/E, ROE, debt ratios, etc.)',
270
+ inputSchema: {
271
+ type: 'object',
272
+ properties: {
273
+ symbol: {
274
+ type: 'string',
275
+ description: 'Stock ticker symbol',
276
+ },
277
+ period: {
278
+ type: 'string',
279
+ description: 'Period type (annual or quarter)',
280
+ enum: ['annual', 'quarter'],
281
+ },
282
+ limit: {
283
+ type: 'number',
284
+ description: 'Number of periods to return (default: 5)',
285
+ },
286
+ },
287
+ required: ['symbol'],
288
+ },
289
+ },
290
+ {
291
+ name: 'get_financial_ratios',
292
+ description: 'Get detailed financial ratios (profitability, liquidity, efficiency)',
293
+ inputSchema: {
294
+ type: 'object',
295
+ properties: {
296
+ symbol: {
297
+ type: 'string',
298
+ description: 'Stock ticker symbol',
299
+ },
300
+ period: {
301
+ type: 'string',
302
+ description: 'Period type (annual or quarter)',
303
+ enum: ['annual', 'quarter'],
304
+ },
305
+ limit: {
306
+ type: 'number',
307
+ description: 'Number of periods to return (default: 5)',
308
+ },
309
+ },
310
+ required: ['symbol'],
311
+ },
312
+ },
313
+ {
314
+ name: 'get_earnings_calendar',
315
+ description: 'Get upcoming earnings announcements calendar',
316
+ inputSchema: {
317
+ type: 'object',
318
+ properties: {
319
+ from: {
320
+ type: 'string',
321
+ description: 'Start date in YYYY-MM-DD format (optional)',
322
+ },
323
+ to: {
324
+ type: 'string',
325
+ description: 'End date in YYYY-MM-DD format (optional)',
326
+ },
327
+ },
328
+ },
329
+ },
330
+ {
331
+ name: 'get_economic_calendar',
332
+ description: 'Get upcoming economic data releases calendar',
333
+ inputSchema: {
334
+ type: 'object',
335
+ properties: {
336
+ from: {
337
+ type: 'string',
338
+ description: 'Start date in YYYY-MM-DD format (optional)',
339
+ },
340
+ to: {
341
+ type: 'string',
342
+ description: 'End date in YYYY-MM-DD format (optional)',
343
+ },
344
+ },
345
+ },
346
+ },
347
+ {
348
+ name: 'get_economic_indicator',
349
+ description: 'Get economic indicator data (GDP, unemployment, inflation, etc.)',
350
+ inputSchema: {
351
+ type: 'object',
352
+ properties: {
353
+ name: {
354
+ type: 'string',
355
+ description: 'Indicator name (e.g., GDP, unemploymentRate, CPI)',
356
+ },
357
+ from: {
358
+ type: 'string',
359
+ description: 'Start date in YYYY-MM-DD format (optional)',
360
+ },
361
+ to: {
362
+ type: 'string',
363
+ description: 'End date in YYYY-MM-DD format (optional)',
364
+ },
365
+ },
366
+ required: ['name'],
367
+ },
368
+ },
369
+ {
370
+ name: 'get_technical_indicator_rsi',
371
+ description: 'Get Relative Strength Index (RSI) technical indicator',
372
+ inputSchema: {
373
+ type: 'object',
374
+ properties: {
375
+ symbol: {
376
+ type: 'string',
377
+ description: 'Stock ticker symbol',
378
+ },
379
+ timeframe: {
380
+ type: 'string',
381
+ description: 'Timeframe (1min, 5min, 15min, 30min, 1hour, 4hour, 1day)',
382
+ enum: ['1min', '5min', '15min', '30min', '1hour', '4hour', '1day'],
383
+ },
384
+ period: {
385
+ type: 'number',
386
+ description: 'Period length (default: 14)',
387
+ },
388
+ },
389
+ required: ['symbol', 'timeframe'],
390
+ },
391
+ },
392
+ {
393
+ name: 'get_technical_indicator_sma',
394
+ description: 'Get Simple Moving Average (SMA) technical indicator',
395
+ inputSchema: {
396
+ type: 'object',
397
+ properties: {
398
+ symbol: {
399
+ type: 'string',
400
+ description: 'Stock ticker symbol',
401
+ },
402
+ timeframe: {
403
+ type: 'string',
404
+ description: 'Timeframe (1min, 5min, 15min, 30min, 1hour, 4hour, 1day)',
405
+ enum: ['1min', '5min', '15min', '30min', '1hour', '4hour', '1day'],
406
+ },
407
+ period: {
408
+ type: 'number',
409
+ description: 'Period length (default: 10)',
410
+ },
411
+ },
412
+ required: ['symbol', 'timeframe'],
413
+ },
414
+ },
415
+ {
416
+ name: 'get_technical_indicator_ema',
417
+ description: 'Get Exponential Moving Average (EMA) technical indicator',
418
+ inputSchema: {
419
+ type: 'object',
420
+ properties: {
421
+ symbol: {
422
+ type: 'string',
423
+ description: 'Stock ticker symbol',
424
+ },
425
+ timeframe: {
426
+ type: 'string',
427
+ description: 'Timeframe (1min, 5min, 15min, 30min, 1hour, 4hour, 1day)',
428
+ enum: ['1min', '5min', '15min', '30min', '1hour', '4hour', '1day'],
429
+ },
430
+ period: {
431
+ type: 'number',
432
+ description: 'Period length (default: 10)',
433
+ },
434
+ },
435
+ required: ['symbol', 'timeframe'],
436
+ },
437
+ },
438
+ {
439
+ name: 'get_historical_chart',
440
+ description: 'Get historical price data with flexible time intervals',
441
+ inputSchema: {
442
+ type: 'object',
443
+ properties: {
444
+ symbol: {
445
+ type: 'string',
446
+ description: 'Stock ticker symbol',
447
+ },
448
+ interval: {
449
+ type: 'string',
450
+ description: 'Time interval (1min, 5min, 15min, 30min, 1hour, 4hour)',
451
+ enum: ['1min', '5min', '15min', '30min', '1hour', '4hour'],
452
+ },
453
+ from: {
454
+ type: 'string',
455
+ description: 'Start date in YYYY-MM-DD format (optional)',
456
+ },
457
+ to: {
458
+ type: 'string',
459
+ description: 'End date in YYYY-MM-DD format (optional)',
460
+ },
461
+ },
462
+ required: ['symbol', 'interval'],
463
+ },
464
+ },
465
+ {
466
+ name: 'get_institutional_holders',
467
+ description: 'Get institutional ownership (13F filings) for a stock',
468
+ inputSchema: {
469
+ type: 'object',
470
+ properties: {
471
+ symbol: {
472
+ type: 'string',
473
+ description: 'Stock ticker symbol',
474
+ },
475
+ limit: {
476
+ type: 'number',
477
+ description: 'Number of holders to return (default: 100)',
478
+ },
479
+ },
480
+ required: ['symbol'],
481
+ },
482
+ },
483
+ {
484
+ name: 'get_sp500_constituents',
485
+ description: 'Get list of S&P 500 index constituents',
486
+ inputSchema: {
487
+ type: 'object',
488
+ properties: {},
489
+ },
490
+ },
161
491
  ];
162
492
  /**
163
493
  * Create and configure the MCP server
164
494
  */
165
495
  const server = new Server({
166
496
  name: 'fmp-mcp-server',
167
- version: '1.0.0',
497
+ version: '1.1.0',
168
498
  }, {
169
499
  capabilities: {
170
500
  tools: {},
@@ -269,6 +599,259 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
269
599
  ],
270
600
  };
271
601
  }
602
+ case 'get_market_gainers': {
603
+ const data = await fetchFMP('/biggest-gainers');
604
+ return {
605
+ content: [
606
+ {
607
+ type: 'text',
608
+ text: JSON.stringify(data, null, 2),
609
+ },
610
+ ],
611
+ };
612
+ }
613
+ case 'get_market_losers': {
614
+ const data = await fetchFMP('/biggest-losers');
615
+ return {
616
+ content: [
617
+ {
618
+ type: 'text',
619
+ text: JSON.stringify(data, null, 2),
620
+ },
621
+ ],
622
+ };
623
+ }
624
+ case 'get_most_active': {
625
+ const data = await fetchFMP('/most-actives');
626
+ return {
627
+ content: [
628
+ {
629
+ type: 'text',
630
+ text: JSON.stringify(data, null, 2),
631
+ },
632
+ ],
633
+ };
634
+ }
635
+ case 'get_sector_performance': {
636
+ const { date } = args;
637
+ const endpoint = date
638
+ ? `/sector-performance-snapshot?date=${date}`
639
+ : '/sector-performance-snapshot?date=' + new Date().toISOString().split('T')[0];
640
+ const data = await fetchFMP(endpoint);
641
+ return {
642
+ content: [
643
+ {
644
+ type: 'text',
645
+ text: JSON.stringify(data, null, 2),
646
+ },
647
+ ],
648
+ };
649
+ }
650
+ case 'get_analyst_estimates': {
651
+ const { symbol, period = 'annual', limit = 10 } = args;
652
+ const data = await fetchFMP(`/analyst-estimates?symbol=${symbol.toUpperCase()}&period=${period}&limit=${limit}`);
653
+ return {
654
+ content: [
655
+ {
656
+ type: 'text',
657
+ text: JSON.stringify(data, null, 2),
658
+ },
659
+ ],
660
+ };
661
+ }
662
+ case 'get_price_target': {
663
+ const { symbol } = args;
664
+ const data = await fetchFMP(`/price-target-summary?symbol=${symbol.toUpperCase()}`);
665
+ return {
666
+ content: [
667
+ {
668
+ type: 'text',
669
+ text: JSON.stringify(data, null, 2),
670
+ },
671
+ ],
672
+ };
673
+ }
674
+ case 'get_analyst_ratings': {
675
+ const { symbol } = args;
676
+ const data = await fetchFMP(`/grades?symbol=${symbol.toUpperCase()}`);
677
+ return {
678
+ content: [
679
+ {
680
+ type: 'text',
681
+ text: JSON.stringify(data, null, 2),
682
+ },
683
+ ],
684
+ };
685
+ }
686
+ case 'get_insider_trading': {
687
+ const { symbol, limit = 100 } = args;
688
+ const data = await fetchFMP(`/insider-trading/search?symbol=${symbol.toUpperCase()}&limit=${limit}`);
689
+ return {
690
+ content: [
691
+ {
692
+ type: 'text',
693
+ text: JSON.stringify(data, null, 2),
694
+ },
695
+ ],
696
+ };
697
+ }
698
+ case 'get_key_metrics': {
699
+ const { symbol, period = 'annual', limit = 5 } = args;
700
+ const data = await fetchFMP(`/key-metrics?symbol=${symbol.toUpperCase()}&period=${period}&limit=${limit}`);
701
+ return {
702
+ content: [
703
+ {
704
+ type: 'text',
705
+ text: JSON.stringify(data, null, 2),
706
+ },
707
+ ],
708
+ };
709
+ }
710
+ case 'get_financial_ratios': {
711
+ const { symbol, period = 'annual', limit = 5 } = args;
712
+ const data = await fetchFMP(`/ratios?symbol=${symbol.toUpperCase()}&period=${period}&limit=${limit}`);
713
+ return {
714
+ content: [
715
+ {
716
+ type: 'text',
717
+ text: JSON.stringify(data, null, 2),
718
+ },
719
+ ],
720
+ };
721
+ }
722
+ case 'get_earnings_calendar': {
723
+ const { from, to } = args;
724
+ let endpoint = '/earnings-calendar';
725
+ const params = [];
726
+ if (from)
727
+ params.push(`from=${from}`);
728
+ if (to)
729
+ params.push(`to=${to}`);
730
+ if (params.length > 0)
731
+ endpoint += `?${params.join('&')}`;
732
+ const data = await fetchFMP(endpoint);
733
+ return {
734
+ content: [
735
+ {
736
+ type: 'text',
737
+ text: JSON.stringify(data, null, 2),
738
+ },
739
+ ],
740
+ };
741
+ }
742
+ case 'get_economic_calendar': {
743
+ const { from, to } = args;
744
+ let endpoint = '/economic-calendar';
745
+ const params = [];
746
+ if (from)
747
+ params.push(`from=${from}`);
748
+ if (to)
749
+ params.push(`to=${to}`);
750
+ if (params.length > 0)
751
+ endpoint += `?${params.join('&')}`;
752
+ const data = await fetchFMP(endpoint);
753
+ return {
754
+ content: [
755
+ {
756
+ type: 'text',
757
+ text: JSON.stringify(data, null, 2),
758
+ },
759
+ ],
760
+ };
761
+ }
762
+ case 'get_economic_indicator': {
763
+ const { name, from, to } = args;
764
+ let endpoint = `/economic-indicators?name=${name}`;
765
+ if (from)
766
+ endpoint += `&from=${from}`;
767
+ if (to)
768
+ endpoint += `&to=${to}`;
769
+ const data = await fetchFMP(endpoint);
770
+ return {
771
+ content: [
772
+ {
773
+ type: 'text',
774
+ text: JSON.stringify(data, null, 2),
775
+ },
776
+ ],
777
+ };
778
+ }
779
+ case 'get_technical_indicator_rsi': {
780
+ const { symbol, timeframe, period = 14 } = args;
781
+ const data = await fetchFMP(`/technical-indicators/rsi?symbol=${symbol.toUpperCase()}&timeframe=${timeframe}&periodLength=${period}`);
782
+ return {
783
+ content: [
784
+ {
785
+ type: 'text',
786
+ text: JSON.stringify(data, null, 2),
787
+ },
788
+ ],
789
+ };
790
+ }
791
+ case 'get_technical_indicator_sma': {
792
+ const { symbol, timeframe, period = 10 } = args;
793
+ const data = await fetchFMP(`/technical-indicators/sma?symbol=${symbol.toUpperCase()}&timeframe=${timeframe}&periodLength=${period}`);
794
+ return {
795
+ content: [
796
+ {
797
+ type: 'text',
798
+ text: JSON.stringify(data, null, 2),
799
+ },
800
+ ],
801
+ };
802
+ }
803
+ case 'get_technical_indicator_ema': {
804
+ const { symbol, timeframe, period = 10 } = args;
805
+ const data = await fetchFMP(`/technical-indicators/ema?symbol=${symbol.toUpperCase()}&timeframe=${timeframe}&periodLength=${period}`);
806
+ return {
807
+ content: [
808
+ {
809
+ type: 'text',
810
+ text: JSON.stringify(data, null, 2),
811
+ },
812
+ ],
813
+ };
814
+ }
815
+ case 'get_historical_chart': {
816
+ const { symbol, interval, from, to } = args;
817
+ let endpoint = `/historical-chart/${interval}?symbol=${symbol.toUpperCase()}`;
818
+ if (from)
819
+ endpoint += `&from=${from}`;
820
+ if (to)
821
+ endpoint += `&to=${to}`;
822
+ const data = await fetchFMP(endpoint);
823
+ return {
824
+ content: [
825
+ {
826
+ type: 'text',
827
+ text: JSON.stringify(data, null, 2),
828
+ },
829
+ ],
830
+ };
831
+ }
832
+ case 'get_institutional_holders': {
833
+ const { symbol, limit = 100 } = args;
834
+ const data = await fetchFMP(`/institutional-ownership/latest?symbol=${symbol.toUpperCase()}&limit=${limit}`);
835
+ return {
836
+ content: [
837
+ {
838
+ type: 'text',
839
+ text: JSON.stringify(data, null, 2),
840
+ },
841
+ ],
842
+ };
843
+ }
844
+ case 'get_sp500_constituents': {
845
+ const data = await fetchFMP('/sp500-constituent');
846
+ return {
847
+ content: [
848
+ {
849
+ type: 'text',
850
+ text: JSON.stringify(data, null, 2),
851
+ },
852
+ ],
853
+ };
854
+ }
272
855
  default:
273
856
  throw new Error(`Unknown tool: ${name}`);
274
857
  }
@@ -292,7 +875,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
292
875
  async function main() {
293
876
  const transport = new StdioServerTransport();
294
877
  await server.connect(transport);
295
- // Log to stderr so it doesn't interfere with stdio protocol
296
878
  console.error('FMP MCP Server running on stdio');
297
879
  }
298
880
  main().catch((error) => {
@@ -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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"}