FMP: News & Technicals: Connects Financial Modeling Prep's MCP server to show company news and technical indicators, with Form 13F as a source only.
| 1 | // What the orchestrator is told while one of the FMP views is focused: how each is driven by state, |
| 2 | // what its output holds, and what FMP's plans keep from it. |
| 3 | |
| 4 | const PLANS = 'FMP data is by plan: stock news and technical indicators answer on Starter, Form 13F (the fmp__form-13f source, which has no view) only on Ultimate or Enterprise; a refused section shows FMP’s own refusal, so tell the user which plan it needs rather than retrying.' |
| 5 | |
| 6 | export const NEWS_INSTRUCTIONS = [ |
| 7 | 'Stock news from Financial Modeling Prep for one company, newest first: date, source, title, and a line of the story. A title opens the article in the browser.', |
| 8 | 'state.symbol is the ticker; state.limit is how many stories, 20 by default, up to 50. Set symbol to show another company.', |
| 9 | 'output holds count and items, the ten newest as [{ date, site, title, url }]; read it when the user asks what is in the news, and cite the url.', |
| 10 | 'Press releases are a separate FMP endpoint the view does not show (Premium plan); call fmp__news with endpoint search-press-releases for them.', |
| 11 | ].join('\n') |
| 12 | |
| 13 | export const TECHNICALS_INSTRUCTIONS = [ |
| 14 | 'Technical indicators from Financial Modeling Prep for one company: one column per indicator, one row per bar, latest first, with the close.', |
| 15 | 'state.symbol is the ticker. state.timeframe is the bar size: 1min, 5min, 15min, 30min, 1hour, 4hour, or 1day (default). state.days is how far back, 30 by default. state.indicators is up to six of { kind, period }, kind one of sma, ema, wma, dema, tema, rsi, stddev, williams, adx; the default is RSI 14, SMA 50, and SMA 200. Set the whole list to change it.', |
| 16 | 'output holds the latest bar: date, close, and values keyed by kind and period (rsi14, sma50); read it when the user asks where an indicator stands. Any earlier bar is only on screen.', |
| 17 | PLANS, |
| 18 | ].join('\n') |