@houtini/fmp-mcp 1.0.2 → 1.1.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 +265 -53
- package/build/index.js +584 -2
- package/build/index.js.map +1 -1
- package/package.json +8 -3
- package/src/index.ts +622 -2
- package/commit_msg.txt +0 -8
package/README.md
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
# Financial Modeling Prep MCP Server
|
|
2
2
|
|
|
3
|
-
Model Context Protocol (MCP) server providing access to Financial Modeling Prep's comprehensive financial data API. Get real-time stock quotes, company fundamentals, financial statements, and
|
|
3
|
+
Model Context Protocol (MCP) server providing access to Financial Modeling Prep's comprehensive financial data API. Get real-time stock quotes, company fundamentals, financial statements, market insights, analyst data, and technical indicators directly in Claude Desktop.
|
|
4
4
|
|
|
5
5
|
[](https://badge.fury.io/js/@houtini%2Ffmp-mcp)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
|
|
8
8
|
## Features
|
|
9
9
|
|
|
10
|
-
- **Real-time Market Data**: Live stock quotes with price, volume, and market metrics
|
|
11
|
-
- **Company Information**: Detailed profiles including industry, sector, and key executives
|
|
12
|
-
- **Financial Statements**: Income statements, balance sheets, and cash flow statements
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
- **Real-time Market Data**: Live stock quotes with price, volume, and market metrics
|
|
11
|
+
- **Company Information**: Detailed profiles including industry, sector, and key executives
|
|
12
|
+
- **Financial Statements**: Income statements, balance sheets, and cash flow statements
|
|
13
|
+
- **Market Performance**: Track gainers, losers, most active stocks, and sector performance
|
|
14
|
+
- **Analyst Data**: Price targets, estimates, ratings, and upgrades/downgrades
|
|
15
|
+
- **Insider Trading**: Monitor insider transactions and institutional holdings
|
|
16
|
+
- **Technical Indicators**: RSI, SMA, EMA with multiple timeframes
|
|
17
|
+
- **Economic Data**: GDP, unemployment, inflation, treasury rates, and economic calendar
|
|
18
|
+
- **Historical Charts**: Intraday data from 1-minute to 4-hour intervals
|
|
19
|
+
- **Symbol Search**: Find companies by name or ticker across global exchanges
|
|
17
20
|
|
|
18
21
|
## Installation
|
|
19
22
|
|
|
@@ -53,7 +56,9 @@ Replace `your_api_key_here` with your actual API key from Financial Modeling Pre
|
|
|
53
56
|
|
|
54
57
|
## Available Tools
|
|
55
58
|
|
|
56
|
-
###
|
|
59
|
+
### Core Market Data
|
|
60
|
+
|
|
61
|
+
#### `get_quote`
|
|
57
62
|
Get real-time stock quote data.
|
|
58
63
|
|
|
59
64
|
**Parameters:**
|
|
@@ -61,7 +66,7 @@ Get real-time stock quote data.
|
|
|
61
66
|
|
|
62
67
|
**Returns:** Current price, volume, market cap, P/E ratio, day high/low, and more.
|
|
63
68
|
|
|
64
|
-
|
|
69
|
+
#### `search_symbol`
|
|
65
70
|
Search for stock symbols by company name or ticker.
|
|
66
71
|
|
|
67
72
|
**Parameters:**
|
|
@@ -69,7 +74,9 @@ Search for stock symbols by company name or ticker.
|
|
|
69
74
|
|
|
70
75
|
**Returns:** Matching symbols with company names and exchange information.
|
|
71
76
|
|
|
72
|
-
###
|
|
77
|
+
### Company Fundamentals
|
|
78
|
+
|
|
79
|
+
#### `get_company_profile`
|
|
73
80
|
Get detailed company profile and fundamental data.
|
|
74
81
|
|
|
75
82
|
**Parameters:**
|
|
@@ -77,7 +84,7 @@ Get detailed company profile and fundamental data.
|
|
|
77
84
|
|
|
78
85
|
**Returns:** Company description, industry, sector, CEO, employee count, headquarters, website, and key financial metrics.
|
|
79
86
|
|
|
80
|
-
|
|
87
|
+
#### `get_income_statement`
|
|
81
88
|
Retrieve company income statement data.
|
|
82
89
|
|
|
83
90
|
**Parameters:**
|
|
@@ -87,7 +94,7 @@ Retrieve company income statement data.
|
|
|
87
94
|
|
|
88
95
|
**Returns:** Revenue, expenses, net income, EPS, and other profitability metrics.
|
|
89
96
|
|
|
90
|
-
|
|
97
|
+
#### `get_balance_sheet`
|
|
91
98
|
Retrieve company balance sheet data.
|
|
92
99
|
|
|
93
100
|
**Parameters:**
|
|
@@ -97,7 +104,7 @@ Retrieve company balance sheet data.
|
|
|
97
104
|
|
|
98
105
|
**Returns:** Assets, liabilities, shareholder equity, and detailed line items.
|
|
99
106
|
|
|
100
|
-
|
|
107
|
+
#### `get_cash_flow`
|
|
101
108
|
Retrieve company cash flow statement data.
|
|
102
109
|
|
|
103
110
|
**Parameters:**
|
|
@@ -107,7 +114,194 @@ Retrieve company cash flow statement data.
|
|
|
107
114
|
|
|
108
115
|
**Returns:** Operating cash flow, investing activities, financing activities, and free cash flow.
|
|
109
116
|
|
|
110
|
-
|
|
117
|
+
#### `get_key_metrics`
|
|
118
|
+
Get key financial metrics and ratios.
|
|
119
|
+
|
|
120
|
+
**Parameters:**
|
|
121
|
+
- `symbol` (required): Stock ticker symbol
|
|
122
|
+
- `period` (optional): "annual" or "quarter" (default: "annual")
|
|
123
|
+
- `limit` (optional): Number of periods to return (default: 5)
|
|
124
|
+
|
|
125
|
+
**Returns:** P/E ratio, ROE, ROA, debt ratios, current ratio, and more.
|
|
126
|
+
|
|
127
|
+
#### `get_financial_ratios`
|
|
128
|
+
Get detailed financial ratios (profitability, liquidity, efficiency).
|
|
129
|
+
|
|
130
|
+
**Parameters:**
|
|
131
|
+
- `symbol` (required): Stock ticker symbol
|
|
132
|
+
- `period` (optional): "annual" or "quarter" (default: "annual")
|
|
133
|
+
- `limit` (optional): Number of periods to return (default: 5)
|
|
134
|
+
|
|
135
|
+
**Returns:** Comprehensive ratio analysis including profitability, liquidity, and efficiency metrics.
|
|
136
|
+
|
|
137
|
+
### Market Performance
|
|
138
|
+
|
|
139
|
+
#### `get_market_gainers`
|
|
140
|
+
Get stocks with the largest price increases.
|
|
141
|
+
|
|
142
|
+
**Parameters:** None
|
|
143
|
+
|
|
144
|
+
**Returns:** Top gaining stocks with price changes and volume.
|
|
145
|
+
|
|
146
|
+
#### `get_market_losers`
|
|
147
|
+
Get stocks with the largest price drops.
|
|
148
|
+
|
|
149
|
+
**Parameters:** None
|
|
150
|
+
|
|
151
|
+
**Returns:** Top losing stocks with price changes and volume.
|
|
152
|
+
|
|
153
|
+
#### `get_most_active`
|
|
154
|
+
Get most actively traded stocks by volume.
|
|
155
|
+
|
|
156
|
+
**Parameters:** None
|
|
157
|
+
|
|
158
|
+
**Returns:** Stocks with highest trading volume.
|
|
159
|
+
|
|
160
|
+
#### `get_sector_performance`
|
|
161
|
+
Get current sector performance snapshot.
|
|
162
|
+
|
|
163
|
+
**Parameters:**
|
|
164
|
+
- `date` (optional): Date in YYYY-MM-DD format (defaults to latest)
|
|
165
|
+
|
|
166
|
+
**Returns:** Performance metrics for all market sectors.
|
|
167
|
+
|
|
168
|
+
### Analyst Data
|
|
169
|
+
|
|
170
|
+
#### `get_analyst_estimates`
|
|
171
|
+
Get analyst financial estimates (revenue, EPS forecasts).
|
|
172
|
+
|
|
173
|
+
**Parameters:**
|
|
174
|
+
- `symbol` (required): Stock ticker symbol
|
|
175
|
+
- `period` (optional): "annual" or "quarter" (default: "annual")
|
|
176
|
+
- `limit` (optional): Number of periods to return (default: 10)
|
|
177
|
+
|
|
178
|
+
**Returns:** Analyst revenue and earnings estimates with consensus figures.
|
|
179
|
+
|
|
180
|
+
#### `get_price_target`
|
|
181
|
+
Get analyst price target summary.
|
|
182
|
+
|
|
183
|
+
**Parameters:**
|
|
184
|
+
- `symbol` (required): Stock ticker symbol
|
|
185
|
+
|
|
186
|
+
**Returns:** Average, high, low, and median price targets from analysts.
|
|
187
|
+
|
|
188
|
+
#### `get_analyst_ratings`
|
|
189
|
+
Get analyst ratings and upgrades/downgrades.
|
|
190
|
+
|
|
191
|
+
**Parameters:**
|
|
192
|
+
- `symbol` (required): Stock ticker symbol
|
|
193
|
+
|
|
194
|
+
**Returns:** Recent analyst rating changes, upgrades, downgrades, and recommendations.
|
|
195
|
+
|
|
196
|
+
### Insider Trading & Institutional
|
|
197
|
+
|
|
198
|
+
#### `get_insider_trading`
|
|
199
|
+
Get recent insider trading activity.
|
|
200
|
+
|
|
201
|
+
**Parameters:**
|
|
202
|
+
- `symbol` (required): Stock ticker symbol
|
|
203
|
+
- `limit` (optional): Number of transactions to return (default: 100)
|
|
204
|
+
|
|
205
|
+
**Returns:** Insider buy/sell transactions with names, dates, and amounts.
|
|
206
|
+
|
|
207
|
+
#### `get_institutional_holders`
|
|
208
|
+
Get institutional ownership (13F filings).
|
|
209
|
+
|
|
210
|
+
**Parameters:**
|
|
211
|
+
- `symbol` (required): Stock ticker symbol
|
|
212
|
+
- `limit` (optional): Number of holders to return (default: 100)
|
|
213
|
+
|
|
214
|
+
**Returns:** Top institutional holders with share counts and filing dates.
|
|
215
|
+
|
|
216
|
+
### Technical Indicators
|
|
217
|
+
|
|
218
|
+
#### `get_technical_indicator_rsi`
|
|
219
|
+
Get Relative Strength Index (RSI).
|
|
220
|
+
|
|
221
|
+
**Parameters:**
|
|
222
|
+
- `symbol` (required): Stock ticker symbol
|
|
223
|
+
- `timeframe` (required): "1min", "5min", "15min", "30min", "1hour", "4hour", "1day"
|
|
224
|
+
- `period` (optional): Period length (default: 14)
|
|
225
|
+
|
|
226
|
+
**Returns:** RSI values with timestamps for momentum analysis.
|
|
227
|
+
|
|
228
|
+
#### `get_technical_indicator_sma`
|
|
229
|
+
Get Simple Moving Average (SMA).
|
|
230
|
+
|
|
231
|
+
**Parameters:**
|
|
232
|
+
- `symbol` (required): Stock ticker symbol
|
|
233
|
+
- `timeframe` (required): "1min", "5min", "15min", "30min", "1hour", "4hour", "1day"
|
|
234
|
+
- `period` (optional): Period length (default: 10)
|
|
235
|
+
|
|
236
|
+
**Returns:** SMA values with timestamps for trend analysis.
|
|
237
|
+
|
|
238
|
+
#### `get_technical_indicator_ema`
|
|
239
|
+
Get Exponential Moving Average (EMA).
|
|
240
|
+
|
|
241
|
+
**Parameters:**
|
|
242
|
+
- `symbol` (required): Stock ticker symbol
|
|
243
|
+
- `timeframe` (required): "1min", "5min", "15min", "30min", "1hour", "4hour", "1day"
|
|
244
|
+
- `period` (optional): Period length (default: 10)
|
|
245
|
+
|
|
246
|
+
**Returns:** EMA values with timestamps for trend analysis.
|
|
247
|
+
|
|
248
|
+
### Historical Data
|
|
249
|
+
|
|
250
|
+
#### `get_historical_chart`
|
|
251
|
+
Get historical price data with flexible time intervals.
|
|
252
|
+
|
|
253
|
+
**Parameters:**
|
|
254
|
+
- `symbol` (required): Stock ticker symbol
|
|
255
|
+
- `interval` (required): "1min", "5min", "15min", "30min", "1hour", "4hour"
|
|
256
|
+
- `from` (optional): Start date in YYYY-MM-DD format
|
|
257
|
+
- `to` (optional): End date in YYYY-MM-DD format
|
|
258
|
+
|
|
259
|
+
**Returns:** OHLC price data with volume for the specified interval.
|
|
260
|
+
|
|
261
|
+
### Economic Data
|
|
262
|
+
|
|
263
|
+
#### `get_economic_calendar`
|
|
264
|
+
Get upcoming economic data releases calendar.
|
|
265
|
+
|
|
266
|
+
**Parameters:**
|
|
267
|
+
- `from` (optional): Start date in YYYY-MM-DD format
|
|
268
|
+
- `to` (optional): End date in YYYY-MM-DD format
|
|
269
|
+
|
|
270
|
+
**Returns:** Scheduled economic announcements with dates and expected impact.
|
|
271
|
+
|
|
272
|
+
#### `get_economic_indicator`
|
|
273
|
+
Get economic indicator data (GDP, unemployment, inflation, etc.).
|
|
274
|
+
|
|
275
|
+
**Parameters:**
|
|
276
|
+
- `name` (required): Indicator name (e.g., "GDP", "unemploymentRate", "CPI")
|
|
277
|
+
- `from` (optional): Start date in YYYY-MM-DD format
|
|
278
|
+
- `to` (optional): End date in YYYY-MM-DD format
|
|
279
|
+
|
|
280
|
+
**Returns:** Historical values for the specified economic indicator.
|
|
281
|
+
|
|
282
|
+
### Events & Calendars
|
|
283
|
+
|
|
284
|
+
#### `get_earnings_calendar`
|
|
285
|
+
Get upcoming earnings announcements calendar.
|
|
286
|
+
|
|
287
|
+
**Parameters:**
|
|
288
|
+
- `from` (optional): Start date in YYYY-MM-DD format
|
|
289
|
+
- `to` (optional): End date in YYYY-MM-DD format
|
|
290
|
+
|
|
291
|
+
**Returns:** Upcoming earnings dates with EPS estimates.
|
|
292
|
+
|
|
293
|
+
### Index Data
|
|
294
|
+
|
|
295
|
+
#### `get_sp500_constituents`
|
|
296
|
+
Get list of S&P 500 index constituents.
|
|
297
|
+
|
|
298
|
+
**Parameters:** None
|
|
299
|
+
|
|
300
|
+
**Returns:** All companies in the S&P 500 with symbols and details.
|
|
301
|
+
|
|
302
|
+
### News (Paid Feature)
|
|
303
|
+
|
|
304
|
+
#### `get_stock_news`
|
|
111
305
|
Get latest news articles for a stock.
|
|
112
306
|
|
|
113
307
|
**Parameters:**
|
|
@@ -116,7 +310,7 @@ Get latest news articles for a stock.
|
|
|
116
310
|
|
|
117
311
|
**Returns:** News headlines, publication dates, URLs, and article summaries.
|
|
118
312
|
|
|
119
|
-
**Note:** This endpoint requires a paid FMP plan.
|
|
313
|
+
**Note:** This endpoint requires a paid FMP plan.
|
|
120
314
|
|
|
121
315
|
## Usage Examples
|
|
122
316
|
|
|
@@ -131,15 +325,31 @@ Show me Tesla's quarterly income statements for the last 8 quarters
|
|
|
131
325
|
```
|
|
132
326
|
|
|
133
327
|
```
|
|
134
|
-
|
|
328
|
+
What are today's biggest market gainers?
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
```
|
|
332
|
+
Get analyst price targets for NVIDIA
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
```
|
|
336
|
+
Show me insider trading activity for Microsoft
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
```
|
|
340
|
+
Calculate the 14-day RSI for TSLA on the daily timeframe
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
```
|
|
344
|
+
What's the current sector performance?
|
|
135
345
|
```
|
|
136
346
|
|
|
137
347
|
```
|
|
138
|
-
|
|
348
|
+
Get upcoming earnings announcements for this week
|
|
139
349
|
```
|
|
140
350
|
|
|
141
351
|
```
|
|
142
|
-
|
|
352
|
+
Show me institutional holders of Amazon
|
|
143
353
|
```
|
|
144
354
|
|
|
145
355
|
## API Rate Limits
|
|
@@ -152,35 +362,12 @@ Financial Modeling Prep offers different pricing tiers:
|
|
|
152
362
|
|
|
153
363
|
See [FMP Pricing](https://financialmodelingprep.com/developer/docs/pricing) for current plans and limits.
|
|
154
364
|
|
|
155
|
-
## API Limitations
|
|
156
|
-
|
|
157
|
-
### Free Tier Access
|
|
158
|
-
|
|
159
|
-
The following features are **included** in the free tier:
|
|
160
|
-
- ✅ Real-time stock quotes (`get_quote`)
|
|
161
|
-
- ✅ Company profiles (`get_company_profile`)
|
|
162
|
-
- ✅ Financial statements - Income, Balance Sheet, Cash Flow (`get_income_statement`, `get_balance_sheet`, `get_cash_flow`)
|
|
163
|
-
- ✅ Symbol search (`search_symbol`)
|
|
164
|
-
|
|
165
|
-
### Paid Plan Required
|
|
166
|
-
|
|
167
|
-
The following features require a **paid subscription**:
|
|
168
|
-
- 💰 Stock news (`get_stock_news`) - Returns 402 Payment Required on free tier
|
|
169
|
-
- 💰 Other premium endpoints (not yet implemented in this MCP)
|
|
170
|
-
|
|
171
|
-
If you attempt to use a paid endpoint with a free API key, you'll receive:
|
|
172
|
-
```
|
|
173
|
-
Error: FMP API error: 402 Payment Required
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
To access these features, upgrade your plan at [FMP Pricing](https://site.financialmodelingprep.com/pricing-plans).
|
|
177
|
-
|
|
178
365
|
## Development
|
|
179
366
|
|
|
180
367
|
### Local Installation
|
|
181
368
|
|
|
182
369
|
```bash
|
|
183
|
-
git clone https://github.com/
|
|
370
|
+
git clone https://github.com/houtini-ai/fmp-mcp.git
|
|
184
371
|
cd fmp-mcp
|
|
185
372
|
npm install
|
|
186
373
|
npm run build
|
|
@@ -194,7 +381,7 @@ npm run build
|
|
|
194
381
|
"financial-modeling-prep": {
|
|
195
382
|
"command": "node",
|
|
196
383
|
"args": [
|
|
197
|
-
"
|
|
384
|
+
"/absolute/path/to/fmp-mcp/build/index.js"
|
|
198
385
|
],
|
|
199
386
|
"env": {
|
|
200
387
|
"FMP_API_KEY": "your_api_key_here"
|
|
@@ -214,15 +401,40 @@ Output goes to the `build/` directory.
|
|
|
214
401
|
|
|
215
402
|
## API Coverage
|
|
216
403
|
|
|
217
|
-
This MCP server implements
|
|
404
|
+
This MCP server implements 29 endpoints from the Financial Modeling Prep API:
|
|
405
|
+
|
|
406
|
+
**Core Market Data** (3)
|
|
407
|
+
- Stock quotes, symbol search, company profiles
|
|
408
|
+
|
|
409
|
+
**Financial Statements** (6)
|
|
410
|
+
- Income statement, balance sheet, cash flow, key metrics, financial ratios (annual & quarterly)
|
|
411
|
+
|
|
412
|
+
**Market Performance** (4)
|
|
413
|
+
- Gainers, losers, most active, sector performance
|
|
414
|
+
|
|
415
|
+
**Analyst Data** (3)
|
|
416
|
+
- Estimates, price targets, ratings
|
|
417
|
+
|
|
418
|
+
**Insider & Institutional** (2)
|
|
419
|
+
- Insider trading, institutional holders
|
|
420
|
+
|
|
421
|
+
**Technical Indicators** (3)
|
|
422
|
+
- RSI, SMA, EMA with multiple timeframes
|
|
423
|
+
|
|
424
|
+
**Historical Data** (1)
|
|
425
|
+
- Intraday charts (1min to 4hour)
|
|
426
|
+
|
|
427
|
+
**Economic Data** (2)
|
|
428
|
+
- Economic calendar, economic indicators
|
|
429
|
+
|
|
430
|
+
**Events & Calendars** (1)
|
|
431
|
+
- Earnings calendar
|
|
432
|
+
|
|
433
|
+
**Index Data** (1)
|
|
434
|
+
- S&P 500 constituents
|
|
218
435
|
|
|
219
|
-
|
|
220
|
-
-
|
|
221
|
-
- Company Profile
|
|
222
|
-
- Income Statement
|
|
223
|
-
- Balance Sheet
|
|
224
|
-
- Cash Flow Statement
|
|
225
|
-
- Stock News
|
|
436
|
+
**News** (1)
|
|
437
|
+
- Stock news (paid feature)
|
|
226
438
|
|
|
227
439
|
For the complete API reference, see the [FMP Developer Documentation](https://site.financialmodelingprep.com/developer/docs).
|
|
228
440
|
|
|
@@ -264,4 +476,4 @@ MIT License - see [LICENSE](LICENSE) file for details.
|
|
|
264
476
|
|
|
265
477
|
## Acknowledgments
|
|
266
478
|
|
|
267
|
-
Built with the [Model Context Protocol SDK](https://github.com/modelcontextprotocol/sdk) by Anthropic.
|
|
479
|
+
Built with the [Model Context Protocol SDK](https://github.com/modelcontextprotocol/sdk) by Anthropic.
|