spb/vquant Public MIT
VibeQuant — AI-powered institutional-grade financial intelligence platform.
TypeScript 84.3%
Python 11.7%
JavaScript 1.6%
CSS 1.5%
HTML 0.7%
1/*2 * =============================================================================3 * VibeQuant (vquant) — AI-Powered Financial Intelligence Platform4 * -----------------------------------------------------------------------------5 * File: server/services/claude/toolDefinitions.ts6 *7 * Author: Simon-Pierre Boucher8 * Contact: contact@spboucher.ai9 * Website: https://www.spboucher.ai10 * Demo: https://www.vquant.ai11 * License: MIT (see LICENSE)12 *13 * Copyright © 2026 Simon-Pierre Boucher. All rights reserved.14 * =============================================================================15 */1617export interface ClaudeToolDefinition {18 name: string;19 description: string;20 input_schema: {21 type: string;22 properties: Record<string, any>;23 required?: string[];24 };25}26const AVAILABLE_TOOLS: ClaudeToolDefinition[] = [27 {28 name: 'get_company_profile',29 description: 'Gets detailed company profile information including sector, industry, description, employees, CEO, market cap, and more.',30 input_schema: {31 type: 'object',32 properties: {33 symbol: {34 type: 'string',35 description: 'Stock ticker symbol (e.g., "AAPL", "TSLA", "MSFT")',36 },37 },38 required: ['symbol'],39 },40 },41 {42 name: 'get_income_statement',43 description: 'Gets income statement (profit & loss) data showing revenue, expenses, and profitability over time.',44 input_schema: {45 type: 'object',46 properties: {47 symbol: {48 type: 'string',49 description: 'Stock ticker symbol',50 },51 period: {52 type: 'string',53 description: 'Period type: "annual" or "quarter" (default: annual)',54 },55 limit: {56 type: 'number',57 description: 'Number of periods to retrieve (default: 5)',58 },59 },60 required: ['symbol'],61 },62 },63 {64 name: 'get_balance_sheet',65 description: 'Gets balance sheet data showing assets, liabilities, and equity.',66 input_schema: {67 type: 'object',68 properties: {69 symbol: {70 type: 'string',71 description: 'Stock ticker symbol',72 },73 period: {74 type: 'string',75 description: 'Period type: "annual" or "quarter" (default: annual)',76 },77 limit: {78 type: 'number',79 description: 'Number of periods to retrieve (default: 5)',80 },81 },82 required: ['symbol'],83 },84 },85 {86 name: 'get_cash_flow',87 description: 'Gets cash flow statement showing operating, investing, and financing activities.',88 input_schema: {89 type: 'object',90 properties: {91 symbol: {92 type: 'string',93 description: 'Stock ticker symbol',94 },95 period: {96 type: 'string',97 description: 'Period type: "annual" or "quarter" (default: annual)',98 },99 limit: {100 type: 'number',101 description: 'Number of periods to retrieve (default: 5)',102 },103 },104 required: ['symbol'],105 },106 },107 {108 name: 'get_key_metrics',109 description: 'Gets key financial metrics and ratios like P/E ratio, ROE, debt-to-equity, market cap, EV, etc.',110 input_schema: {111 type: 'object',112 properties: {113 symbol: {114 type: 'string',115 description: 'Stock ticker symbol',116 },117 period: {118 type: 'string',119 description: 'Period type: "annual" or "quarter" (default: annual)',120 },121 limit: {122 type: 'number',123 description: 'Number of periods to retrieve (default: 5)',124 },125 },126 required: ['symbol'],127 },128 },129 {130 name: 'get_financial_ratios',131 description: 'Gets comprehensive financial ratios including liquidity, profitability, leverage, and efficiency ratios.',132 input_schema: {133 type: 'object',134 properties: {135 symbol: {136 type: 'string',137 description: 'Stock ticker symbol',138 },139 period: {140 type: 'string',141 description: 'Period type: "annual" or "quarter" (default: annual)',142 },143 limit: {144 type: 'number',145 description: 'Number of periods to retrieve (default: 5)',146 },147 },148 required: ['symbol'],149 },150 },151 {152 name: 'get_stock_quote',153 description: 'Gets real-time stock quote with current price, volume, market cap, P/E ratio, and daily changes.',154 input_schema: {155 type: 'object',156 properties: {157 symbol: {158 type: 'string',159 description: 'Stock ticker symbol',160 },161 },162 required: ['symbol'],163 },164 },165 {166 name: 'get_historical_price',167 description: 'Gets historical stock prices (OHLC data) for charting and trend analysis. Returns up to 2 years (504 trading days) of data. IMPORTANT: When the user asks for "derniers N mois/jours", calculate the "from" date by subtracting from TODAY\'S date (use the current date provided in the system prompt). The "to" date defaults to TODAY automatically if not specified. For Monte Carlo simulations, call WITHOUT from/to dates to get maximum historical data.',168 input_schema: {169 type: 'object',170 properties: {171 symbol: {172 type: 'string',173 description: 'Stock ticker symbol',174 },175 from: {176 type: 'string',177 description: 'Start date in YYYY-MM-DD format. When user asks for "last 6 months" or "6 derniers mois", calculate this as TODAY minus 6 months using the current date from system prompt. Optional - omit for maximum data.',178 },179 to: {180 type: 'string',181 description: 'End date in YYYY-MM-DD format (optional - omit for maximum data)',182 },183 },184 required: ['symbol'],185 },186 },187 {188 name: 'search_companies',189 description: 'Searches for companies by name or partial ticker to find the correct stock symbol.',190 input_schema: {191 type: 'object',192 properties: {193 query: {194 type: 'string',195 description: 'Company name or partial symbol to search for',196 },197 limit: {198 type: 'number',199 description: 'Maximum number of results (default: 10)',200 },201 },202 required: ['query'],203 },204 },205 {206 name: 'get_stock_peers',207 description: 'Gets comparable companies (peers) in the same sector/industry for comparison analysis.',208 input_schema: {209 type: 'object',210 properties: {211 symbol: {212 type: 'string',213 description: 'Stock ticker symbol',214 },215 },216 required: ['symbol'],217 },218 },219 {220 name: 'get_financial_news',221 description: 'Gets latest financial news articles for a specific stock or general market news.',222 input_schema: {223 type: 'object',224 properties: {225 symbol: {226 type: 'string',227 description: 'Stock ticker symbol (optional - if not provided, gets general market news)',228 },229 limit: {230 type: 'number',231 description: 'Maximum number of news articles (default: 5, max: 5 to avoid context overflow)',232 },233 },234 required: [],235 },236 },237 {238 name: 'get_rsi',239 description: 'Gets RSI (Relative Strength Index) technical indicator - measures momentum and overbought/oversold conditions. Values above 70 suggest overbought, below 30 suggest oversold.',240 input_schema: {241 type: 'object',242 properties: {243 symbol: {244 type: 'string',245 description: 'Stock ticker symbol',246 },247 period: {248 type: 'number',249 description: 'Period for RSI calculation (default: 14)',250 },251 timePeriod: {252 type: 'string',253 description: 'Time period: "daily", "weekly", "monthly" (default: daily)',254 },255 },256 required: ['symbol'],257 },258 },259 {260 name: 'get_macd',261 description: 'Gets MACD (Moving Average Convergence Divergence) - shows trend direction and momentum. Includes MACD line, signal line, and histogram.',262 input_schema: {263 type: 'object',264 properties: {265 symbol: {266 type: 'string',267 description: 'Stock ticker symbol',268 },269 timePeriod: {270 type: 'string',271 description: 'Time period: "daily", "weekly", "monthly" (default: daily)',272 },273 },274 required: ['symbol'],275 },276 },277 {278 name: 'get_ema',279 description: 'Gets EMA (Exponential Moving Average) - smoothed price trend line that reacts faster to recent price changes.',280 input_schema: {281 type: 'object',282 properties: {283 symbol: {284 type: 'string',285 description: 'Stock ticker symbol',286 },287 period: {288 type: 'number',289 description: 'Period for EMA (default: 50, common: 12, 26, 50, 200)',290 },291 timePeriod: {292 type: 'string',293 description: 'Time period: "daily", "weekly", "monthly" (default: daily)',294 },295 },296 required: ['symbol'],297 },298 },299 {300 name: 'get_sma',301 description: 'Gets SMA (Simple Moving Average) - basic price trend line. Common periods: 20, 50, 200 days.',302 input_schema: {303 type: 'object',304 properties: {305 symbol: {306 type: 'string',307 description: 'Stock ticker symbol',308 },309 period: {310 type: 'number',311 description: 'Period for SMA (default: 50, common: 20, 50, 100, 200)',312 },313 timePeriod: {314 type: 'string',315 description: 'Time period: "daily", "weekly", "monthly" (default: daily)',316 },317 },318 required: ['symbol'],319 },320 },321 {322 name: 'get_adx',323 description: 'Gets ADX (Average Directional Index) - measures trend strength. Above 25 indicates strong trend, below 20 weak trend.',324 input_schema: {325 type: 'object',326 properties: {327 symbol: {328 type: 'string',329 description: 'Stock ticker symbol',330 },331 period: {332 type: 'number',333 description: 'Period for ADX calculation (default: 14)',334 },335 timePeriod: {336 type: 'string',337 description: 'Time period: "daily", "weekly", "monthly" (default: daily)',338 },339 },340 required: ['symbol'],341 },342 },343 {344 name: 'get_williams_r',345 description: 'Gets Williams %R - momentum oscillator showing overbought/oversold levels. Values above -20 suggest overbought, below -80 oversold.',346 input_schema: {347 type: 'object',348 properties: {349 symbol: {350 type: 'string',351 description: 'Stock ticker symbol',352 },353 period: {354 type: 'number',355 description: 'Period for Williams %R (default: 14)',356 },357 timePeriod: {358 type: 'string',359 description: 'Time period: "daily", "weekly", "monthly" (default: daily)',360 },361 },362 required: ['symbol'],363 },364 },365 {366 name: 'get_cci',367 description: 'Gets CCI (Commodity Channel Index) - identifies cyclical trends. Above +100 suggests overbought, below -100 oversold.',368 input_schema: {369 type: 'object',370 properties: {371 symbol: {372 type: 'string',373 description: 'Stock ticker symbol',374 },375 period: {376 type: 'number',377 description: 'Period for CCI (default: 20)',378 },379 timePeriod: {380 type: 'string',381 description: 'Time period: "daily", "weekly", "monthly" (default: daily)',382 },383 },384 required: ['symbol'],385 },386 },387 {388 name: 'get_stochastic',389 description: 'Gets Stochastic Oscillator - compares closing price to price range over time. %K above 80 suggests overbought, below 20 oversold.',390 input_schema: {391 type: 'object',392 properties: {393 symbol: {394 type: 'string',395 description: 'Stock ticker symbol',396 },397 period: {398 type: 'number',399 description: 'Period for Stochastic (default: 14)',400 },401 timePeriod: {402 type: 'string',403 description: 'Time period: "daily", "weekly", "monthly" (default: daily)',404 },405 },406 required: ['symbol'],407 },408 },409 {410 name: 'calculate_options_price',411 description: 'Calculates theoretical option prices using the Black-Scholes model for European options. Returns prices for both call and put options, along with Greeks (Delta, Gamma, Theta, Vega, Rho) and intrinsic/time values. Useful for options valuation, hedging strategies, and understanding option sensitivities. RECOMMENDED: Pass "symbol" parameter to automatically fetch current stock price and calculate historical volatility from FMP API.',412 input_schema: {413 type: 'object',414 properties: {415 symbol: {416 type: 'string',417 description: 'Stock ticker symbol (e.g., "AAPL"). RECOMMENDED: Use this to automatically fetch current stock price and calculate historical volatility from FMP API. Much simpler and uses real market data!',418 },419 stock_price: {420 type: 'number',421 description: 'ALTERNATIVE to symbol: Current stock price (S). Only use if you cannot provide a symbol.',422 },423 strike_price: {424 type: 'number',425 description: 'Option strike price (K)',426 },427 time_to_maturity: {428 type: 'number',429 description: 'Time to expiration in years (T). Example: 0.25 for 3 months, 0.5 for 6 months, 1.0 for 1 year',430 },431 risk_free_rate: {432 type: 'number',433 description: 'Risk-free interest rate as decimal (r). Example: 0.05 for 5%. Default: 0.05',434 },435 volatility: {436 type: 'number',437 description: 'Annualized volatility as decimal (sigma). Example: 0.3 for 30% volatility. If symbol is provided and volatility is not, it will be calculated automatically from 30-day historical data. Otherwise defaults to 30%',438 },439 option_type: {440 type: 'string',441 description: 'Type of option: "call" or "put". This parameter is informational - the tool calculates both types',442 },443 },444 required: ['strike_price', 'time_to_maturity'],445 },446 },447 {448 name: 'get_economic_calendar',449 description: 'Gets upcoming economic events and data releases that impact markets (GDP, inflation, employment, etc.). Includes actual vs expected values and impact ratings.',450 input_schema: {451 type: 'object',452 properties: {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: [],463 },464 },465 {466 name: 'get_treasury_rates',467 description: 'Gets US Treasury rates for various maturities (1 month to 30 years). Useful for analyzing interest rate environment and yield curve.',468 input_schema: {469 type: 'object',470 properties: {471 from: {472 type: 'string',473 description: 'Start date in YYYY-MM-DD format (optional)',474 },475 to: {476 type: 'string',477 description: 'End date in YYYY-MM-DD format (optional)',478 },479 },480 required: [],481 },482 },483 {484 name: 'get_economic_indicator',485 description: 'Gets specific economic indicator data (GDP, unemployment, inflation, etc.). Useful for macroeconomic analysis.',486 input_schema: {487 type: 'object',488 properties: {489 indicator: {490 type: 'string',491 description: 'Economic indicator name (e.g., "GDP", "unemployment", "inflation", "CPI")',492 },493 from: {494 type: 'string',495 description: 'Start date in YYYY-MM-DD format (optional)',496 },497 to: {498 type: 'string',499 description: 'End date in YYYY-MM-DD format (optional)',500 },501 },502 required: ['indicator'],503 },504 },505 {506 name: 'get_insider_trading',507 description: 'Gets recent insider trading activity (buys/sells by company executives). Helps identify insider sentiment. Can filter by symbol or get all recent trades.',508 input_schema: {509 type: 'object',510 properties: {511 symbol: {512 type: 'string',513 description: 'Stock ticker symbol (optional - if not provided, gets recent insider trades across all companies)',514 },515 limit: {516 type: 'number',517 description: 'Maximum number of trades to retrieve (default: 20, max: 20 to avoid context overflow)',518 },519 },520 required: [],521 },522 },523 {524 name: 'get_insider_trade_statistics',525 description: 'Gets aggregated statistics on insider trading for a company (total trades, buy vs sell ratio, average prices, etc.).',526 input_schema: {527 type: 'object',528 properties: {529 symbol: {530 type: 'string',531 description: 'Stock ticker symbol',532 },533 },534 required: ['symbol'],535 },536 },537 {538 name: 'get_earnings_calendar',539 description: 'Gets upcoming earnings announcements with expected dates and estimated EPS. Useful for tracking when companies report earnings.',540 input_schema: {541 type: 'object',542 properties: {543 from: {544 type: 'string',545 description: 'Start date in YYYY-MM-DD format (optional)',546 },547 to: {548 type: 'string',549 description: 'End date in YYYY-MM-DD format (optional)',550 },551 },552 required: [],553 },554 },555 {556 name: 'get_earnings_surprises',557 description: 'Gets historical earnings surprises (actual vs estimated EPS) to analyze company\'s track record of beating/missing estimates.',558 input_schema: {559 type: 'object',560 properties: {561 symbol: {562 type: 'string',563 description: 'Stock ticker symbol',564 },565 },566 required: ['symbol'],567 },568 },569 {570 name: 'get_analyst_estimates',571 description: 'Gets analyst consensus estimates for revenue, earnings, EBITDA, etc. Shows analyst expectations and ranges.',572 input_schema: {573 type: 'object',574 properties: {575 symbol: {576 type: 'string',577 description: 'Stock ticker symbol',578 },579 period: {580 type: 'string',581 description: 'Period type: "annual" or "quarter" (default: annual)',582 },583 limit: {584 type: 'number',585 description: 'Number of periods to retrieve (default: 5)',586 },587 },588 required: ['symbol'],589 },590 },591 {592 name: 'get_forex_quote',593 description: 'Gets real-time forex (currency pair) quote with bid/ask prices and daily changes. Useful for analyzing currency movements.',594 input_schema: {595 type: 'object',596 properties: {597 pair: {598 type: 'string',599 description: 'Currency pair (e.g., "EURUSD", "GBPUSD", "USDJPY")',600 },601 },602 required: ['pair'],603 },604 },605 {606 name: 'get_forex_list',607 description: 'Gets list of all available forex currency pairs that can be queried.',608 input_schema: {609 type: 'object',610 properties: {},611 required: [],612 },613 },614 {615 name: 'get_commodity_quotes',616 description: 'Gets real-time quotes for commodities (gold, silver, oil, natural gas, wheat, etc.). Useful for commodity market analysis.',617 input_schema: {618 type: 'object',619 properties: {},620 required: [],621 },622 },623 {624 name: 'get_cot_report',625 description: 'Gets Commitment of Traders (COT) report showing positions of institutional traders in commodities and futures. Useful for sentiment analysis.',626 input_schema: {627 type: 'object',628 properties: {629 symbol: {630 type: 'string',631 description: 'Commodity or futures symbol',632 },633 },634 required: ['symbol'],635 },636 },637 {638 name: 'get_cot_analysis',639 description: 'Gets analyzed COT data with market situation indicators (bullish/bearish positioning).',640 input_schema: {641 type: 'object',642 properties: {643 symbol: {644 type: 'string',645 description: 'Commodity or futures symbol',646 },647 },648 required: ['symbol'],649 },650 },651 {652 name: 'get_press_releases',653 description: 'Gets official company press releases. More detailed than news articles, directly from the company.',654 input_schema: {655 type: 'object',656 properties: {657 symbol: {658 type: 'string',659 description: 'Stock ticker symbol',660 },661 limit: {662 type: 'number',663 description: 'Maximum number of press releases (default: 20)',664 },665 },666 required: ['symbol'],667 },668 },669 {670 name: 'get_dividend_history',671 description: 'Gets historical dividend payments for a stock. Shows dividend amounts, payment dates, and record dates.',672 input_schema: {673 type: 'object',674 properties: {675 symbol: {676 type: 'string',677 description: 'Stock ticker symbol',678 },679 },680 required: ['symbol'],681 },682 },683 {684 name: 'get_stock_split_history',685 description: 'Gets historical stock splits. Shows split ratios and dates.',686 input_schema: {687 type: 'object',688 properties: {689 symbol: {690 type: 'string',691 description: 'Stock ticker symbol',692 },693 },694 required: ['symbol'],695 },696 },697 {698 name: 'get_ipo_calendar',699 description: 'Gets upcoming IPOs (Initial Public Offerings) with expected dates, price ranges, and details.',700 input_schema: {701 type: 'object',702 properties: {703 from: {704 type: 'string',705 description: 'Start date in YYYY-MM-DD format (optional)',706 },707 to: {708 type: 'string',709 description: 'End date in YYYY-MM-DD format (optional)',710 },711 },712 required: [],713 },714 },715 {716 name: 'get_intraday_price',717 description: 'Gets intraday stock prices with minute-level data. Available intervals: 1min, 5min, 15min, 30min, 1hour, 4hour. Useful for day trading and short-term analysis.',718 input_schema: {719 type: 'object',720 properties: {721 symbol: {722 type: 'string',723 description: 'Stock ticker symbol',724 },725 interval: {726 type: 'string',727 description: 'Time interval: "1min", "5min", "15min", "30min", "1hour", "4hour" (default: 15min)',728 },729 },730 required: ['symbol'],731 },732 },733 {734 name: 'get_price_target',735 description: 'Gets analyst price targets showing consensus target price, high/low estimates, and number of analysts. Useful for understanding market expectations.',736 input_schema: {737 type: 'object',738 properties: {739 symbol: {740 type: 'string',741 description: 'Stock ticker symbol',742 },743 },744 required: ['symbol'],745 },746 },747 {748 name: 'get_price_target_summary',749 description: 'Gets summarized analyst price target consensus with average, median, high, low targets.',750 input_schema: {751 type: 'object',752 properties: {753 symbol: {754 type: 'string',755 description: 'Stock ticker symbol',756 },757 },758 required: ['symbol'],759 },760 },761 {762 name: 'get_upgrades_downgrades',763 description: 'Gets analyst upgrades and downgrades (rating changes like Buy → Sell). Shows analyst firm, old rating, new rating, and date.',764 input_schema: {765 type: 'object',766 properties: {767 symbol: {768 type: 'string',769 description: 'Stock ticker symbol',770 },771 },772 required: ['symbol'],773 },774 },775 {776 name: 'get_institutional_holders',777 description: 'Gets institutional shareholders (mutual funds, pension funds, hedge funds) and their holdings. Shows ownership percentage and changes.',778 input_schema: {779 type: 'object',780 properties: {781 symbol: {782 type: 'string',783 description: 'Stock ticker symbol',784 },785 },786 required: ['symbol'],787 },788 },789 {790 name: 'get_esg_score',791 description: 'Gets ESG (Environmental, Social, Governance) scores and ratings. Important for sustainable investing analysis.',792 input_schema: {793 type: 'object',794 properties: {795 symbol: {796 type: 'string',797 description: 'Stock ticker symbol',798 },799 },800 required: ['symbol'],801 },802 },803 {804 name: 'get_social_sentiment',805 description: 'Gets social media sentiment analysis from Twitter, Reddit, etc. Shows positive/negative sentiment trends.',806 input_schema: {807 type: 'object',808 properties: {809 symbol: {810 type: 'string',811 description: 'Stock ticker symbol',812 },813 limit: {814 type: 'number',815 description: 'Number of sentiment records (default: 10, max: 10 to avoid context overflow)',816 },817 },818 required: ['symbol'],819 },820 },821 {822 name: 'get_congressional_trading',823 description: 'Gets congressional stock trading activity (US Congress members). Useful for tracking political insider activity.',824 input_schema: {825 type: 'object',826 properties: {827 symbol: {828 type: 'string',829 description: 'Stock ticker symbol (optional - if not provided, gets all recent congressional trades)',830 },831 },832 required: [],833 },834 },835 {836 name: 'get_senate_trading',837 description: 'Gets US Senate stock trading activity with detailed disclosure information.',838 input_schema: {839 type: 'object',840 properties: {841 symbol: {842 type: 'string',843 description: 'Stock ticker symbol (optional)',844 },845 },846 required: [],847 },848 },849 {850 name: 'search_by_cik',851 description: 'Search companies by SEC CIK (Central Index Key) number.',852 input_schema: {853 type: 'object',854 properties: {855 cik: {856 type: 'string',857 description: 'SEC CIK number (e.g., "0000320193" for Apple)',858 },859 },860 required: ['cik'],861 },862 },863 {864 name: 'search_by_cusip',865 description: 'Search companies by CUSIP (Committee on Uniform Securities Identification Procedures) identifier.',866 input_schema: {867 type: 'object',868 properties: {869 cusip: {870 type: 'string',871 description: 'CUSIP identifier',872 },873 },874 required: ['cusip'],875 },876 },877 {878 name: 'search_by_isin',879 description: 'Search companies by ISIN (International Securities Identification Number).',880 input_schema: {881 type: 'object',882 properties: {883 isin: {884 type: 'string',885 description: 'ISIN identifier',886 },887 },888 required: ['isin'],889 },890 },891 {892 name: 'get_stock_screener',893 description: 'Screen stocks based on various criteria like market cap, sector, price, volume, beta, etc. Returns list of stocks matching filters.',894 input_schema: {895 type: 'object',896 properties: {897 marketCapMoreThan: {898 type: 'number',899 description: 'Minimum market cap (e.g., 1000000000 for $1B)',900 },901 marketCapLowerThan: {902 type: 'number',903 description: 'Maximum market cap',904 },905 betaMoreThan: {906 type: 'number',907 description: 'Minimum beta',908 },909 betaLowerThan: {910 type: 'number',911 description: 'Maximum beta',912 },913 volumeMoreThan: {914 type: 'number',915 description: 'Minimum volume',916 },917 sector: {918 type: 'string',919 description: 'Sector filter (e.g., "Technology", "Healthcare")',920 },921 industry: {922 type: 'string',923 description: 'Industry filter',924 },925 exchange: {926 type: 'string',927 description: 'Exchange filter (e.g., "NASDAQ", "NYSE")',928 },929 limit: {930 type: 'number',931 description: 'Maximum results (default: 100)',932 },933 },934 required: [],935 },936 },937 {938 name: 'get_market_hours',939 description: 'Gets market trading hours and status (open/closed) for various exchanges.',940 input_schema: {941 type: 'object',942 properties: {},943 required: [],944 },945 },946 {947 name: 'get_etf_holdings',948 description: 'Gets detailed holdings of an ETF including all stocks, weights, and allocations.',949 input_schema: {950 type: 'object',951 properties: {952 symbol: {953 type: 'string',954 description: 'ETF ticker symbol (e.g., "SPY", "QQQ", "VTI")',955 },956 },957 required: ['symbol'],958 },959 },960 {961 name: 'get_etf_sector_weightings',962 description: 'Gets sector allocation breakdown for an ETF.',963 input_schema: {964 type: 'object',965 properties: {966 symbol: {967 type: 'string',968 description: 'ETF ticker symbol',969 },970 },971 required: ['symbol'],972 },973 },974 {975 name: 'get_etf_country_weightings',976 description: 'Gets country/geographic allocation breakdown for an ETF.',977 input_schema: {978 type: 'object',979 properties: {980 symbol: {981 type: 'string',982 description: 'ETF ticker symbol',983 },984 },985 required: ['symbol'],986 },987 },988 {989 name: 'get_financial_growth',990 description: 'Gets year-over-year growth rates for all financial metrics (revenue growth, earnings growth, etc.).',991 input_schema: {992 type: 'object',993 properties: {994 symbol: {995 type: 'string',996 description: 'Stock ticker symbol',997 },998 period: {999 type: 'string',1000 description: 'Period type: "annual" or "quarter" (default: annual)',1001 },1002 limit: {1003 type: 'number',1004 description: 'Number of periods (default: 5)',1005 },1006 },1007 required: ['symbol'],1008 },1009 },1010 {1011 name: 'get_company_outlook',1012 description: 'Gets comprehensive company outlook including profile, metrics, ratios, financials, and recent data in one call.',1013 input_schema: {1014 type: 'object',1015 properties: {1016 symbol: {1017 type: 'string',1018 description: 'Stock ticker symbol',1019 },1020 },1021 required: ['symbol'],1022 },1023 },1024 {1025 name: 'get_stock_news_sentiment',1026 description: 'Gets news articles with AI-generated sentiment scores (bullish/bearish).',1027 input_schema: {1028 type: 'object',1029 properties: {1030 symbol: {1031 type: 'string',1032 description: 'Stock ticker symbol',1033 },1034 limit: {1035 type: 'number',1036 description: 'Number of articles (default: 5, max: 5 to avoid context overflow)',1037 },1038 },1039 required: ['symbol'],1040 },1041 },1042 {1043 name: 'get_crypto_quote',1044 description: 'Gets real-time cryptocurrency price quotes. Supports major cryptocurrencies.',1045 input_schema: {1046 type: 'object',1047 properties: {1048 symbol: {1049 type: 'string',1050 description: 'Crypto symbol (e.g., "BTCUSD", "ETHUSD", "SOLUSD")',1051 },1052 },1053 required: ['symbol'],1054 },1055 },1056 {1057 name: 'get_crypto_list',1058 description: 'Gets list of all available cryptocurrencies that can be queried.',1059 input_schema: {1060 type: 'object',1061 properties: {},1062 required: [],1063 },1064 },1065 {1066 name: 'get_forex_historical',1067 description: 'Gets historical forex price data for currency pairs.',1068 input_schema: {1069 type: 'object',1070 properties: {1071 pair: {1072 type: 'string',1073 description: 'Currency pair (e.g., "EURUSD", "GBPUSD")',1074 },1075 from: {1076 type: 'string',1077 description: 'Start date in YYYY-MM-DD format (optional)',1078 },1079 to: {1080 type: 'string',1081 description: 'End date in YYYY-MM-DD format (optional)',1082 },1083 },1084 required: ['pair'],1085 },1086 },1087 {1088 name: 'get_sec_filings',1089 description: 'Gets SEC filings (10-K, 10-Q, 8-K, etc.) for a company with filing links and dates.',1090 input_schema: {1091 type: 'object',1092 properties: {1093 symbol: {1094 type: 'string',1095 description: 'Stock ticker symbol',1096 },1097 type: {1098 type: 'string',1099 description: 'Filing type filter (e.g., "10-K", "10-Q", "8-K") - optional',1100 },1101 limit: {1102 type: 'number',1103 description: 'Number of filings (default: 20, max: 20 to avoid context overflow)',1104 },1105 },1106 required: ['symbol'],1107 },1108 },1109 {1110 name: 'get_company_notes',1111 description: 'Gets company notes and debt obligations with details on issued bonds and notes.',1112 input_schema: {1113 type: 'object',1114 properties: {1115 symbol: {1116 type: 'string',1117 description: 'Stock ticker symbol',1118 },1119 },1120 required: ['symbol'],1121 },1122 },1123 {1124 name: 'get_earnings_call_transcript',1125 description: 'Gets earnings call transcript text and Q&A for a specific quarter.',1126 input_schema: {1127 type: 'object',1128 properties: {1129 symbol: {1130 type: 'string',1131 description: 'Stock ticker symbol',1132 },1133 year: {1134 type: 'number',1135 description: 'Year (e.g., 2024)',1136 },1137 quarter: {1138 type: 'number',1139 description: 'Quarter (1, 2, 3, or 4)',1140 },1141 },1142 required: ['symbol', 'year', 'quarter'],1143 },1144 },1145 {1146 name: 'web_search_exa',1147 description: 'Search the web using Exa\'s semantic search engine for high-quality, relevant content. Use this to find information from websites, articles, news, research papers, and other web sources. Excellent for finding recent news, industry trends, company information not in financial databases, product details, market analysis from various sources, etc.',1148 input_schema: {1149 type: 'object',1150 properties: {1151 query: {1152 type: 'string',1153 description: 'Natural language search query (e.g., "recent AI developments", "electric vehicle market trends")',1154 },1155 numResults: {1156 type: 'number',1157 description: 'Number of results to return (1-20, default: 10)',1158 },1159 type: {1160 type: 'string',1161 description: 'Search type: "auto" (default), "neural" (semantic), or "keyword" (exact match)',1162 },1163 category: {1164 type: 'string',1165 description: 'Filter by content type: "company", "research_paper", "news_article", "tweet", "github", "pdf"',1166 },1167 includeDomains: {1168 type: 'array',1169 items: { type: 'string' },1170 description: 'Only search within these domains (e.g., ["techcrunch.com", "reuters.com"])',1171 },1172 excludeDomains: {1173 type: 'array',1174 items: { type: 'string' },1175 description: 'Exclude these domains from search',1176 },1177 startPublishedDate: {1178 type: 'string',1179 description: 'Filter results published after this date (ISO 8601 format: YYYY-MM-DD)',1180 },1181 endPublishedDate: {1182 type: 'string',1183 description: 'Filter results published before this date (ISO 8601 format: YYYY-MM-DD)',1184 },1185 includeText: {1186 type: 'boolean',1187 description: 'Include page text content in results (default: true)',1188 },1189 },1190 required: ['query'],1191 },1192 },1193 {1194 name: 'get_contents_exa',1195 description: 'Get full content from specific URLs using Exa\'s web crawler. Use this after finding interesting URLs with web_search_exa to extract complete text, highlights, and summaries. Perfect for deep-diving into specific articles, research papers, or web pages to extract detailed information.',1196 input_schema: {1197 type: 'object',1198 properties: {1199 urls: {1200 type: 'array',1201 items: { type: 'string' },1202 description: 'List of URLs to crawl and extract content from (max 5 URLs)',1203 },1204 includeText: {1205 type: 'boolean',1206 description: 'Include full page text content (default: true)',1207 },1208 maxCharacters: {1209 type: 'number',1210 description: 'Maximum characters to extract per page (default: 3000)',1211 },1212 includeHighlights: {1213 type: 'boolean',1214 description: 'Extract key sentences as highlights (default: false)',1215 },1216 highlightsQuery: {1217 type: 'string',1218 description: 'Query to focus highlights on specific topics',1219 },1220 numSentences: {1221 type: 'number',1222 description: 'Number of highlight sentences per URL (default: 3)',1223 },1224 includeSummary: {1225 type: 'boolean',1226 description: 'Generate AI summary of the content (default: false)',1227 },1228 summaryQuery: {1229 type: 'string',1230 description: 'Query to focus summary on specific aspects',1231 },1232 },1233 required: ['urls'],1234 },1235 },1236 {1237 name: 'execute_custom_python_analysis',1238 description: `Execute custom Python code for financial analysis. Access to: numpy, pandas, matplotlib, scipy, sklearn, statsmodels, yfinance, cvxpy, FMP API via fmp object.12391240🚀 CRITICAL RULE - DO EVERYTHING IN ONE CALL:1241NEVER make multiple tool calls to execute_custom_python_analysis. Do EVERYTHING in a SINGLE Python script: data fetching + analysis + figures. Do NOT make separate calls for "fetch data" then "run analysis". That's SLOW!12421243❌ WRONG (SLOW - multiple calls):1244Call 1: "Fetch NVDA data" → fmp.get_historical_prices("NVDA")1245Call 2: "Run Monte Carlo" → uses the data12461247✅ CORRECT (FAST - one call does everything):1248Single call: Fetch data + Run Monte Carlo + Create figures all in one script12491250⚠️ NEVER HARDCODE DATA:1251NEVER write hardcoded arrays of data (dates, prices, etc.) in your code. ALWAYS fetch data dynamically using fmp API methods like fmp.get_historical_prices(). Writing hardcoded data is SLOW and takes forever to stream to the user. Instead, fetch data with 1-2 lines of API calls.12521253❌ WRONG (SLOW - takes forever to write):1254dates = ['2024-01-01', '2024-01-02', ...] # hundreds of lines1255prices = [150.23, 151.45, ...] # takes forever to stream12561257✅ CORRECT (FAST):1258data = fmp.get_historical_prices("AAPL")1259df = pd.DataFrame(data["historical"])12601261📊 FIGURE CREATION RULES - ALWAYS CREATE SEPARATE FIGURES:1262NEVER use plt.subplots() with multiple rows/columns (like 2x2, 3x1, 4x4 grids).1263ALWAYS create INDIVIDUAL SEPARATE figures using plt.figure() for each visualization.1264This allows each figure to be displayed and commented individually in the response.12651266❌ WRONG (combined figures - hard to comment individually):1267fig, axes = plt.subplots(2, 2, figsize=(12, 10))1268axes[0,0].plot(...)1269axes[0,1].hist(...)1270axes[1,0].plot(...)1271axes[1,1].scatter(...)12721273✅ CORRECT (separate figures - each can be commented):1274plt.figure(figsize=(12, 6))1275plt.plot(df["date"], df["close"])1276plt.title("Price Evolution")1277plt.tight_layout()12781279plt.figure(figsize=(12, 6))1280plt.hist(df["returns"], bins=50, alpha=0.7)1281plt.title("Return Distribution")1282plt.tight_layout()12831284plt.figure(figsize=(12, 6))1285plt.plot(df["date"], df["volume"], color="green")1286plt.title("Volume Analysis")1287plt.tight_layout()12881289📥 EXCEL FILE GENERATION:1290save_excel() generates professionally styled Excel files with title row, teal headers, zebra striping, auto-column-width, freeze panes, auto number formatting, REAL Excel formulas (SUM, AVERAGE, MIN, MAX, COUNT), and conditional formatting.12911292Every Excel file automatically includes:1293- Professional title row (merged, teal 14pt bold) + generated date subtitle1294- Summary formulas at the bottom of each numeric column (SUM, AVERAGE, MIN, MAX, COUNT) — these are REAL Excel formulas, not static values1295- Conditional formatting: green/red color scales for return columns, teal data bars for volume columns, teal gradients for price/value columns1296- Freeze panes on the first data row (A5)12971298Single sheet:1299save_excel(df, "AAPL_prices.xlsx")13001301Multi-sheet workbook (PREFERRED when you have multiple DataFrames):1302save_excel({1303 "Summary": summary_df,1304 "Details": details_df,1305 "Raw Data": raw_df1306}, "full_report.xlsx")13071308Custom title:1309save_excel(df, "report.xlsx", title="Revenue Analysis Q4 2025")13101311Calculated formula columns (PREFERRED over pre-calculating values in Python):1312save_excel(df, "report.xlsx", formulas=[1313 {"col": "Margin", "formula": "=D{row}/B{row}", "format": "0.00%"},1314 {"col": "Total", "formula": "=B{row}+C{row}", "format": "#,##0.00"}1315])1316{row} is replaced by the actual Excel row number. The user sees the formula logic in the formula bar.13171318Opt-out of auto features:1319save_excel(df, "report.xlsx", summary=False, conditional_formatting=False)1320save_excel(df, "report.xlsx", summary=['sum', 'average']) # Only selected stats13211322⚠️ ALWAYS use multi-sheet format when you have multiple DataFrames — do NOT call save_excel() multiple times to create separate files. One workbook with multiple sheets is cleaner and more professional.1323⚠️ PREFER using formulas= for calculated columns instead of computing values in Python — this lets the user see and modify the calculation logic directly in Excel.13241325📝 WORD DOCUMENT GENERATION:1326save_word() generates branded VQuant Word documents (.docx) with professional styling.13271328From markdown string:1329save_word("# Portfolio Analysis\\n\\n## Summary\\n\\nThe portfolio returned **12.5%**...\\n\\n- Strong performance in tech\\n- Underweight in energy", "portfolio_report.docx")13301331From structured dict (for including tables):1332save_word({1333 "title": "Portfolio Analysis",1334 "sections": [1335 {"heading": "Performance Summary", "body": "The portfolio returned **12.5%** annualized."},1336 {"heading": "Holdings", "table": holdings_df},1337 {"heading": "Risk Metrics", "body": "VaR (95%): -2.3%\\nMax Drawdown: -15.2%", "table": risk_df}1338 ]1339}, "portfolio_report.docx")13401341The download links for both Excel and Word files will be automatically included in the tool result.13421343DISPLAYING FIGURES - CRITICAL:1344When your code creates matplotlib figures, they are saved as PNG files and you will receive markdown image references in the tool result output.13451346⚠️ YOU MUST INCLUDE EVERY  IMAGE IN YOUR RESPONSE!1347Do NOT skip or omit the figure references - they MUST appear in your markdown response.13481349For each figure, include it with your analysis like this:13501351"Voici l'évolution des prix:1352135313541355Le graphique montre une tendance haussière sur la période...13561357Analysons maintenant la distribution des rendements:1358135913601361La distribution présente une légère asymétrie..."`,1362 input_schema: {1363 type: 'object',1364 properties: {1365 code: {1366 type: 'string',1367 description: 'Python code. ⚠️ NEVER HARDCODE DATA ARRAYS! Always fetch with fmp API. CRITICAL: fmp.get_historical_prices() returns dict with "historical" key! ALWAYS use: df = pd.DataFrame(data["historical"]). Convert dates: df["date"] = pd.to_datetime(df["date"]). Always .dropna(). ⚠️ ALWAYS CREATE SEPARATE FIGURES with plt.figure() - NEVER use plt.subplots(2,2) or grids! CORRECT PATTERN:\n```python\n# ✅ CORRECT: Fetch data with API (FAST)\ndata = fmp.get_historical_prices("AAPL")\ndf = pd.DataFrame(data["historical"]) # ← MUST use ["historical"]\ndf["date"] = pd.to_datetime(df["date"])\ndf = df.sort_values("date").dropna()\ndf["returns"] = df["close"].pct_change()\nprint(f"Latest: ${df[\'close\'].iloc[-1]:.2f}")\n```\n\n# Figure 1 - Price\nplt.figure(figsize=(12,6))\nplt.plot(df["date"], df["close"])\nplt.title("Price Evolution")\nplt.tight_layout()\n\n# Figure 2 - Returns\nplt.figure(figsize=(12,6))\nplt.hist(df["returns"].dropna(), bins=50)\nplt.title("Return Distribution")\nplt.tight_layout()\n```\n❌ WRONG: plt.subplots(2,2) or dates = [\'2024-01-01\', ...] # No grids! No hardcoded data!\nLIBS: np, pd, plt, sns, scipy, sklearn, statsmodels, ta, cvxpy, numba, networkx, sympy, arch, duckdb\nDATA: fmp (FMP API)',1368 },1369 description: {1370 type: 'string',1371 description: 'Brief description of what this analysis does (shown to user, e.g., "Custom correlation analysis between tech stocks")',1372 },1373 context: {1374 type: 'object',1375 description: 'Optional context variables to inject into the Python environment as global variables. Example: {"symbols": ["AAPL", "MSFT"], "threshold": 0.5}',1376 },1377 },1378 required: ['code'],1379 },1380 },1381 {1382 name: 'get_option_chain',1383 description: 'Gets the option chain for a US stock symbol (real market data via EODHD), returning option contracts (calls and puts) with identifiers, strikes, expiration dates, bid/ask, last price, volume, open interest and implied volatility. This is the starting point for options analysis. Large chains can have 10,000+ contracts and results are capped at 1000 sorted by nearest expiration, so USE THE FILTERS (exp_date_from/to, strike_from/to, option_type) to narrow down to the relevant expirations and strikes. Then use get_option_prices or get_option_greeks for full details on specific contracts.',1384 input_schema: {1385 type: 'object',1386 properties: {1387 symbol: {1388 type: 'string',1389 description: 'US stock ticker symbol (e.g., "AAPL", "MSFT", "TSLA").',1390 },1391 exp_date_from: {1392 type: 'string',1393 description: 'Only contracts expiring on or after this date, YYYY-MM-DD (optional, recommended)',1394 },1395 exp_date_to: {1396 type: 'string',1397 description: 'Only contracts expiring on or before this date, YYYY-MM-DD (optional, recommended)',1398 },1399 strike_from: {1400 type: 'number',1401 description: 'Minimum strike price (optional)',1402 },1403 strike_to: {1404 type: 'number',1405 description: 'Maximum strike price (optional)',1406 },1407 option_type: {1408 type: 'string',1409 enum: ['call', 'put'],1410 description: 'Only calls or only puts (optional, default both)',1411 },1412 limit: {1413 type: 'number',1414 description: 'Max contracts to return, up to 1000 (default 1000)',1415 },1416 },1417 required: ['symbol'],1418 },1419 },1420 {1421 name: 'get_option_prices',1422 description: 'Gets detailed pricing information for a specific option contract (via EODHD): last price, bid/ask with sizes, volume, open interest, implied volatility, moneyness, theoretical price, midpoint, days to expiration — plus Greeks (delta, gamma, theta, vega, rho). Use this after getting the option chain to analyze specific contracts. The identifier is obtained from get_option_chain results.',1423 input_schema: {1424 type: 'object',1425 properties: {1426 identifier: {1427 type: 'string',1428 description: 'Option contract identifier from the option chain (e.g., "MSFT250417C00400000"). Format: SYMBOL + YYMMDD (expiration) + C/P (call/put) + Strike price * 1000 padded to 8 digits. Example: MSFT250417C00400000 = MSFT call expiring April 17, 2025 with $400 strike.',1429 },1430 },1431 required: ['identifier'],1432 },1433 },1434 {1435 name: 'get_option_greeks',1436 description: 'Gets option Greeks (Delta, Gamma, Theta, Vega, Rho) plus implied volatility and quote data for a specific option contract (via EODHD). Greeks measure different dimensions of risk and price sensitivity in options trading. Delta: price sensitivity to underlying, Gamma: delta sensitivity, Theta: time decay, Vega: volatility sensitivity, Rho: interest rate sensitivity. Essential for options risk management and hedging strategies.',1437 input_schema: {1438 type: 'object',1439 properties: {1440 identifier: {1441 type: 'string',1442 description: 'Option contract identifier from the option chain (e.g., "MSFT250417C00400000"). Same format as get_option_prices.',1443 },1444 },1445 required: ['identifier'],1446 },1447 },1448 {1449 name: 'download_fmp_data',1450 description: 'Downloads financial data from FMP API and exports it to a file in the specified format (CSV, XLSX, JSON, or TXT). This tool allows users to obtain complete datasets from any available FMP data type and provides a download link. Use this when users want to export data for their own analysis, save data locally, or work with data in Excel/spreadsheet applications. Available data types include: company_profile, income_statement, balance_sheet, cash_flow, key_metrics, financial_ratios, financial_growth, stock_quote, historical_price, intraday_price, technical indicators (rsi, macd, ema, sma, adx, williams_r, cci, stochastic), financial_news, earnings_calendar, earnings_surprises, analyst_estimates, price_target, upgrades_downgrades, dividend_history, stock_splits, insider_trading, institutional_holders, congressional_trading, esg_score, treasury_rates, economic_calendar, forex_quote, commodity_quotes, and more.',1451 input_schema: {1452 type: 'object',1453 properties: {1454 data_type: {1455 type: 'string',1456 description: 'Type of data to download. Examples: "company_profile", "income_statement", "balance_sheet", "cash_flow", "key_metrics", "financial_ratios", "financial_growth", "stock_quote", "historical_price", "intraday_price", "rsi", "macd", "ema", "sma", "adx", "williams_r", "cci", "stochastic", "financial_news", "earnings_calendar", "earnings_surprises", "analyst_estimates", "price_target", "upgrades_downgrades", "dividend_history", "stock_splits", "insider_trading", "institutional_holders", "congressional_trading", "esg_score", "treasury_rates", "economic_calendar", "forex_quote", "commodity_quotes"',1457 },1458 symbol: {1459 type: 'string',1460 description: 'Stock ticker symbol (required for most data types, e.g., "AAPL", "MSFT", "TSLA")',1461 },1462 format: {1463 type: 'string',1464 description: 'Output file format: "csv" (Comma-Separated Values - best for Excel and data analysis), "xlsx" (Excel format), "json" (JSON format - best for programmatic access), or "txt" (Plain text table format)',1465 enum: ['csv', 'xlsx', 'json', 'txt']1466 },1467 period: {1468 type: 'string',1469 description: 'Period type for financial statements: "annual" or "quarter". Default: "annual"',1470 enum: ['annual', 'quarter']1471 },1472 limit: {1473 type: 'number',1474 description: 'Number of records to retrieve. Default: 10',1475 },1476 from_date: {1477 type: 'string',1478 description: 'Start date for historical data in YYYY-MM-DD format (e.g., "2023-01-01")',1479 },1480 to_date: {1481 type: 'string',1482 description: 'End date for historical data in YYYY-MM-DD format (e.g., "2024-01-01")',1483 },1484 indicator_period: {1485 type: 'number',1486 description: 'Period for technical indicators (e.g., 14 for RSI, 50 for moving averages)',1487 },1488 time_period: {1489 type: 'string',1490 description: 'Time period for technical indicators: "daily", "weekly", or "monthly". Default: "daily"',1491 },1492 interval: {1493 type: 'string',1494 description: 'Interval for intraday data: "1min", "5min", "15min", "30min", "1hour", "4hour". Default: "15min"',1495 },1496 news_limit: {1497 type: 'number',1498 description: 'Number of news articles to retrieve. Default: 20',1499 },1500 pair: {1501 type: 'string',1502 description: 'Forex pair for forex data (e.g., "EURUSD", "GBPUSD")',1503 },1504 },1505 required: ['data_type', 'format'],1506 },1507 },1508 // ==================== FIRECRAWL WEB NAVIGATION & EXTRACTION TOOLS ====================1509 {1510 name: 'firecrawl_scrape',1511 description: 'Extract complete content from a single URL. Supports HTML pages, PDFs, Word docs, and more. Perfect for extracting financial reports, company filings, research papers, and documentation. Returns clean markdown with automatic PDF summarization for long documents.',1512 input_schema: {1513 type: 'object',1514 properties: {1515 url: {1516 type: 'string',1517 description: 'URL to scrape (HTTP/HTTPS). Supports PDFs, HTML, Word docs, etc.',1518 },1519 formats: {1520 type: 'array',1521 items: { type: 'string' },1522 description: 'Output formats: ["markdown", "html", "rawHtml", "links", "screenshot"]. Default: ["markdown"]',1523 },1524 onlyMainContent: {1525 type: 'boolean',1526 description: 'Extract only main content, removing navigation/ads/footers. Default: true',1527 },1528 parsers: {1529 type: 'array',1530 items: { type: 'string' },1531 description: 'Parsers to enable. Default: ["pdf"] for PDF extraction',1532 },1533 includeTags: {1534 type: 'array',1535 items: { type: 'string' },1536 description: 'HTML tags to include (e.g., ["article", "main"])',1537 },1538 excludeTags: {1539 type: 'array',1540 items: { type: 'string' },1541 description: 'HTML tags to exclude (e.g., ["nav", "footer", "aside"])',1542 },1543 waitFor: {1544 type: 'number',1545 description: 'Wait milliseconds before scraping (for dynamic content). Default: 0',1546 },1547 mobile: {1548 type: 'boolean',1549 description: 'Emulate mobile device. Default: false',1550 },1551 blockAds: {1552 type: 'boolean',1553 description: 'Block ads and cookie popups. Default: true',1554 },1555 timeout: {1556 type: 'number',1557 description: 'Request timeout in milliseconds. Default: 30000',1558 },1559 },1560 required: ['url'],1561 },1562 },1563 {1564 name: 'firecrawl_search',1565 description: 'Search the web and automatically scrape matching results. Perfect for finding recent news, research papers (PDFs), financial reports, or specific information across multiple sources. Can filter by categories (github, research, pdf) and sources (web, images, news).',1566 input_schema: {1567 type: 'object',1568 properties: {1569 query: {1570 type: 'string',1571 description: 'Search query (e.g., "NVDA Q4 2024 earnings report PDF", "climate change research papers")',1572 },1573 limit: {1574 type: 'number',1575 description: 'Number of results to return (1-50). Default: 20',1576 },1577 sources: {1578 type: 'array',1579 items: { type: 'string', enum: ['web', 'images', 'news'] },1580 description: 'Sources to search. Default: ["web"]. Options: "web", "images", "news"',1581 },1582 categories: {1583 type: 'array',1584 items: { type: 'string', enum: ['github', 'research', 'pdf'] },1585 description: 'Categories to filter results. Options: "github" (repos), "research" (papers), "pdf" (documents)',1586 },1587 country: {1588 type: 'string',1589 description: 'Country code for geo-targeting (e.g., "US", "FR", "UK"). Default: "US"',1590 },1591 tbs: {1592 type: 'string',1593 description: 'Time-based search parameter (e.g., "qdr:d" = past day, "qdr:w" = past week, "qdr:m" = past month)',1594 },1595 onlyMainContent: {1596 type: 'boolean',1597 description: 'Extract only main content from scraped results. Default: false',1598 },1599 },1600 required: ['query'],1601 },1602 },1603 {1604 name: 'firecrawl_crawl',1605 description: 'Crawl and extract content from multiple pages of a website. Follows internal links to map entire documentation sites, corporate websites, or knowledge bases. Can use natural language prompts to guide crawling or use regex patterns for precise control.',1606 input_schema: {1607 type: 'object',1608 properties: {1609 url: {1610 type: 'string',1611 description: 'Root URL to start crawling (e.g., "https://example.com/docs")',1612 },1613 prompt: {1614 type: 'string',1615 description: 'Natural language prompt to guide what to crawl (e.g., "crawl all product documentation pages")',1616 },1617 limit: {1618 type: 'number',1619 description: 'Maximum pages to crawl (1-20). Default: 10',1620 },1621 includePaths: {1622 type: 'array',1623 items: { type: 'string' },1624 description: 'Regex patterns for URLs to include (e.g., ["/docs/.*", "/blog/.*"])',1625 },1626 excludePaths: {1627 type: 'array',1628 items: { type: 'string' },1629 description: 'Regex patterns for URLs to exclude (e.g., ["/admin/.*", "/login"])',1630 },1631 maxDiscoveryDepth: {1632 type: 'number',1633 description: 'Maximum link depth to follow from root URL',1634 },1635 sitemap: {1636 type: 'string',1637 enum: ['skip', 'include'],1638 description: 'Sitemap handling. Default: "include"',1639 },1640 crawlEntireDomain: {1641 type: 'boolean',1642 description: 'Allow crawling parent/sibling URLs. Default: false',1643 },1644 allowSubdomains: {1645 type: 'boolean',1646 description: 'Allow following subdomain links. Default: false',1647 },1648 ignoreQueryParameters: {1649 type: 'boolean',1650 description: 'Treat URLs with different query params as same page. Default: false',1651 },1652 onlyMainContent: {1653 type: 'boolean',1654 description: 'Extract only main content from each page. Default: false',1655 },1656 },1657 required: ['url'],1658 },1659 },1660 {1661 name: 'firecrawl_extract',1662 description: 'Extract structured data from websites using AI. Define a schema and let Firecrawl intelligently extract matching data across multiple pages. Perfect for extracting product catalogs, company directories, financial metrics, or any structured information from websites.',1663 input_schema: {1664 type: 'object',1665 properties: {1666 urls: {1667 type: 'array',1668 items: { type: 'string' },1669 description: 'URLs to extract data from (1-10 URLs recommended)',1670 },1671 prompt: {1672 type: 'string',1673 description: 'Prompt describing what data to extract (e.g., "Extract all product names, prices, and descriptions")',1674 },1675 schema: {1676 type: 'object',1677 description: 'JSON schema defining the structure of data to extract. Example: {type: "object", properties: {products: {type: "array", items: {type: "object", properties: {name: {type: "string"}, price: {type: "number"}}}}}}',1678 },1679 enableWebSearch: {1680 type: 'boolean',1681 description: 'Use web search to find additional data. Default: false',1682 },1683 includeSubdomains: {1684 type: 'boolean',1685 description: 'Also extract from subdomains. Default: true',1686 },1687 showSources: {1688 type: 'boolean',1689 description: 'Include source URLs in response. Default: false',1690 },1691 },1692 required: ['urls'],1693 },1694 },1695 {1696 name: 'firecrawl_map',1697 description: 'Map all URLs from a website without crawling content. Fast way to discover site structure, find all pages, or generate a sitemap. Can filter by search relevance and handle sitemaps intelligently.',1698 input_schema: {1699 type: 'object',1700 properties: {1701 url: {1702 type: 'string',1703 description: 'Website URL to map',1704 },1705 search: {1706 type: 'string',1707 description: 'Search query to rank results by relevance (e.g., "pricing" to find pricing pages)',1708 },1709 sitemap: {1710 type: 'string',1711 enum: ['skip', 'include', 'only'],1712 description: 'Sitemap mode. "only" = only sitemap URLs, "include" = sitemap + discovered, "skip" = no sitemap. Default: "include"',1713 },1714 includeSubdomains: {1715 type: 'boolean',1716 description: 'Include subdomain URLs. Default: true',1717 },1718 ignoreQueryParameters: {1719 type: 'boolean',1720 description: 'Ignore query parameters in URLs. Default: true',1721 },1722 limit: {1723 type: 'number',1724 description: 'Maximum links to return. Default: 5000',1725 },1726 },1727 required: ['url'],1728 },1729 },1730 {1731 name: 'firecrawl_agent',1732 description: 'Autonomous AI agent for complex data extraction tasks. Give it a natural language prompt and optional URLs, and it will intelligently navigate, search, and extract the data you need. Uses advanced reasoning to understand your requirements and gather comprehensive information.',1733 input_schema: {1734 type: 'object',1735 properties: {1736 prompt: {1737 type: 'string',1738 description: 'Detailed prompt describing what data to extract (e.g., "Find and extract all executive compensation data from the latest 10-K filings of FAANG companies")',1739 },1740 urls: {1741 type: 'array',1742 items: { type: 'string' },1743 description: 'Optional: Constrain agent to specific URLs (agent will only visit these)',1744 },1745 schema: {1746 type: 'object',1747 description: 'Optional: JSON schema to structure extracted data',1748 },1749 maxCredits: {1750 type: 'number',1751 description: 'Maximum credits to spend on this task',1752 },1753 strictConstrainToURLs: {1754 type: 'boolean',1755 description: 'If true, agent only visits provided URLs. Default: false',1756 },1757 model: {1758 type: 'string',1759 enum: ['spark-1-mini', 'spark-1-pro'],1760 description: 'Agent model: "spark-1-mini" (fast, cheap) or "spark-1-pro" (powerful, accurate). Default: "spark-1-mini"',1761 },1762 },1763 required: ['prompt'],1764 },1765 },1766 {1767 name: 'firecrawl_batch_scrape',1768 description: 'Scrape multiple URLs in batch with high concurrency. Perfect for efficiently extracting content from many pages simultaneously (e.g., scraping multiple financial reports, news articles, or product pages at once).',1769 input_schema: {1770 type: 'object',1771 properties: {1772 urls: {1773 type: 'array',1774 items: { type: 'string' },1775 description: 'URLs to scrape in batch (recommended: 5-50 URLs)',1776 },1777 maxConcurrency: {1778 type: 'number',1779 description: 'Number of simultaneous scrapes. Default: system optimized',1780 },1781 onlyMainContent: {1782 type: 'boolean',1783 description: 'Extract only main content. Default: true',1784 },1785 parsers: {1786 type: 'array',1787 items: { type: 'string' },1788 description: 'Parsers to enable (e.g., ["pdf"]). Default: ["pdf"]',1789 },1790 formats: {1791 type: 'array',1792 items: { type: 'string' },1793 description: 'Output formats. Default: ["markdown"]',1794 },1795 timeout: {1796 type: 'number',1797 description: 'Timeout per URL in milliseconds. Default: 30000',1798 },1799 blockAds: {1800 type: 'boolean',1801 description: 'Block ads and popups. Default: true',1802 },1803 },1804 required: ['urls'],1805 },1806 },1807 // ==================== TAVILY WEB RESEARCH & SEARCH TOOLS ====================1808 {1809 name: 'tavily_search',1810 description: 'Advanced web search using Tavily AI. Perfect for real-time research with AI-generated answers, time-filtered results, and topic-specific searches (general, news, finance). Supports advanced search depth for more comprehensive results and can include images, raw content, and more.',1811 input_schema: {1812 type: 'object',1813 properties: {1814 query: {1815 type: 'string',1816 description: 'Search query (e.g., "latest developments in quantum computing", "NVDA earnings analysis")',1817 },1818 search_depth: {1819 type: 'string',1820 enum: ['advanced', 'basic', 'fast', 'ultra-fast'],1821 description: 'Search depth. "advanced" = most comprehensive (slower), "ultra-fast" = quickest. Default: "basic"',1822 },1823 max_results: {1824 type: 'number',1825 description: 'Maximum number of results to return (1-20). Default: 5',1826 },1827 topic: {1828 type: 'string',1829 enum: ['general', 'news', 'finance'],1830 description: 'Search topic category. "finance" optimizes for financial content. Default: "general"',1831 },1832 time_range: {1833 type: 'string',1834 enum: ['day', 'week', 'month', 'year', 'd', 'w', 'm', 'y'],1835 description: 'Filter by time range. "day" = last 24h, "week" = last 7 days, "month" = last 30 days, "year" = last 12 months',1836 },1837 start_date: {1838 type: 'string',1839 description: 'Filter results from this date onwards (YYYY-MM-DD format)',1840 },1841 end_date: {1842 type: 'string',1843 description: 'Filter results up to this date (YYYY-MM-DD format)',1844 },1845 include_answer: {1846 description: 'Include AI-generated answer. true/"basic" = quick answer, "advanced" = comprehensive answer. Default: false',1847 },1848 include_raw_content: {1849 description: 'Include full page content. true/"text" = plain text, "markdown" = formatted. Default: false',1850 },1851 include_images: {1852 type: 'boolean',1853 description: 'Include image results. Default: false',1854 },1855 include_domains: {1856 type: 'array',1857 items: { type: 'string' },1858 description: 'Only search these domains (e.g., ["reuters.com", "bloomberg.com"])',1859 },1860 exclude_domains: {1861 type: 'array',1862 items: { type: 'string' },1863 description: 'Exclude these domains from search',1864 },1865 country: {1866 type: 'string',1867 description: 'Boost results from specific country (e.g., "US", "FR", "UK")',1868 },1869 },1870 required: ['query'],1871 },1872 },1873 {1874 name: 'tavily_extract',1875 description: 'Extract and rank content from specific URLs. Uses AI to find the most relevant chunks based on optional query. Perfect for extracting key information from known URLs like financial reports, articles, or documentation.',1876 input_schema: {1877 type: 'object',1878 properties: {1879 urls: {1880 description: 'URL or array of URLs to extract from (1-10 URLs recommended)',1881 },1882 query: {1883 type: 'string',1884 description: 'Query to rank/filter extracted content chunks (e.g., "revenue growth" to find relevant sections)',1885 },1886 chunks_per_source: {1887 type: 'number',1888 description: 'Max relevant chunks per URL. Default: 3',1889 },1890 extract_depth: {1891 type: 'string',1892 enum: ['basic', 'advanced'],1893 description: 'Extraction depth. "advanced" = more thorough. Default: "basic"',1894 },1895 include_images: {1896 type: 'boolean',1897 description: 'Include images from pages. Default: false',1898 },1899 format: {1900 type: 'string',1901 enum: ['markdown', 'text'],1902 description: 'Content format. Default: "markdown"',1903 },1904 timeout: {1905 type: 'number',1906 description: 'Timeout in seconds per URL. Default: system optimized',1907 },1908 },1909 required: ['urls'],1910 },1911 },1912 {1913 name: 'tavily_crawl',1914 description: 'Graph-based intelligent website crawling with content extraction. Explores multiple paths in parallel using AI-guided discovery. Perfect for extracting comprehensive data from documentation sites, blogs, or knowledge bases.',1915 input_schema: {1916 type: 'object',1917 properties: {1918 url: {1919 type: 'string',1920 description: 'Root URL to start crawling',1921 },1922 instructions: {1923 type: 'string',1924 description: 'Natural language instructions to guide the crawl (e.g., "focus on product documentation pages")',1925 },1926 max_depth: {1927 type: 'number',1928 description: 'Maximum link depth from root. Default: 1',1929 },1930 max_breadth: {1931 type: 'number',1932 description: 'Max links to follow per level. Default: 20',1933 },1934 limit: {1935 type: 'number',1936 description: 'Total URLs to process before stopping. Default: 50',1937 },1938 select_paths: {1939 type: 'array',1940 items: { type: 'string' },1941 description: 'Regex patterns for URLs to include (e.g., ["/docs/.*", "/api/.*"])',1942 },1943 exclude_paths: {1944 type: 'array',1945 items: { type: 'string' },1946 description: 'Regex patterns for URLs to exclude',1947 },1948 select_domains: {1949 type: 'array',1950 items: { type: 'string' },1951 description: 'Regex patterns for domains to include',1952 },1953 exclude_domains: {1954 type: 'array',1955 items: { type: 'string' },1956 description: 'Regex patterns for domains to exclude',1957 },1958 allow_external: {1959 type: 'boolean',1960 description: 'Allow external domain links in results. Default: true',1961 },1962 extract_depth: {1963 type: 'string',1964 enum: ['basic', 'advanced'],1965 description: 'Content extraction depth. Default: "basic"',1966 },1967 format: {1968 type: 'string',1969 enum: ['markdown', 'text'],1970 description: 'Content format. Default: "markdown"',1971 },1972 timeout: {1973 type: 'number',1974 description: 'Total timeout in seconds. Default: 150',1975 },1976 },1977 required: ['url'],1978 },1979 },1980 {1981 name: 'tavily_map',1982 description: 'Fast site mapping to discover all URLs without extracting content. Explores website structure in parallel using graph traversal. Perfect for discovering site architecture, finding specific page patterns, or generating sitemaps.',1983 input_schema: {1984 type: 'object',1985 properties: {1986 url: {1987 type: 'string',1988 description: 'Website URL to map',1989 },1990 instructions: {1991 type: 'string',1992 description: 'Natural language instructions for mapping (e.g., "find all product pages")',1993 },1994 max_depth: {1995 type: 'number',1996 description: 'Maximum depth to traverse. Default: 1',1997 },1998 max_breadth: {1999 type: 'number',2000 description: 'Max links per level. Default: 20',2001 },2002 limit: {2003 type: 'number',2004 description: 'Total links to process. Default: 50',2005 },2006 select_paths: {2007 type: 'array',2008 items: { type: 'string' },2009 description: 'Regex patterns for paths to include',2010 },2011 exclude_paths: {2012 type: 'array',2013 items: { type: 'string' },2014 description: 'Regex patterns for paths to exclude',2015 },2016 allow_external: {2017 type: 'boolean',2018 description: 'Include external links. Default: true',2019 },2020 timeout: {2021 type: 'number',2022 description: 'Timeout in seconds. Default: 150',2023 },2024 },2025 required: ['url'],2026 },2027 },2028 {2029 name: 'tavily_research',2030 description: 'Autonomous AI research agent that conducts comprehensive research on any topic. Performs multiple searches, analyzes sources, synthesizes information, and generates a detailed research report with citations. Perfect for in-depth research tasks, competitive analysis, market research, or academic inquiries.',2031 input_schema: {2032 type: 'object',2033 properties: {2034 input: {2035 type: 'string',2036 description: 'Research question or topic (e.g., "What are the latest trends in renewable energy investment?", "Comprehensive analysis of AI chip market")',2037 },2038 model: {2039 type: 'string',2040 enum: ['mini', 'pro', 'auto'],2041 description: 'Research model. "mini" = fast & cost-effective, "pro" = most thorough, "auto" = adaptive. Default: "auto"',2042 },2043 output_schema: {2044 type: 'object',2045 description: 'JSON schema to structure research output (e.g., {type: "object", properties: {summary: {type: "string"}, key_findings: {type: "array"}}})',2046 },2047 citation_format: {2048 type: 'string',2049 enum: ['numbered', 'mla', 'apa', 'chicago'],2050 description: 'Citation format for sources. Default: "numbered"',2051 },2052 },2053 required: ['input'],2054 },2055 },2056 // ==================== NEW SEARCH & DISCOVERY TOOLS ====================2057 {2058 name: 'search_symbol',2059 description: 'Search for stock ticker symbols across multiple exchanges using FMP Stock Symbol Search API.',2060 input_schema: {2061 type: 'object',2062 properties: {2063 query: {2064 type: 'string',2065 description: 'Symbol to search for (e.g., "AAPL", "MSFT")',2066 },2067 },2068 required: ['query'],2069 },2070 },2071 {2072 name: 'search_name',2073 description: 'Search for companies by name to find their ticker symbols. Useful when you know the company name but not the symbol.',2074 input_schema: {2075 type: 'object',2076 properties: {2077 query: {2078 type: 'string',2079 description: 'Company name to search for (e.g., "Apple", "Microsoft")',2080 },2081 },2082 required: ['query'],2083 },2084 },2085 {2086 name: 'search_exchange_variants',2087 description: 'Find all exchanges where a stock symbol is listed (e.g., Apple on NASDAQ, European exchanges, etc.).',2088 input_schema: {2089 type: 'object',2090 properties: {2091 symbol: {2092 type: 'string',2093 description: 'Stock ticker symbol',2094 },2095 },2096 required: ['symbol'],2097 },2098 },2099 {2100 name: 'get_stock_list',2101 description: 'Get comprehensive list of all available stocks across all exchanges.',2102 input_schema: {2103 type: 'object',2104 properties: {},2105 required: [],2106 },2107 },2108 {2109 name: 'get_financial_statement_symbol_list',2110 description: 'Get list of companies with available financial statements.',2111 input_schema: {2112 type: 'object',2113 properties: {},2114 required: [],2115 },2116 },2117 {2118 name: 'get_cik_list',2119 description: 'Get list of SEC CIK (Central Index Key) numbers for all registered entities.',2120 input_schema: {2121 type: 'object',2122 properties: {2123 page: {2124 type: 'number',2125 description: 'Page number for pagination (default: 0)',2126 },2127 limit: {2128 type: 'number',2129 description: 'Number of results per page (default: 1000)',2130 },2131 },2132 required: [],2133 },2134 },2135 {2136 name: 'get_symbol_change',2137 description: 'Track stock symbol changes due to mergers, acquisitions, or rebranding.',2138 input_schema: {2139 type: 'object',2140 properties: {},2141 required: [],2142 },2143 },2144 {2145 name: 'get_etf_list',2146 description: 'Get complete list of all Exchange Traded Funds (ETFs).',2147 input_schema: {2148 type: 'object',2149 properties: {},2150 required: [],2151 },2152 },2153 {2154 name: 'get_actively_trading_list',2155 description: 'Get list of all actively trading companies and instruments.',2156 input_schema: {2157 type: 'object',2158 properties: {},2159 required: [],2160 },2161 },2162 {2163 name: 'get_earnings_transcript_list',2164 description: 'Get list of companies with available earnings call transcripts.',2165 input_schema: {2166 type: 'object',2167 properties: {},2168 required: [],2169 },2170 },2171 {2172 name: 'get_available_exchanges',2173 description: 'Get list of all supported stock exchanges worldwide.',2174 input_schema: {2175 type: 'object',2176 properties: {},2177 required: [],2178 },2179 },2180 {2181 name: 'get_available_sectors',2182 description: 'Get list of all industry sectors for stock categorization.',2183 input_schema: {2184 type: 'object',2185 properties: {},2186 required: [],2187 },2188 },2189 {2190 name: 'get_available_industries',2191 description: 'Get list of all industries where stock symbols are available.',2192 input_schema: {2193 type: 'object',2194 properties: {},2195 required: [],2196 },2197 },2198 {2199 name: 'get_available_countries',2200 description: 'Get list of all countries where stock symbols are available.',2201 input_schema: {2202 type: 'object',2203 properties: {},2204 required: [],2205 },2206 },2207 // ==================== ADVANCED COMPANY DATA TOOLS ====================2208 {2209 name: 'get_profile_by_cik',2210 description: 'Get company profile using SEC CIK (Central Index Key) number instead of ticker symbol.',2211 input_schema: {2212 type: 'object',2213 properties: {2214 cik: {2215 type: 'string',2216 description: 'SEC CIK number (e.g., "320193" for Apple)',2217 },2218 },2219 required: ['cik'],2220 },2221 },2222 {2223 name: 'get_delisted_companies',2224 description: 'Get list of companies that have been delisted from exchanges.',2225 input_schema: {2226 type: 'object',2227 properties: {2228 page: {2229 type: 'number',2230 description: 'Page number (default: 0)',2231 },2232 limit: {2233 type: 'number',2234 description: 'Results per page (default: 100)',2235 },2236 },2237 required: [],2238 },2239 },2240 {2241 name: 'get_employee_count',2242 description: 'Get current employee count for a company from SEC filings.',2243 input_schema: {2244 type: 'object',2245 properties: {2246 symbol: {2247 type: 'string',2248 description: 'Stock ticker symbol',2249 },2250 },2251 required: ['symbol'],2252 },2253 },2254 {2255 name: 'get_historical_employee_count',2256 description: 'Get historical employee count data to track workforce changes over time.',2257 input_schema: {2258 type: 'object',2259 properties: {2260 symbol: {2261 type: 'string',2262 description: 'Stock ticker symbol',2263 },2264 },2265 required: ['symbol'],2266 },2267 },2268 {2269 name: 'get_market_capitalization',2270 description: 'Get current market capitalization for a company.',2271 input_schema: {2272 type: 'object',2273 properties: {2274 symbol: {2275 type: 'string',2276 description: 'Stock ticker symbol',2277 },2278 },2279 required: ['symbol'],2280 },2281 },2282 {2283 name: 'get_batch_market_capitalization',2284 description: 'Get market cap for multiple companies at once for comparison.',2285 input_schema: {2286 type: 'object',2287 properties: {2288 symbols: {2289 type: 'string',2290 description: 'Comma-separated list of symbols (e.g., "AAPL,MSFT,GOOGL")',2291 },2292 },2293 required: ['symbols'],2294 },2295 },2296 {2297 name: 'get_historical_market_capitalization',2298 description: 'Get historical market cap data to track company valuation changes.',2299 input_schema: {2300 type: 'object',2301 properties: {2302 symbol: {2303 type: 'string',2304 description: 'Stock ticker symbol',2305 },2306 limit: {2307 type: 'number',2308 description: 'Number of historical records (default: 100)',2309 },2310 },2311 required: ['symbol'],2312 },2313 },2314 {2315 name: 'get_shares_float',2316 description: 'Get share float data (publicly traded shares) for liquidity analysis.',2317 input_schema: {2318 type: 'object',2319 properties: {2320 symbol: {2321 type: 'string',2322 description: 'Stock ticker symbol',2323 },2324 },2325 required: ['symbol'],2326 },2327 },2328 {2329 name: 'get_all_shares_float',2330 description: 'Get share float data for all companies for comprehensive screening.',2331 input_schema: {2332 type: 'object',2333 properties: {2334 page: {2335 type: 'number',2336 description: 'Page number (default: 0)',2337 },2338 limit: {2339 type: 'number',2340 description: 'Results per page (default: 1000)',2341 },2342 },2343 required: [],2344 },2345 },2346 {2347 name: 'get_latest_mergers_acquisitions',2348 description: 'Get latest merger and acquisition activity across all companies.',2349 input_schema: {2350 type: 'object',2351 properties: {2352 page: {2353 type: 'number',2354 description: 'Page number (default: 0)',2355 },2356 limit: {2357 type: 'number',2358 description: 'Results per page (default: 100)',2359 },2360 },2361 required: [],2362 },2363 },2364 {2365 name: 'search_mergers_acquisitions',2366 description: 'Search for specific M&A activity by company name.',2367 input_schema: {2368 type: 'object',2369 properties: {2370 name: {2371 type: 'string',2372 description: 'Company name to search for',2373 },2374 },2375 required: ['name'],2376 },2377 },2378 {2379 name: 'get_key_executives',2380 description: 'Get information about company executives including names, titles, and compensation.',2381 input_schema: {2382 type: 'object',2383 properties: {2384 symbol: {2385 type: 'string',2386 description: 'Stock ticker symbol',2387 },2388 },2389 required: ['symbol'],2390 },2391 },2392 {2393 name: 'get_executive_compensation',2394 description: 'Get detailed executive compensation data including salaries, stock awards, and total comp.',2395 input_schema: {2396 type: 'object',2397 properties: {2398 symbol: {2399 type: 'string',2400 description: 'Stock ticker symbol',2401 },2402 },2403 required: ['symbol'],2404 },2405 },2406 {2407 name: 'get_executive_compensation_benchmark',2408 description: 'Get average executive compensation benchmarks by industry for comparison.',2409 input_schema: {2410 type: 'object',2411 properties: {2412 year: {2413 type: 'number',2414 description: 'Year for benchmark data (optional)',2415 },2416 },2417 required: [],2418 },2419 },2420 // ==================== QUOTES & MARKET DATA TOOLS ====================2421 {2422 name: 'get_quote_short',2423 description: 'Get quick snapshot of stock quote with only essential data (price, volume).',2424 input_schema: {2425 type: 'object',2426 properties: {2427 symbol: {2428 type: 'string',2429 description: 'Stock ticker symbol',2430 },2431 },2432 required: ['symbol'],2433 },2434 },2435 {2436 name: 'get_aftermarket_trade',2437 description: 'Get after-hours trading activity with prices and sizes.',2438 input_schema: {2439 type: 'object',2440 properties: {2441 symbol: {2442 type: 'string',2443 description: 'Stock ticker symbol',2444 },2445 },2446 required: ['symbol'],2447 },2448 },2449 {2450 name: 'get_aftermarket_quote',2451 description: 'Get after-hours bid/ask quotes for extended trading analysis.',2452 input_schema: {2453 type: 'object',2454 properties: {2455 symbol: {2456 type: 'string',2457 description: 'Stock ticker symbol',2458 },2459 },2460 required: ['symbol'],2461 },2462 },2463 {2464 name: 'get_stock_price_change',2465 description: 'Get stock price changes across multiple timeframes (1D, 5D, 1M, 3M, 6M, YTD, 1Y, 3Y, 5Y, 10Y, max).',2466 input_schema: {2467 type: 'object',2468 properties: {2469 symbol: {2470 type: 'string',2471 description: 'Stock ticker symbol',2472 },2473 },2474 required: ['symbol'],2475 },2476 },2477 {2478 name: 'get_batch_quote',2479 description: 'Get real-time quotes for multiple stocks in a single request.',2480 input_schema: {2481 type: 'object',2482 properties: {2483 symbols: {2484 type: 'string',2485 description: 'Comma-separated symbols (e.g., "AAPL,MSFT,GOOGL")',2486 },2487 },2488 required: ['symbols'],2489 },2490 },2491 {2492 name: 'get_batch_quote_short',2493 description: 'Get quick quotes for multiple stocks with essential data only.',2494 input_schema: {2495 type: 'object',2496 properties: {2497 symbols: {2498 type: 'string',2499 description: 'Comma-separated symbols',2500 },2501 },2502 required: ['symbols'],2503 },2504 },2505 {2506 name: 'get_batch_exchange_quote',2507 description: 'Get quotes for all stocks trading on a specific exchange.',2508 input_schema: {2509 type: 'object',2510 properties: {2511 exchange: {2512 type: 'string',2513 description: 'Exchange name (e.g., "NASDAQ", "NYSE")',2514 },2515 },2516 required: ['exchange'],2517 },2518 },2519 {2520 name: 'get_batch_mutualfund_quotes',2521 description: 'Get quotes for all mutual funds.',2522 input_schema: {2523 type: 'object',2524 properties: {},2525 required: [],2526 },2527 },2528 {2529 name: 'get_batch_etf_quotes',2530 description: 'Get quotes for all ETFs.',2531 input_schema: {2532 type: 'object',2533 properties: {},2534 required: [],2535 },2536 },2537 {2538 name: 'get_batch_commodity_quotes',2539 description: 'Get quotes for all commodities (gold, silver, oil, etc.).',2540 input_schema: {2541 type: 'object',2542 properties: {},2543 required: [],2544 },2545 },2546 {2547 name: 'get_batch_crypto_quotes',2548 description: 'Get quotes for all cryptocurrencies.',2549 input_schema: {2550 type: 'object',2551 properties: {},2552 required: [],2553 },2554 },2555 {2556 name: 'get_batch_forex_quotes',2557 description: 'Get quotes for all forex currency pairs.',2558 input_schema: {2559 type: 'object',2560 properties: {},2561 required: [],2562 },2563 },2564 {2565 name: 'get_batch_index_quotes',2566 description: 'Get quotes for all major market indices.',2567 input_schema: {2568 type: 'object',2569 properties: {},2570 required: [],2571 },2572 },2573 // ==================== FINANCIAL STATEMENTS - ADVANCED TOOLS ====================2574 {2575 name: 'get_latest_financial_statements',2576 description: 'Get list of companies with latest financial statement updates.',2577 input_schema: {2578 type: 'object',2579 properties: {2580 page: {2581 type: 'number',2582 description: 'Page number (default: 0)',2583 },2584 limit: {2585 type: 'number',2586 description: 'Results per page (default: 250)',2587 },2588 },2589 required: [],2590 },2591 },2592 {2593 name: 'get_income_statement_ttm',2594 description: 'Get trailing twelve months (TTM) income statement data.',2595 input_schema: {2596 type: 'object',2597 properties: {2598 symbol: {2599 type: 'string',2600 description: 'Stock ticker symbol',2601 },2602 },2603 required: ['symbol'],2604 },2605 },2606 {2607 name: 'get_balance_sheet_ttm',2608 description: 'Get TTM balance sheet data.',2609 input_schema: {2610 type: 'object',2611 properties: {2612 symbol: {2613 type: 'string',2614 description: 'Stock ticker symbol',2615 },2616 },2617 required: ['symbol'],2618 },2619 },2620 {2621 name: 'get_cashflow_statement_ttm',2622 description: 'Get TTM cash flow statement data.',2623 input_schema: {2624 type: 'object',2625 properties: {2626 symbol: {2627 type: 'string',2628 description: 'Stock ticker symbol',2629 },2630 },2631 required: ['symbol'],2632 },2633 },2634 {2635 name: 'get_key_metrics_ttm',2636 description: 'Get TTM key financial metrics.',2637 input_schema: {2638 type: 'object',2639 properties: {2640 symbol: {2641 type: 'string',2642 description: 'Stock ticker symbol',2643 },2644 },2645 required: ['symbol'],2646 },2647 },2648 {2649 name: 'get_ratios_ttm',2650 description: 'Get TTM financial ratios.',2651 input_schema: {2652 type: 'object',2653 properties: {2654 symbol: {2655 type: 'string',2656 description: 'Stock ticker symbol',2657 },2658 },2659 required: ['symbol'],2660 },2661 },2662 {2663 name: 'get_financial_scores',2664 description: 'Get financial health scores including Altman Z-Score and Piotroski Score.',2665 input_schema: {2666 type: 'object',2667 properties: {2668 symbol: {2669 type: 'string',2670 description: 'Stock ticker symbol',2671 },2672 },2673 required: ['symbol'],2674 },2675 },2676 {2677 name: 'get_owner_earnings',2678 description: 'Get owner earnings (cash available to shareholders after capital expenditures).',2679 input_schema: {2680 type: 'object',2681 properties: {2682 symbol: {2683 type: 'string',2684 description: 'Stock ticker symbol',2685 },2686 },2687 required: ['symbol'],2688 },2689 },2690 {2691 name: 'get_enterprise_values',2692 description: 'Get enterprise value (market cap + debt - cash) for valuation.',2693 input_schema: {2694 type: 'object',2695 properties: {2696 symbol: {2697 type: 'string',2698 description: 'Stock ticker symbol',2699 },2700 period: {2701 type: 'string',2702 description: 'Period: "annual" or "quarter" (default: annual)',2703 },2704 limit: {2705 type: 'number',2706 description: 'Number of periods (default: 5)',2707 },2708 },2709 required: ['symbol'],2710 },2711 },2712 {2713 name: 'get_revenue_product_segmentation',2714 description: 'Get revenue breakdown by product lines.',2715 input_schema: {2716 type: 'object',2717 properties: {2718 symbol: {2719 type: 'string',2720 description: 'Stock ticker symbol',2721 },2722 period: {2723 type: 'string',2724 description: 'Period: "annual" or "quarter" (default: annual)',2725 },2726 },2727 required: ['symbol'],2728 },2729 },2730 {2731 name: 'get_revenue_geographic_segmentation',2732 description: 'Get revenue breakdown by geographic regions.',2733 input_schema: {2734 type: 'object',2735 properties: {2736 symbol: {2737 type: 'string',2738 description: 'Stock ticker symbol',2739 },2740 period: {2741 type: 'string',2742 description: 'Period: "annual" or "quarter" (default: annual)',2743 },2744 },2745 required: ['symbol'],2746 },2747 },2748 // ==================== ECONOMIC & DIVIDEND TOOLS ====================2749 {2750 name: 'get_market_risk_premium',2751 description: 'Get market risk premium for different countries for investment analysis.',2752 input_schema: {2753 type: 'object',2754 properties: {2755 country: {2756 type: 'string',2757 description: 'Country name (optional - gets all if not specified)',2758 },2759 },2760 required: [],2761 },2762 },2763 {2764 name: 'get_dividends_company',2765 description: 'Get complete dividend history for a company.',2766 input_schema: {2767 type: 'object',2768 properties: {2769 symbol: {2770 type: 'string',2771 description: 'Stock ticker symbol',2772 },2773 },2774 required: ['symbol'],2775 },2776 },2777 {2778 name: 'get_dividends_calendar',2779 description: 'Get upcoming dividend payment calendar across all stocks.',2780 input_schema: {2781 type: 'object',2782 properties: {2783 from: {2784 type: 'string',2785 description: 'Start date (YYYY-MM-DD) - optional',2786 },2787 to: {2788 type: 'string',2789 description: 'End date (YYYY-MM-DD) - optional',2790 },2791 },2792 required: [],2793 },2794 },2795 {2796 name: 'get_earnings_report',2797 description: 'Get earnings report data with EPS and revenue for a company.',2798 input_schema: {2799 type: 'object',2800 properties: {2801 symbol: {2802 type: 'string',2803 description: 'Stock ticker symbol',2804 },2805 },2806 required: ['symbol'],2807 },2808 },2809 {2810 name: 'get_ipo_disclosures',2811 description: 'Get IPO disclosure filings and dates.',2812 input_schema: {2813 type: 'object',2814 properties: {2815 from: {2816 type: 'string',2817 description: 'Start date (YYYY-MM-DD) - optional',2818 },2819 to: {2820 type: 'string',2821 description: 'End date (YYYY-MM-DD) - optional',2822 },2823 },2824 required: [],2825 },2826 },2827 {2828 name: 'get_ipo_prospectus',2829 description: 'Get IPO prospectus data with offering prices and proceeds.',2830 input_schema: {2831 type: 'object',2832 properties: {2833 from: {2834 type: 'string',2835 description: 'Start date (YYYY-MM-DD) - optional',2836 },2837 to: {2838 type: 'string',2839 description: 'End date (YYYY-MM-DD) - optional',2840 },2841 },2842 required: [],2843 },2844 },2845 {2846 name: 'get_splits',2847 description: 'Get stock split history for a company.',2848 input_schema: {2849 type: 'object',2850 properties: {2851 symbol: {2852 type: 'string',2853 description: 'Stock ticker symbol',2854 },2855 },2856 required: ['symbol'],2857 },2858 },2859 {2860 name: 'get_splits_calendar',2861 description: 'Get upcoming stock splits calendar.',2862 input_schema: {2863 type: 'object',2864 properties: {2865 from: {2866 type: 'string',2867 description: 'Start date (YYYY-MM-DD) - optional',2868 },2869 to: {2870 type: 'string',2871 description: 'End date (YYYY-MM-DD) - optional',2872 },2873 },2874 required: [],2875 },2876 },2877 // ==================== NEWS & TRANSCRIPTS TOOLS ====================2878 {2879 name: 'get_latest_earning_transcripts',2880 description: 'Get list of latest available earning call transcripts.',2881 input_schema: {2882 type: 'object',2883 properties: {},2884 required: [],2885 },2886 },2887 {2888 name: 'get_earning_call_transcript_dates',2889 description: 'Get available dates for earning call transcripts for a specific company.',2890 input_schema: {2891 type: 'object',2892 properties: {2893 symbol: {2894 type: 'string',2895 description: 'Stock ticker symbol',2896 },2897 },2898 required: ['symbol'],2899 },2900 },2901 {2902 name: 'get_fmp_articles',2903 description: 'Get latest articles from Financial Modeling Prep.',2904 input_schema: {2905 type: 'object',2906 properties: {2907 page: {2908 type: 'number',2909 description: 'Page number (default: 0)',2910 },2911 limit: {2912 type: 'number',2913 description: 'Results per page (default: 20)',2914 },2915 },2916 required: [],2917 },2918 },2919 {2920 name: 'get_general_news',2921 description: 'Get latest general financial news from various sources.',2922 input_schema: {2923 type: 'object',2924 properties: {2925 page: {2926 type: 'number',2927 description: 'Page number (default: 0)',2928 },2929 limit: {2930 type: 'number',2931 description: 'Results per page (default: 20)',2932 },2933 },2934 required: [],2935 },2936 },2937 {2938 name: 'get_press_releases_latest',2939 description: 'Get latest press releases from companies.',2940 input_schema: {2941 type: 'object',2942 properties: {2943 page: {2944 type: 'number',2945 description: 'Page number (default: 0)',2946 },2947 limit: {2948 type: 'number',2949 description: 'Results per page (default: 20)',2950 },2951 },2952 required: [],2953 },2954 },2955 {2956 name: 'get_stock_news_latest',2957 description: 'Get latest stock-specific news articles.',2958 input_schema: {2959 type: 'object',2960 properties: {2961 page: {2962 type: 'number',2963 description: 'Page number (default: 0)',2964 },2965 limit: {2966 type: 'number',2967 description: 'Results per page (default: 20)',2968 },2969 },2970 required: [],2971 },2972 },2973 {2974 name: 'get_crypto_news',2975 description: 'Get latest cryptocurrency news.',2976 input_schema: {2977 type: 'object',2978 properties: {2979 page: {2980 type: 'number',2981 description: 'Page number (default: 0)',2982 },2983 limit: {2984 type: 'number',2985 description: 'Results per page (default: 20)',2986 },2987 },2988 required: [],2989 },2990 },2991 {2992 name: 'get_forex_news',2993 description: 'Get latest forex market news.',2994 input_schema: {2995 type: 'object',2996 properties: {2997 page: {2998 type: 'number',2999 description: 'Page number (default: 0)',3000 },3001 limit: {3002 type: 'number',3003 description: 'Results per page (default: 20)',3004 },3005 },3006 required: [],3007 },3008 },3009 {3010 name: 'search_press_releases_new',3011 description: 'Search press releases by stock symbols.',3012 input_schema: {3013 type: 'object',3014 properties: {3015 symbols: {3016 type: 'string',3017 description: 'Comma-separated symbols',3018 },3019 },3020 required: ['symbols'],3021 },3022 },3023 {3024 name: 'search_stock_news',3025 description: 'Search stock news by symbols.',3026 input_schema: {3027 type: 'object',3028 properties: {3029 symbols: {3030 type: 'string',3031 description: 'Comma-separated symbols',3032 },3033 },3034 required: ['symbols'],3035 },3036 },3037 {3038 name: 'search_crypto_news',3039 description: 'Search crypto news by symbols.',3040 input_schema: {3041 type: 'object',3042 properties: {3043 symbols: {3044 type: 'string',3045 description: 'Crypto symbols',3046 },3047 },3048 required: ['symbols'],3049 },3050 },3051 {3052 name: 'search_forex_news',3053 description: 'Search forex news by currency pairs.',3054 input_schema: {3055 type: 'object',3056 properties: {3057 symbols: {3058 type: 'string',3059 description: 'Currency pairs',3060 },3061 },3062 required: ['symbols'],3063 },3064 },3065 // ==================== FORM 13F & INSTITUTIONAL OWNERSHIP ====================3066 {3067 name: 'get_institutional_ownership_filings',3068 description: 'Get latest Form 13F institutional ownership filings.',3069 input_schema: {3070 type: 'object',3071 properties: {3072 page: {3073 type: 'number',3074 description: 'Page number (default: 0)',3075 },3076 limit: {3077 type: 'number',3078 description: 'Results per page (default: 100)',3079 },3080 },3081 required: [],3082 },3083 },3084 {3085 name: 'extract_sec_filings',3086 description: 'Extract detailed data from SEC 13F filings by CIK and period.',3087 input_schema: {3088 type: 'object',3089 properties: {3090 cik: {3091 type: 'string',3092 description: 'SEC CIK number',3093 },3094 year: {3095 type: 'number',3096 description: 'Year',3097 },3098 quarter: {3099 type: 'number',3100 description: 'Quarter (1-4)',3101 },3102 },3103 required: ['cik', 'year', 'quarter'],3104 },3105 },3106 {3107 name: 'get_form_13f_filings_dates',3108 description: 'Get available Form 13F filing dates for an institutional holder.',3109 input_schema: {3110 type: 'object',3111 properties: {3112 cik: {3113 type: 'string',3114 description: 'SEC CIK number',3115 },3116 },3117 required: ['cik'],3118 },3119 },3120 {3121 name: 'get_filings_extract_with_analytics',3122 description: 'Get 13F filings with analytical insights for a specific stock.',3123 input_schema: {3124 type: 'object',3125 properties: {3126 symbol: {3127 type: 'string',3128 description: 'Stock ticker symbol',3129 },3130 year: {3131 type: 'number',3132 description: 'Year',3133 },3134 quarter: {3135 type: 'number',3136 description: 'Quarter (1-4)',3137 },3138 page: {3139 type: 'number',3140 description: 'Page number (default: 0)',3141 },3142 limit: {3143 type: 'number',3144 description: 'Results per page (default: 10)',3145 },3146 },3147 required: ['symbol', 'year', 'quarter'],3148 },3149 },3150 {3151 name: 'get_holder_performance_summary',3152 description: 'Get performance summary for institutional holders.',3153 input_schema: {3154 type: 'object',3155 properties: {3156 cik: {3157 type: 'string',3158 description: 'SEC CIK number',3159 },3160 page: {3161 type: 'number',3162 description: 'Page number (default: 0)',3163 },3164 },3165 required: ['cik'],3166 },3167 },3168 {3169 name: 'get_holders_industry_breakdown',3170 description: 'Get industry breakdown of institutional holder portfolios.',3171 input_schema: {3172 type: 'object',3173 properties: {3174 cik: {3175 type: 'string',3176 description: 'SEC CIK number',3177 },3178 year: {3179 type: 'number',3180 description: 'Year',3181 },3182 quarter: {3183 type: 'number',3184 description: 'Quarter (1-4)',3185 },3186 },3187 required: ['cik', 'year', 'quarter'],3188 },3189 },3190 {3191 name: 'get_positions_summary',3192 description: 'Get summary of institutional positions for a specific stock.',3193 input_schema: {3194 type: 'object',3195 properties: {3196 symbol: {3197 type: 'string',3198 description: 'Stock ticker symbol',3199 },3200 year: {3201 type: 'number',3202 description: 'Year',3203 },3204 quarter: {3205 type: 'number',3206 description: 'Quarter (1-4)',3207 },3208 },3209 required: ['symbol', 'year', 'quarter'],3210 },3211 },3212 {3213 name: 'get_industry_performance_summary',3214 description: 'Get performance summary by industry sector.',3215 input_schema: {3216 type: 'object',3217 properties: {3218 year: {3219 type: 'number',3220 description: 'Year',3221 },3222 quarter: {3223 type: 'number',3224 description: 'Quarter (1-4)',3225 },3226 },3227 required: ['year', 'quarter'],3228 },3229 },3230 // ==================== ANALYST RATINGS & ESTIMATES ====================3231 {3232 name: 'get_ratings_snapshot',3233 description: 'Get current analyst ratings and scores snapshot.',3234 input_schema: {3235 type: 'object',3236 properties: {3237 symbol: {3238 type: 'string',3239 description: 'Stock ticker symbol',3240 },3241 },3242 required: ['symbol'],3243 },3244 },3245 {3246 name: 'get_historical_ratings',3247 description: 'Get historical analyst ratings and rating changes.',3248 input_schema: {3249 type: 'object',3250 properties: {3251 symbol: {3252 type: 'string',3253 description: 'Stock ticker symbol',3254 },3255 limit: {3256 type: 'number',3257 description: 'Number of records (default: 100)',3258 },3259 },3260 required: ['symbol'],3261 },3262 },3263 {3264 name: 'get_price_target_consensus',3265 description: 'Get consensus price target (high, low, median, consensus).',3266 input_schema: {3267 type: 'object',3268 properties: {3269 symbol: {3270 type: 'string',3271 description: 'Stock ticker symbol',3272 },3273 },3274 required: ['symbol'],3275 },3276 },3277 {3278 name: 'get_grades',3279 description: 'Get analyst grades (Buy, Hold, Sell ratings) for a stock.',3280 input_schema: {3281 type: 'object',3282 properties: {3283 symbol: {3284 type: 'string',3285 description: 'Stock ticker symbol',3286 },3287 limit: {3288 type: 'number',3289 description: 'Number of grades (default: 100)',3290 },3291 },3292 required: ['symbol'],3293 },3294 },3295 {3296 name: 'get_historical_grades',3297 description: 'Get historical analyst grade changes.',3298 input_schema: {3299 type: 'object',3300 properties: {3301 symbol: {3302 type: 'string',3303 description: 'Stock ticker symbol',3304 },3305 limit: {3306 type: 'number',3307 description: 'Number of records (default: 100)',3308 },3309 },3310 required: ['symbol'],3311 },3312 },3313 {3314 name: 'get_grades_summary',3315 description: 'Get summary of analyst grades (count by rating type).',3316 input_schema: {3317 type: 'object',3318 properties: {3319 symbol: {3320 type: 'string',3321 description: 'Stock ticker symbol',3322 },3323 },3324 required: ['symbol'],3325 },3326 },3327 // ==================== MARKET PERFORMANCE & SECTORS ====================3328 {3329 name: 'get_market_sector_performance_snapshot',3330 description: 'Get current performance snapshot across all market sectors.',3331 input_schema: {3332 type: 'object',3333 properties: {3334 date: {3335 type: 'string',3336 description: 'Date (YYYY-MM-DD) - optional',3337 },3338 },3339 required: [],3340 },3341 },3342 {3343 name: 'get_industry_performance_snapshot',3344 description: 'Get current performance snapshot across all industries.',3345 input_schema: {3346 type: 'object',3347 properties: {3348 date: {3349 type: 'string',3350 description: 'Date (YYYY-MM-DD) - optional',3351 },3352 },3353 required: [],3354 },3355 },3356 {3357 name: 'get_historical_sector_performance',3358 description: 'Get historical performance data for a sector.',3359 input_schema: {3360 type: 'object',3361 properties: {3362 sector: {3363 type: 'string',3364 description: 'Sector name',3365 },3366 limit: {3367 type: 'number',3368 description: 'Number of records (default: 100)',3369 },3370 },3371 required: ['sector'],3372 },3373 },3374 {3375 name: 'get_historical_industry_performance',3376 description: 'Get historical performance data for an industry.',3377 input_schema: {3378 type: 'object',3379 properties: {3380 industry: {3381 type: 'string',3382 description: 'Industry name',3383 },3384 limit: {3385 type: 'number',3386 description: 'Number of records (default: 100)',3387 },3388 },3389 required: ['industry'],3390 },3391 },3392 {3393 name: 'get_sector_pe_snapshot',3394 description: 'Get P/E ratio snapshot for all sectors.',3395 input_schema: {3396 type: 'object',3397 properties: {3398 date: {3399 type: 'string',3400 description: 'Date (YYYY-MM-DD) - optional',3401 },3402 },3403 required: [],3404 },3405 },3406 {3407 name: 'get_industry_pe_snapshot',3408 description: 'Get P/E ratio snapshot for all industries.',3409 input_schema: {3410 type: 'object',3411 properties: {3412 date: {3413 type: 'string',3414 description: 'Date (YYYY-MM-DD) - optional',3415 },3416 },3417 required: [],3418 },3419 },3420 {3421 name: 'get_historical_sector_pe',3422 description: 'Get historical P/E ratios for a sector.',3423 input_schema: {3424 type: 'object',3425 properties: {3426 sector: {3427 type: 'string',3428 description: 'Sector name',3429 },3430 limit: {3431 type: 'number',3432 description: 'Number of records (default: 100)',3433 },3434 },3435 required: ['sector'],3436 },3437 },3438 {3439 name: 'get_historical_industry_pe',3440 description: 'Get historical P/E ratios for an industry.',3441 input_schema: {3442 type: 'object',3443 properties: {3444 industry: {3445 type: 'string',3446 description: 'Industry name',3447 },3448 limit: {3449 type: 'number',3450 description: 'Number of records (default: 100)',3451 },3452 },3453 required: ['industry'],3454 },3455 },3456 // ==================== ADDITIONAL TECHNICAL INDICATORS ====================3457 {3458 name: 'get_wma',3459 description: 'Get Weighted Moving Average (WMA) - weighted average giving more importance to recent prices.',3460 input_schema: {3461 type: 'object',3462 properties: {3463 symbol: {3464 type: 'string',3465 description: 'Stock ticker symbol',3466 },3467 periodLength: {3468 type: 'number',3469 description: 'Period length (default: 10)',3470 },3471 timeframe: {3472 type: 'string',3473 description: 'Timeframe: "1day", "1week", "1month" (default: 1day)',3474 },3475 },3476 required: ['symbol'],3477 },3478 },3479 {3480 name: 'get_dema',3481 description: 'Get Double Exponential Moving Average (DEMA) - reduces lag of traditional moving averages.',3482 input_schema: {3483 type: 'object',3484 properties: {3485 symbol: {3486 type: 'string',3487 description: 'Stock ticker symbol',3488 },3489 periodLength: {3490 type: 'number',3491 description: 'Period length (default: 10)',3492 },3493 timeframe: {3494 type: 'string',3495 description: 'Timeframe: "1day", "1week", "1month" (default: 1day)',3496 },3497 },3498 required: ['symbol'],3499 },3500 },3501 {3502 name: 'get_tema',3503 description: 'Get Triple Exponential Moving Average (TEMA) - minimizes lag even further than DEMA.',3504 input_schema: {3505 type: 'object',3506 properties: {3507 symbol: {3508 type: 'string',3509 description: 'Stock ticker symbol',3510 },3511 periodLength: {3512 type: 'number',3513 description: 'Period length (default: 10)',3514 },3515 timeframe: {3516 type: 'string',3517 description: 'Timeframe: "1day", "1week", "1month" (default: 1day)',3518 },3519 },3520 required: ['symbol'],3521 },3522 },3523 {3524 name: 'get_standard_deviation',3525 description: 'Get Standard Deviation - measures volatility and price dispersion.',3526 input_schema: {3527 type: 'object',3528 properties: {3529 symbol: {3530 type: 'string',3531 description: 'Stock ticker symbol',3532 },3533 periodLength: {3534 type: 'number',3535 description: 'Period length (default: 10)',3536 },3537 timeframe: {3538 type: 'string',3539 description: 'Timeframe: "1day", "1week", "1month" (default: 1day)',3540 },3541 },3542 required: ['symbol'],3543 },3544 },3545 // ==================== ETF & MUTUAL FUNDS ====================3546 {3547 name: 'get_etf_asset_exposure',3548 description: 'Get which ETFs hold a specific stock and their exposure.',3549 input_schema: {3550 type: 'object',3551 properties: {3552 symbol: {3553 type: 'string',3554 description: 'Stock ticker symbol',3555 },3556 },3557 required: ['symbol'],3558 },3559 },3560 {3561 name: 'get_mutual_fund_disclosure_latest',3562 description: 'Get latest mutual fund disclosure filings.',3563 input_schema: {3564 type: 'object',3565 properties: {3566 symbol: {3567 type: 'string',3568 description: 'Fund symbol',3569 },3570 },3571 required: ['symbol'],3572 },3573 },3574 {3575 name: 'get_mutual_fund_disclosure',3576 description: 'Get specific mutual fund disclosure by period.',3577 input_schema: {3578 type: 'object',3579 properties: {3580 symbol: {3581 type: 'string',3582 description: 'Fund symbol',3583 },3584 year: {3585 type: 'number',3586 description: 'Year',3587 },3588 quarter: {3589 type: 'number',3590 description: 'Quarter (1-4)',3591 },3592 },3593 required: ['symbol', 'year', 'quarter'],3594 },3595 },3596 {3597 name: 'get_mutual_fund_disclosure_search',3598 description: 'Search mutual fund disclosures by name.',3599 input_schema: {3600 type: 'object',3601 properties: {3602 name: {3603 type: 'string',3604 description: 'Fund name to search',3605 },3606 },3607 required: ['name'],3608 },3609 },3610 {3611 name: 'get_mutual_fund_disclosure_dates',3612 description: 'Get available disclosure dates for a mutual fund.',3613 input_schema: {3614 type: 'object',3615 properties: {3616 symbol: {3617 type: 'string',3618 description: 'Fund symbol',3619 },3620 },3621 required: ['symbol'],3622 },3623 },3624 // ==================== SEC FILINGS - ADVANCED ====================3625 {3626 name: 'get_latest_8k_sec_filings',3627 description: 'Get latest 8-K SEC filings (material corporate events).',3628 input_schema: {3629 type: 'object',3630 properties: {3631 from: {3632 type: 'string',3633 description: 'Start date (YYYY-MM-DD)',3634 },3635 to: {3636 type: 'string',3637 description: 'End date (YYYY-MM-DD)',3638 },3639 page: {3640 type: 'number',3641 description: 'Page number (default: 0)',3642 },3643 limit: {3644 type: 'number',3645 description: 'Results per page (default: 100)',3646 },3647 },3648 required: [],3649 },3650 },3651 {3652 name: 'get_latest_sec_filings',3653 description: 'Get latest SEC financial filings (10-K, 10-Q, etc.).',3654 input_schema: {3655 type: 'object',3656 properties: {3657 from: {3658 type: 'string',3659 description: 'Start date (YYYY-MM-DD)',3660 },3661 to: {3662 type: 'string',3663 description: 'End date (YYYY-MM-DD)',3664 },3665 page: {3666 type: 'number',3667 description: 'Page number (default: 0)',3668 },3669 limit: {3670 type: 'number',3671 description: 'Results per page (default: 100)',3672 },3673 },3674 required: [],3675 },3676 },3677 {3678 name: 'get_sec_filings_by_form_type',3679 description: 'Search SEC filings by form type (10-K, 10-Q, 8-K, etc.).',3680 input_schema: {3681 type: 'object',3682 properties: {3683 formType: {3684 type: 'string',3685 description: 'Form type (e.g., "10-K", "10-Q", "8-K")',3686 },3687 from: {3688 type: 'string',3689 description: 'Start date (YYYY-MM-DD)',3690 },3691 to: {3692 type: 'string',3693 description: 'End date (YYYY-MM-DD)',3694 },3695 page: {3696 type: 'number',3697 description: 'Page number (default: 0)',3698 },3699 limit: {3700 type: 'number',3701 description: 'Results per page (default: 100)',3702 },3703 },3704 required: ['formType'],3705 },3706 },3707 {3708 name: 'get_sec_filings_by_symbol',3709 description: 'Get all SEC filings for a specific company.',3710 input_schema: {3711 type: 'object',3712 properties: {3713 symbol: {3714 type: 'string',3715 description: 'Stock ticker symbol',3716 },3717 from: {3718 type: 'string',3719 description: 'Start date (YYYY-MM-DD)',3720 },3721 to: {3722 type: 'string',3723 description: 'End date (YYYY-MM-DD)',3724 },3725 page: {3726 type: 'number',3727 description: 'Page number (default: 0)',3728 },3729 limit: {3730 type: 'number',3731 description: 'Results per page (default: 100)',3732 },3733 },3734 required: ['symbol'],3735 },3736 },3737 {3738 name: 'get_sec_filings_by_cik',3739 description: 'Get SEC filings by CIK number.',3740 input_schema: {3741 type: 'object',3742 properties: {3743 cik: {3744 type: 'string',3745 description: 'SEC CIK number',3746 },3747 from: {3748 type: 'string',3749 description: 'Start date (YYYY-MM-DD)',3750 },3751 to: {3752 type: 'string',3753 description: 'End date (YYYY-MM-DD)',3754 },3755 page: {3756 type: 'number',3757 description: 'Page number (default: 0)',3758 },3759 limit: {3760 type: 'number',3761 description: 'Results per page (default: 100)',3762 },3763 },3764 required: ['cik'],3765 },3766 },3767 {3768 name: 'get_sec_filings_by_name',3769 description: 'Search companies by name for SEC filings.',3770 input_schema: {3771 type: 'object',3772 properties: {3773 company: {3774 type: 'string',3775 description: 'Company name',3776 },3777 },3778 required: ['company'],3779 },3780 },3781 {3782 name: 'get_sec_filings_company_search_by_symbol',3783 description: 'Find company SEC filing information by ticker symbol.',3784 input_schema: {3785 type: 'object',3786 properties: {3787 symbol: {3788 type: 'string',3789 description: 'Stock ticker symbol',3790 },3791 },3792 required: ['symbol'],3793 },3794 },3795 {3796 name: 'get_sec_filings_company_search_by_cik',3797 description: 'Find company information by CIK for SEC filings.',3798 input_schema: {3799 type: 'object',3800 properties: {3801 cik: {3802 type: 'string',3803 description: 'SEC CIK number',3804 },3805 },3806 required: ['cik'],3807 },3808 },3809 {3810 name: 'get_sec_company_full_profile',3811 description: 'Get comprehensive SEC company profile with all details.',3812 input_schema: {3813 type: 'object',3814 properties: {3815 symbol: {3816 type: 'string',3817 description: 'Stock ticker symbol',3818 },3819 },3820 required: ['symbol'],3821 },3822 },3823 {3824 name: 'get_industry_classification_list',3825 description: 'Get list of SIC (Standard Industrial Classification) codes.',3826 input_schema: {3827 type: 'object',3828 properties: {},3829 required: [],3830 },3831 },3832 {3833 name: 'search_industry_classification',3834 description: 'Search industry classifications by title or SIC code.',3835 input_schema: {3836 type: 'object',3837 properties: {3838 industryTitle: {3839 type: 'string',3840 description: 'Industry title to search',3841 },3842 sicCode: {3843 type: 'string',3844 description: 'SIC code to search',3845 },3846 },3847 required: [],3848 },3849 },3850 {3851 name: 'get_all_industry_classification',3852 description: 'Get complete industry classification data.',3853 input_schema: {3854 type: 'object',3855 properties: {},3856 required: [],3857 },3858 },3859 // ==================== INSIDER TRADES - ADVANCED ====================3860 {3861 name: 'get_latest_insider_trading',3862 description: 'Get latest insider trading transactions across all companies.',3863 input_schema: {3864 type: 'object',3865 properties: {3866 page: {3867 type: 'number',3868 description: 'Page number (default: 0)',3869 },3870 limit: {3871 type: 'number',3872 description: 'Results per page (default: 100)',3873 },3874 },3875 required: [],3876 },3877 },3878 {3879 name: 'search_insider_trades',3880 description: 'Search insider trades by symbol, company name, or reporting name.',3881 input_schema: {3882 type: 'object',3883 properties: {3884 symbol: {3885 type: 'string',3886 description: 'Stock ticker symbol',3887 },3888 companyName: {3889 type: 'string',3890 description: 'Company name',3891 },3892 reportingName: {3893 type: 'string',3894 description: 'Insider name',3895 },3896 page: {3897 type: 'number',3898 description: 'Page number (default: 0)',3899 },3900 limit: {3901 type: 'number',3902 description: 'Results per page (default: 100)',3903 },3904 },3905 required: [],3906 },3907 },3908 {3909 name: 'search_insider_trades_by_name',3910 description: 'Search insider trades by specific reporting person name.',3911 input_schema: {3912 type: 'object',3913 properties: {3914 name: {3915 type: 'string',3916 description: 'Reporting person name',3917 },3918 },3919 required: ['name'],3920 },3921 },3922 {3923 name: 'get_all_insider_transaction_types',3924 description: 'Get list of all insider transaction types with descriptions.',3925 input_schema: {3926 type: 'object',3927 properties: {},3928 required: [],3929 },3930 },3931 {3932 name: 'get_acquisition_of_beneficial_ownership',3933 description: 'Get beneficial ownership acquisitions and changes for a stock.',3934 input_schema: {3935 type: 'object',3936 properties: {3937 symbol: {3938 type: 'string',3939 description: 'Stock ticker symbol',3940 },3941 },3942 required: ['symbol'],3943 },3944 },3945 // ==================== INDEXES ====================3946 {3947 name: 'get_index_list',3948 description: 'Get list of all stock market indexes.',3949 input_schema: {3950 type: 'object',3951 properties: {},3952 required: [],3953 },3954 },3955 {3956 name: 'get_sp500_constituent',3957 description: 'Get current S&P 500 constituent companies.',3958 input_schema: {3959 type: 'object',3960 properties: {},3961 required: [],3962 },3963 },3964 {3965 name: 'get_nasdaq_constituent',3966 description: 'Get current NASDAQ composite constituent companies.',3967 input_schema: {3968 type: 'object',3969 properties: {},3970 required: [],3971 },3972 },3973 {3974 name: 'get_dow_jones_constituent',3975 description: 'Get current Dow Jones Industrial Average constituent companies.',3976 input_schema: {3977 type: 'object',3978 properties: {},3979 required: [],3980 },3981 },3982 {3983 name: 'get_historical_sp500_constituent',3984 description: 'Get historical S&P 500 constituent changes (additions/removals).',3985 input_schema: {3986 type: 'object',3987 properties: {},3988 required: [],3989 },3990 },3991 {3992 name: 'get_historical_nasdaq_constituent',3993 description: 'Get historical NASDAQ constituent changes.',3994 input_schema: {3995 type: 'object',3996 properties: {},3997 required: [],3998 },3999 },4000 {4001 name: 'get_historical_dow_jones_constituent',4002 description: 'Get historical Dow Jones constituent changes.',4003 input_schema: {4004 type: 'object',4005 properties: {},4006 required: [],4007 },4008 },4009 {4010 name: 'get_exchange_market_hours',4011 description: 'Get trading hours for a specific exchange.',4012 input_schema: {4013 type: 'object',4014 properties: {4015 exchange: {4016 type: 'string',4017 description: 'Exchange name (e.g., "NASDAQ", "NYSE")',4018 },4019 },4020 required: ['exchange'],4021 },4022 },4023 {4024 name: 'get_holidays_by_exchange',4025 description: 'Get holiday schedule for an exchange.',4026 input_schema: {4027 type: 'object',4028 properties: {4029 exchange: {4030 type: 'string',4031 description: 'Exchange name',4032 },4033 },4034 required: ['exchange'],4035 },4036 },4037 {4038 name: 'get_all_exchange_market_hours',4039 description: 'Get trading hours for all exchanges.',4040 input_schema: {4041 type: 'object',4042 properties: {},4043 required: [],4044 },4045 },4046 // ==================== COMMODITIES ====================4047 {4048 name: 'get_commodities_list',4049 description: 'Get list of all available commodities.',4050 input_schema: {4051 type: 'object',4052 properties: {},4053 required: [],4054 },4055 },4056 // ==================== DCF VALUATION ====================4057 {4058 name: 'get_dcf_valuation',4059 description: 'Get Discounted Cash Flow (DCF) valuation for a stock.',4060 input_schema: {4061 type: 'object',4062 properties: {4063 symbol: {4064 type: 'string',4065 description: 'Stock ticker symbol',4066 },4067 },4068 required: ['symbol'],4069 },4070 },4071 {4072 name: 'get_levered_dcf',4073 description: 'Get Levered DCF valuation (accounts for debt).',4074 input_schema: {4075 type: 'object',4076 properties: {4077 symbol: {4078 type: 'string',4079 description: 'Stock ticker symbol',4080 },4081 },4082 required: ['symbol'],4083 },4084 },4085 {4086 name: 'get_custom_dcf',4087 description: 'Get custom DCF valuation with user-defined parameters.',4088 input_schema: {4089 type: 'object',4090 properties: {4091 symbol: {4092 type: 'string',4093 description: 'Stock ticker symbol',4094 },4095 years: {4096 type: 'number',4097 description: 'Projection years',4098 },4099 growthRate: {4100 type: 'number',4101 description: 'Growth rate',4102 },4103 discountRate: {4104 type: 'number',4105 description: 'Discount rate',4106 },4107 },4108 required: ['symbol'],4109 },4110 },4111 {4112 name: 'get_custom_levered_dcf',4113 description: 'Get custom levered DCF with user-defined parameters.',4114 input_schema: {4115 type: 'object',4116 properties: {4117 symbol: {4118 type: 'string',4119 description: 'Stock ticker symbol',4120 },4121 years: {4122 type: 'number',4123 description: 'Projection years',4124 },4125 growthRate: {4126 type: 'number',4127 description: 'Growth rate',4128 },4129 discountRate: {4130 type: 'number',4131 description: 'Discount rate',4132 },4133 },4134 required: ['symbol'],4135 },4136 },4137 // ==================== FOREX ====================4138 {4139 name: 'get_forex_currency_pairs',4140 description: 'Get list of all available forex currency pairs.',4141 input_schema: {4142 type: 'object',4143 properties: {},4144 required: [],4145 },4146 },4147 // ==================== SENATE & HOUSE TRADING ====================4148 {4149 name: 'get_latest_senate_disclosures',4150 description: 'Get latest US Senate stock trading disclosures.',4151 input_schema: {4152 type: 'object',4153 properties: {4154 page: {4155 type: 'number',4156 description: 'Page number (default: 0)',4157 },4158 limit: {4159 type: 'number',4160 description: 'Results per page (default: 100)',4161 },4162 },4163 required: [],4164 },4165 },4166 {4167 name: 'get_latest_house_disclosures',4168 description: 'Get latest US House of Representatives stock trading disclosures.',4169 input_schema: {4170 type: 'object',4171 properties: {4172 page: {4173 type: 'number',4174 description: 'Page number (default: 0)',4175 },4176 limit: {4177 type: 'number',4178 description: 'Results per page (default: 100)',4179 },4180 },4181 required: [],4182 },4183 },4184 {4185 name: 'get_senate_trades_symbol',4186 description: 'Get Senate trading activity for a specific stock.',4187 input_schema: {4188 type: 'object',4189 properties: {4190 symbol: {4191 type: 'string',4192 description: 'Stock ticker symbol',4193 },4194 },4195 required: ['symbol'],4196 },4197 },4198 {4199 name: 'get_senate_trades_by_name',4200 description: 'Get Senate trading activity by senator name.',4201 input_schema: {4202 type: 'object',4203 properties: {4204 name: {4205 type: 'string',4206 description: 'Senator name',4207 },4208 },4209 required: ['name'],4210 },4211 },4212 {4213 name: 'get_house_trades_symbol',4214 description: 'Get House trading activity for a specific stock.',4215 input_schema: {4216 type: 'object',4217 properties: {4218 symbol: {4219 type: 'string',4220 description: 'Stock ticker symbol',4221 },4222 },4223 required: ['symbol'],4224 },4225 },4226 {4227 name: 'get_house_trades_by_name',4228 description: 'Get House trading activity by representative name.',4229 input_schema: {4230 type: 'object',4231 properties: {4232 name: {4233 type: 'string',4234 description: 'Representative name',4235 },4236 },4237 required: ['name'],4238 },4239 },4240 // ==================== ESG ====================4241 {4242 name: 'get_esg_disclosures',4243 description: 'Get ESG disclosures and detailed ESG data.',4244 input_schema: {4245 type: 'object',4246 properties: {4247 symbol: {4248 type: 'string',4249 description: 'Stock ticker symbol',4250 },4251 },4252 required: ['symbol'],4253 },4254 },4255 {4256 name: 'get_esg_ratings',4257 description: 'Get ESG ratings (Environmental, Social, Governance scores).',4258 input_schema: {4259 type: 'object',4260 properties: {4261 symbol: {4262 type: 'string',4263 description: 'Stock ticker symbol',4264 },4265 },4266 required: ['symbol'],4267 },4268 },4269 {4270 name: 'get_esg_benchmark',4271 description: 'Get ESG benchmark data for comparison.',4272 input_schema: {4273 type: 'object',4274 properties: {4275 year: {4276 type: 'number',4277 description: 'Year for benchmark',4278 },4279 },4280 required: [],4281 },4282 },4283 // ==================== COT ====================4284 {4285 name: 'get_cot_list',4286 description: 'Get list of available Commitment of Traders (COT) reports.',4287 input_schema: {4288 type: 'object',4289 properties: {},4290 required: [],4291 },4292 },4293 // ==================== CROWDFUNDING & EQUITY OFFERINGS ====================4294 {4295 name: 'get_latest_crowdfunding_campaigns',4296 description: 'Get latest crowdfunding campaigns and offerings.',4297 input_schema: {4298 type: 'object',4299 properties: {4300 page: {4301 type: 'number',4302 description: 'Page number (default: 0)',4303 },4304 limit: {4305 type: 'number',4306 description: 'Results per page (default: 100)',4307 },4308 },4309 required: [],4310 },4311 },4312 {4313 name: 'search_crowdfunding_campaigns',4314 description: 'Search crowdfunding campaigns by name.',4315 input_schema: {4316 type: 'object',4317 properties: {4318 name: {4319 type: 'string',4320 description: 'Campaign name to search',4321 },4322 },4323 required: ['name'],4324 },4325 },4326 {4327 name: 'get_crowdfunding_by_cik',4328 description: 'Get crowdfunding campaigns by company CIK.',4329 input_schema: {4330 type: 'object',4331 properties: {4332 cik: {4333 type: 'string',4334 description: 'SEC CIK number',4335 },4336 },4337 required: ['cik'],4338 },4339 },4340 {4341 name: 'get_equity_offering_updates',4342 description: 'Get latest equity offering updates.',4343 input_schema: {4344 type: 'object',4345 properties: {4346 page: {4347 type: 'number',4348 description: 'Page number (default: 0)',4349 },4350 limit: {4351 type: 'number',4352 description: 'Results per page (default: 10)',4353 },4354 },4355 required: [],4356 },4357 },4358 {4359 name: 'search_equity_offerings',4360 description: 'Search equity offerings by company name.',4361 input_schema: {4362 type: 'object',4363 properties: {4364 name: {4365 type: 'string',4366 description: 'Company name',4367 },4368 },4369 required: ['name'],4370 },4371 },4372 {4373 name: 'get_company_equity_offerings_by_cik',4374 description: 'Get equity offerings by company CIK.',4375 input_schema: {4376 type: 'object',4377 properties: {4378 cik: {4379 type: 'string',4380 description: 'SEC CIK number',4381 },4382 },4383 required: ['cik'],4384 },4385 },4386 // ==================== BULK APIs (for large-scale data) ====================4387 {4388 name: 'get_gainers',4389 description: 'Get biggest stock price gainers of the day.',4390 input_schema: {4391 type: 'object',4392 properties: {},4393 required: [],4394 },4395 },4396 {4397 name: 'get_losers',4398 description: 'Get biggest stock price losers of the day.',4399 input_schema: {4400 type: 'object',4401 properties: {},4402 required: [],4403 },4404 },4405 {4406 name: 'get_actives',4407 description: 'Get most actively traded stocks by volume.',4408 input_schema: {4409 type: 'object',4410 properties: {},4411 required: [],4412 },4413 },4414 {4415 name: 'get_eodhd_historical',4416 description: 'Gets end-of-day historical OHLCV prices (with adjusted close) from EODHD for stocks, ETFs, indices, forex and crypto on 70+ exchanges worldwide. Complements FMP with much broader international coverage. Symbols use EODHD format TICKER.EXCHANGE (e.g., "AAPL.US", "AIR.PA" for Airbus on Euronext Paris, "BMW.XETRA" for BMW on Xetra, "EURUSD.FOREX" for forex, "BTC-USD.CC" for Bitcoin, "GSPC.INDX" for S&P 500 index). Bare tickers default to .US.',4417 input_schema: {4418 type: 'object',4419 properties: {4420 symbol: {4421 type: 'string',4422 description: 'Ticker in EODHD format TICKER.EXCHANGE (e.g., "AAPL.US", "AIR.PA", "BMW.XETRA", "BTC-USD.CC"). Bare tickers like "AAPL" default to the US exchange.',4423 },4424 from: {4425 type: 'string',4426 description: 'Start date in YYYY-MM-DD format (optional)',4427 },4428 to: {4429 type: 'string',4430 description: 'End date in YYYY-MM-DD format (optional)',4431 },4432 period: {4433 type: 'string',4434 enum: ['d', 'w', 'm'],4435 description: 'Bar period: "d" daily (default), "w" weekly, "m" monthly',4436 },4437 },4438 required: ['symbol'],4439 },4440 },4441 {4442 name: 'get_eodhd_quote',4443 description: 'Gets a live (delayed ~15min) quote from EODHD for one or more instruments: current price, open/high/low, volume, previous close and change. Works for international stocks, indices, forex and crypto using TICKER.EXCHANGE format.',4444 input_schema: {4445 type: 'object',4446 properties: {4447 symbol: {4448 type: 'string',4449 description: 'Primary ticker in EODHD format (e.g., "AAPL.US", "AIR.PA", "EURUSD.FOREX")',4450 },4451 additional_symbols: {4452 type: 'array',4453 items: { type: 'string' },4454 description: 'Optional list of extra tickers to quote in the same call',4455 },4456 },4457 required: ['symbol'],4458 },4459 },4460 {4461 name: 'get_eodhd_intraday',4462 description: 'Gets intraday historical OHLCV bars from EODHD at 1-minute, 5-minute or 1-hour resolution. Useful for fine-grained price analysis, intraday volatility and international instruments not covered by FMP.',4463 input_schema: {4464 type: 'object',4465 properties: {4466 symbol: {4467 type: 'string',4468 description: 'Ticker in EODHD format (e.g., "AAPL.US")',4469 },4470 interval: {4471 type: 'string',4472 enum: ['1m', '5m', '1h'],4473 description: 'Bar interval: "1m", "5m" (default) or "1h"',4474 },4475 from: {4476 type: 'number',4477 description: 'Start as Unix timestamp in seconds (optional)',4478 },4479 to: {4480 type: 'number',4481 description: 'End as Unix timestamp in seconds (optional)',4482 },4483 },4484 required: ['symbol'],4485 },4486 },4487 {4488 name: 'get_eodhd_fundamentals',4489 description: 'Gets company/ETF fundamentals from EODHD: general info, highlights (market cap, P/E, EPS, margins), valuation ratios, shares statistics, technicals and dividend/split info. Covers international companies beyond US markets. Use the filter parameter for specific sections or deep paths (e.g., "Financials::Balance_Sheet::yearly", "Earnings", "ETF_Data"); pass "full" for the complete payload (large).',4490 input_schema: {4491 type: 'object',4492 properties: {4493 symbol: {4494 type: 'string',4495 description: 'Ticker in EODHD format (e.g., "AAPL.US", "AIR.PA")',4496 },4497 filter: {4498 type: 'string',4499 description: 'Comma-separated sections or deep path (e.g., "General,Highlights,Valuation", "Financials::Income_Statement::yearly", "Earnings"). Default: General,Highlights,Valuation,SharesStats,Technicals,SplitsDividends. Pass "full" for everything.',4500 },4501 },4502 required: ['symbol'],4503 },4504 },4505 {4506 name: 'get_eodhd_dividends',4507 description: 'Gets historical dividend payments from EODHD for an instrument, including ex-date, record/payment dates, amount and currency. Good international coverage.',4508 input_schema: {4509 type: 'object',4510 properties: {4511 symbol: {4512 type: 'string',4513 description: 'Ticker in EODHD format (e.g., "AAPL.US")',4514 },4515 from: {4516 type: 'string',4517 description: 'Start date YYYY-MM-DD (optional)',4518 },4519 to: {4520 type: 'string',4521 description: 'End date YYYY-MM-DD (optional)',4522 },4523 },4524 required: ['symbol'],4525 },4526 },4527 {4528 name: 'get_eodhd_splits',4529 description: 'Gets historical stock splits from EODHD for an instrument (date and split ratio like "4.000000/1.000000").',4530 input_schema: {4531 type: 'object',4532 properties: {4533 symbol: {4534 type: 'string',4535 description: 'Ticker in EODHD format (e.g., "AAPL.US")',4536 },4537 from: {4538 type: 'string',4539 description: 'Start date YYYY-MM-DD (optional)',4540 },4541 to: {4542 type: 'string',4543 description: 'End date YYYY-MM-DD (optional)',4544 },4545 },4546 required: ['symbol'],4547 },4548 },4549 {4550 name: 'search_eodhd',4551 description: 'Searches stocks, ETFs, funds, indices and crypto by ticker or company name across all exchanges covered by EODHD (70+ worldwide). Returns the EODHD symbol (Code + Exchange), name, type, country and currency. Use this to find the correct TICKER.EXCHANGE symbol for international instruments before calling other EODHD tools.',4552 input_schema: {4553 type: 'object',4554 properties: {4555 query: {4556 type: 'string',4557 description: 'Ticker or company name to search for (e.g., "Airbus", "Toyota", "LVMH")',4558 },4559 limit: {4560 type: 'number',4561 description: 'Maximum number of results (default 15)',4562 },4563 },4564 required: ['query'],4565 },4566 },4567 {4568 name: 'get_eodhd_news',4569 description: 'Gets financial news from EODHD for a ticker or a topic tag, with sentiment scores per article. Provide at least a symbol or a tag.',4570 input_schema: {4571 type: 'object',4572 properties: {4573 symbol: {4574 type: 'string',4575 description: 'Ticker in EODHD format (e.g., "AAPL.US"). Optional if tag is provided.',4576 },4577 tag: {4578 type: 'string',4579 description: 'Topic tag (e.g., "mergers and acquisitions", "earnings", "interest rates"). Optional if symbol is provided.',4580 },4581 limit: {4582 type: 'number',4583 description: 'Number of articles to return (default 10)',4584 },4585 from: {4586 type: 'string',4587 description: 'Start date YYYY-MM-DD (optional)',4588 },4589 to: {4590 type: 'string',4591 description: 'End date YYYY-MM-DD (optional)',4592 },4593 },4594 required: [],4595 },4596 },4597];45984599export { AVAILABLE_TOOLS };4600