Finance Toolkit
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FINANCIAL_MODELING_PREP_API_KEY | Yes | Your API key from FinancialModelingPrep. Required to access financial data. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| efficiencyA | Pre-computed efficiency ratios (asset turnover, inventory turnover, days sales outstanding, days payable outstanding, cash conversion cycle). Requires tickers='AAPL' — use comma-separated values for multiple tickers. Use instead of raw financial statements. Supports quarterly=true and start_date/end_date. |
| liquidityB | Pre-computed liquidity ratios (current ratio, quick ratio, cash ratio, working capital). Requires tickers='AAPL' — use comma-separated values for multiple tickers. Use instead of raw financial statements. Supports quarterly=true and start_date/end_date. |
| profitabilityA | Pre-computed profitability ratios (gross margin, operating margin, net margin, ROE, ROA, ROIC, ROCE). Requires tickers='AAPL' — use comma-separated values for multiple tickers. Use instead of raw financial statements. Supports quarterly=true and start_date/end_date. |
| solvencyB | Pre-computed solvency ratios (debt-to-equity, interest coverage, debt-to-assets, net debt to EBITDA). Requires tickers='AAPL' — use comma-separated values for multiple tickers. Use instead of raw financial statements. Supports quarterly=true and start_date/end_date. |
| valuationA | Pre-computed valuation ratios (P/E, EPS, EV/EBITDA, EV/EBIT, P/B, P/S, PEG, dividend yield, FCF yield, market cap, forward P/E, forward PEG). Requires tickers='AAPL' — use comma-separated values for multiple tickers. Use instead of raw financial statements. Supports quarterly=true and start_date/end_date. get_forward_price_earnings_ratio and get_forward_price_earnings_growth_ratio additionally require a Premium FMP subscription and are fetched on first use only. |
| breadthA | Market breadth technical indicators (McClellan Oscillator, OBV, Advance/Decline Line, Chaikin, TRIN, new highs and lows). Applied to price data automatically — no need to fetch prices first. TRIN treats the given tickers as one market, so every column holds the same value; pass the market's constituents for a meaningful figure. Each indicator needs its window of history before it produces values, so the first periods after start_date can be empty and quarterly or yearly periods with long windows can be empty on short histories; start earlier to warm up. Requires tickers='AAPL' — use comma-separated values for multiple tickers. get_market_breadth measures the breadth of all tickers together (advancers and decliners, the advance-decline line, the McClellan oscillator and summation index, the share above the 50 and 200-period averages and new highs and lows), meant for many tickers such as an index's constituents (discovery get_index_constituents). |
| momentumA | Momentum technical indicators (RSI, MACD, Stochastic Oscillator, Williams %R, Aroon, ADX, CCI, MFI, rate of change, Ichimoku Cloud, awesome, ultimate and Chande momentum oscillators, vortex, Know Sure Thing and more). Applied to price data automatically — no need to fetch prices first. Each indicator needs its window of history before it produces values, so the first periods after start_date can be empty and quarterly or yearly periods with long windows can be empty on short histories; start earlier to warm up. Requires tickers='AAPL' — use comma-separated values for multiple tickers. get_relative_strength gives the price relative to the benchmark, the Mansfield relative strength and a 1-99 relative strength rating across the tickers; get_seasonality the average return, hit rate and t-statistic per calendar month (frequency='month') or weekday (frequency='weekday'). |
| overlapA | Overlap technical indicators drawn over the price (simple, exponential, double exponential, triangular, weighted, Hull and Kaufman adaptive moving averages, TRIX, VWAP, Parabolic SAR, pivot points, Fibonacci retracement levels, support and resistance levels). Applied to price data automatically — no need to fetch prices first. Each indicator needs its window of history before it produces values, so the first periods after start_date can be empty and quarterly or yearly periods with long windows can be empty on short histories; start earlier to warm up. Bollinger Bands and Keltner Channels are in the volatility tool. Requires tickers='AAPL' — use comma-separated values for multiple tickers. |
| volatilityA | Volatility technical indicators (Bollinger Bands, Keltner Channels, Donchian Channels, True Range, Average True Range, Supertrend, volatility cone). Applied to price data automatically — no need to fetch prices first. Each indicator needs its window of history before it produces values, so the first periods after start_date can be empty and quarterly or yearly periods with long windows can be empty on short histories; start earlier to warm up. Requires tickers='AAPL' — use comma-separated values for multiple tickers. |
| modelsB | Pre-computed financial models (WACC, DuPont analysis, Extended DuPont analysis, Enterprise value breakdown, intrinsic value/DCF, Gordon Growth Model, Altman Z-Score, Piotroski F-Score, Beneish M-Score, Economic Value Added (EVA), Present Value of Growth Opportunities, Sustainable Growth Rate, Internal Growth Rate, Graham Number). Valuation: get_reverse_discounted_cash_flow (the growth rate the share price implies, next to the historical growth), get_earnings_power_value (Greenwald's no-growth value), get_monte_carlo_intrinsic_valuation (growth_rate= required; percentiles of the DCF value and the probability it exceeds the price) and get_peer_comparison (valuation, margins, returns, growth and leverage against the company's peers, or peers={'AAPL': ['MSFT', 'GOOGL']}). Credit: get_merton_distance_to_default (Merton/KMV asset value, distance to default and probability of default per year) and get_synthetic_credit_rating (Damodaran's rating, default spread and cost of debt from interest coverage). Quality and manipulation scores: get_magic_formula (Greenblatt ranking across the tickers given), get_mohanram_g_score (relative to the tickers given, so pass peers), get_dechow_f_score, get_montier_c_score and get_accruals_ratio (Sloan). weighted_average_cost_of_capital= defaults to each company's latest WACC. Requires tickers='AAPL' — use comma-separated values for multiple tickers. Supports quarterly=true and start_date/end_date. |
| performanceA | Pre-computed risk-adjusted performance metrics (Sharpe ratio incl. standard/adjusted/probabilistic/deflated methods, Sortino ratio, Alpha, Jensen's Alpha, Beta, CAPM, Treynor ratio, M2 ratio, Tracking Error, Information Ratio, Fama-French factors, period Returns, Excess Returns — Returns/Excess Returns support cumulative=true for the compounded growth of 1 from the start of the date range, so the first value includes the first period's return). Beta, CAPM, Alpha, Jensen's Alpha, Treynor, Sortino, M2, Tracking Error and Information Ratio support rolling=N for a rolling N-period value spanning the full history instead of one value per period (e.g. period='monthly', rolling=6 for a rolling 6-month figure). Sharpe ratios are per observation (e.g. per day within the period) unless annualize=true. Requires tickers='AAPL' — use comma-separated values for multiple tickers. Supports period='daily' only together with rolling=N (e.g. period='daily', rolling=60 for a rolling 60-day figure); per-period results use weekly, monthly, quarterly, or yearly. get_style_analysis also takes period='daily' without rolling. The factor models (get_fama_and_french_model, get_carhart_four_factor_model, get_factor_asset_correlations, get_factor_correlations) take region='United States' (default), 'Developed', 'Developed ex US', 'Europe', 'Japan', 'Asia Pacific ex Japan' or 'North America' for Ken French's regional factors. get_style_analysis is Sharpe's returns-based style analysis: style_tickers= names tickers of the call that serve as style indices (e.g. tickers='ARKK,IWF,IWD,IWO,IWN,AGG', style_tickers='IWF,IWD,IWO,IWN,AGG'), and every other ticker gets its style weights and in-sample R Squared, selection return and tracking error; window= for rolling weights, which adds Sharpe's out-of-sample selection return per period. |
| riskB | Pre-computed risk metrics (VaR incl. historic/gaussian/cornish-fisher/studentt/evt distributions, CVaR, EVaR, GARCH volatility, max drawdown, drawdown duration, drawdown recovery time, Conditional Drawdown at Risk (CDaR), Tail Ratio, skewness, kurtosis, downside deviation, Variance, Volatility incl. close_to_close/parkinson/garman_klass/rogers_satchell/yang_zhang estimators, Excess Volatility). VaR, CVaR, skewness, kurtosis, CDaR, Tail Ratio, downside deviation, Variance, Volatility and Excess Volatility support rolling=N for a rolling N-period value spanning the full history instead of one value per period (e.g. period='monthly', rolling=6 for a rolling 6-month figure). Requires tickers='AAPL' — use comma-separated values for multiple tickers. Supports period='daily' for whole-series calculations; rolling and per-period outputs use weekly, monthly, quarterly, or yearly. get_copula_simulation returns 100 simulated joint draws unless n_simulations= asks for more. get_amihud_illiquidity is the price impact per billion dollars traded (scale=1e9). |
| econometricsA | Statistical and econometric analysis of price or return series: unit root tests (ADF, KPSS, Phillips-Perron, Zivot-Andrews), cointegration (Engle-Granger, Johansen, VECM), Granger causality, VAR forecasts, impulse responses and variance decomposition, ARIMA forecasts, regressions (OLS, WLS, GLS, quantile, logistic, probit, IV/2SLS, Fama-MacBeth, fixed and random effects panels; get_wls estimates its weights from the regression's residuals with weights='feasible' and get_gls an AR(1) error covariance with omega='ar1', the defaults; get_wald_test takes restriction_matrix as rows of numbers, e.g. [[0, 1, 0], [0, 0, 1]], with one column per coefficient, the Intercept first), causal designs (difference-in-differences, event study, regression discontinuity, synthetic control, propensity score matching), diagnostics (ARCH-LM, Jarque-Bera, Ljung-Box, Durbin-Watson, Breusch-Pagan, White, Ramsey RESET, VIF, Chow, CUSUM, variance ratio), forecast comparison (Diebold-Mariano, RMSE, MAE), regimes and dynamics (get_markov_regime_switching: calm and turbulent regimes with their mean, volatility and expected duration, probabilities=true per date; get_structural_breaks: Bai-Perron dates at which the mean shifts; get_time_varying_beta: Kalman filter alpha and beta per date against the benchmark; get_dcc_garch: DCC-GARCH correlation of every pair per date, parameters=true for the estimates) and get_pairs_trading (hedge ratio, half-life, cointegration p-value, z-score and signal per pair, window= for a rolling z-score, time_series=true per date). No need to fetch price data first. Requires tickers='AAPL' — use comma-separated values for multiple tickers. To analyze any other indicator instead of prices, pass series= with references separated by ';', each tool:indicator:tickers-or-countries with an optional :column, e.g. series='valuation:get_price_to_earnings_ratio:AAPL,MSFT' (quarterly=true for quarterly ratios), series='macroeconomics:get_inflation_rate:United States,Germany' or series='rates:get_government_bond_yield_curve:United States:2Y; rates:get_government_bond_yield_curve:United States:10Y'; each ticker or country becomes a series named after it (with the column, e.g. 'United States 10Y'), which dependent_ticker and independent_tickers name. The series themselves are the 'Adj Close' column (unit root, cointegration, breaks) and their changes the 'Return' column (regressions, diagnostics); changes='difference' suits rates and ratios. Use start_date for a long enough history. |
| etfA | Analysis of ETFs and other funds. Requires tickers='VOO' — use comma-separated values for several funds; tickers that are not an ETF or fund return no data. get_holdings: the 25 largest holdings of each fund by weight (shares, weight and market value) unless limit= asks for more, limit=-10 for the smallest; the holdings carry no sector or country, so use get_sector_weightings and get_country_weightings for those breakdowns, or the Finance Database server to classify the holdings. get_information: everything published about each fund, including its identifiers, description and website. get_profile: name, issuer, asset class, domicile, inception date, expense ratio, assets under management, NAV, latest price, premium/discount to NAV (the close of the NAV's own date against the NAV; empty for a NAV that is not current unless stale_nav=true), holdings count and average (dollar) volume. get_tracking: tracking difference (annualized return gap, about minus the expense ratio for an index fund), tracking error, correlation, beta and R Squared against benchmark_ticker (set it to the fund's index or another fund of the same index, e.g. benchmark_ticker='SPY' for VOO); yearly=true gives the gap per calendar year. get_concentration: number of holdings, largest holding, top 10 weight, Herfindahl-Hirschman index and effective number of holdings. get_overlap: the overlap of every pair of funds (sum of the smaller weight over shared holdings). get_look_through_valuation: weighted (harmonic) P/E, P/B, P/S and P/FCF, dividend yield and net margin of the largest holdings (holdings=25) with the coverage. get_liquidity: average volume and dollar volume, dollar volume to assets and the price impact per $100 million traded (Amihud). |
| portfolioA | Portfolio construction and analysis for the given tickers (at least two). Optimal weights: get_minimum_variance_weights, get_maximum_sharpe_weights, get_mean_variance_weights (target_return= or risk_aversion=), get_risk_parity_weights (risk_budget={'AAPL': 0.5, ...} optional), get_hierarchical_risk_parity_weights, get_inverse_volatility_weights, get_minimum_cvar_weights (confidence_level=) and get_black_litterman_weights (views={'AAPL': 0.10, 'AAPL-MSFT': 0.02}, optional view_confidences= and market_weights=; market capitalizations by default). Each returns per ticker and for the Portfolio the Weight, annualized Expected Return, Volatility, Sharpe Ratio and Risk Contribution. minimum_weight=/maximum_weight= bound the weights (a negative minimum allows shorting). get_efficient_frontier (points=) returns portfolios from the lowest risk to the highest return. For given weights (weights={'AAPL': 0.6, 'MSFT': 0.4}, equal weights when omitted): get_risk_contributions, get_stress_test (returns in the Dot-com Crash, Global Financial Crisis, Euro Area Debt Crisis, 2015-2016 and 2018 Q4 sell-offs, COVID-19 Crash and 2022 Rate Shock next to the benchmark, or scenarios={'name': ['start', 'end']}), get_look_through_exposure (by='sector'|'country'|'holdings', looks through ETFs to their holdings, with the benchmark's exposure next to it) and get_brinson_attribution (allocation, selection and interaction effects by sector against the benchmark over start_date/end_date). Expected returns are historical averages; period= sets the return frequency (daily by default). Weights, returns and volatilities are decimals. |
| optionsA | Option pricing and Greeks (Black-Scholes model, binomial tree, delta, gamma, theta, vega, rho, implied volatility). Requires tickers='AAPL' — use comma-separated values for multiple tickers. get_stock_price_simulation returns the unique price levels per time step; pass show_unique_combinations=false for every simulated path. get_binomial_model covers the strikes within 5% of the price unless strike_price_range= asks for more; strike_price_range also narrows the Greeks and get_option_chains. get_option_chains shows the nearest expiry (its Expiration Date column says which); show_expiration_dates=true lists the expiries and expiration_date= picks one. get_strategy_payoff takes legs as a list of objects, e.g. [{'strike_price': 340, 'position': 'long'}, {'strike_price': 360, 'position': 'short'}]. Option market metrics from the live chains, per expiry (number_of_expirations= or expiration_dates=): get_put_call_ratio (volume and open interest), get_max_pain, get_implied_volatility_term_structure (at-the-money volatility), get_volatility_skew (25-delta risk reversal and butterfly) and get_implied_move (straddle-implied move and range; around_earnings=true uses the first expiry after the next earnings date). Per ticker: get_gamma_exposure (dealer GEX in dollars per 1% move and the gamma flip point; by_strike=true per strike), get_model_free_implied_volatility (the Cboe VIX method for any ticker, days=30; '^SPX' approximates the VIX) and get_volatility_risk_premium (implied minus realized volatility, and in variance units). The market metrics take the underlying price quoted with the live chain (else the last traded close) and the rates and realized volatility from the price history, so leave end_date at today; days= cannot exceed the longest listed expiry. |
| governmentA | Government fiscal metrics by country (debt, deficit, expenditure, revenue, tax revenue, trust in government). Requires countries='United States' — use comma-separated values for multiple countries. Do NOT use tickers= for this tool. Supports start_date/end_date. Most series are yearly: quarterly=true returns quarterly data only where a source has it (a note says when it does not). Supports rolling=N (moving-average smoothing) and trailing=N (trailing N-period sum, e.g. a trailing-4-quarter sum) on the raw series. level='consolidated' (default, longest history), 'general' (general government) or 'central' (central government) selects the level of government for debt, deficit, expenditure, revenue and tax revenue. |
| macroeconomicsA | Macroeconomic indicators by country (GDP, real GDP, CPI, PPI, inflation rate, trade balance, imports, exports, investment, consumption, business/consumer confidence, house prices, rent prices, exchange rates, real effective exchange rate, money supply, household savings rate, household debt-to-income ratio, output gap, real interest rate, misery index, banking/currency/sovereign debt crisis indicators, commercial real estate prices, commodity forward curves). Requires countries='United States' — use comma-separated values for multiple countries. Do NOT use tickers= for this tool. Supports start_date/end_date. Indicators with a period come at the highest frequency they are published at unless period= says otherwise (daily, else weekly, monthly, quarterly, yearly); house prices, rent prices, the household savings rate and the household debt-to-income ratio come quarterly from the OECD (quarterly=false for yearly); the others are yearly. quarterly=true returns quarterly data only where a source has it (a note says when it does not). Supports rolling=N (moving-average smoothing) and trailing=N (trailing N-period sum, e.g. a trailing-4-quarter sum) on the raw series. get_gross_domestic_product_growth returns the latest quarterly real GDP growth (quarter on quarter, or year_over_year=true) without an API key. get_shiller_stock_market_data returns Robert Shiller's monthly US stock market data from 1871 (price, dividend, earnings, CPI, long rate, CAPE; no countries needed). get_exchange_rates returns each country's currency per US dollar (e.g. countries='Japan' for yen per dollar, not a currency pair; for a pair such as EURUSD use the market_data tool with tickers='EURUSD'), defaults to daily rates and accepts end_of_period=true for month-, quarter- or year-end rates (BIS, no key). get_commercial_real_estate_prices covers around twenty economies (BIS, no key). get_inflation_rate and get_consumer_price_index default to monthly data (period='yearly' for annual), without an API key (Eurostat incl. the euro area flash estimate, the ONS for the United Kingdom, the Statistics Bureau of Japan, and the BIS for around sixty other countries incl. the United States, China, India and Brazil). get_consumer_price_index also accepts oecd_source=true for monthly/quarterly OECD data only. get_commodity_forward_curve requires a commodity= argument instead of countries= (e.g. 'Crude Oil', 'Gold') and returns dated futures contracts, not a country series. Also includes six US-only indicators that only return a 'United States' column regardless of the countries= argument: get_industrial_production_index (Federal Reserve G.17) and get_recession_indicator (NBER business cycle dates) work without an API key, while get_retail_sales, get_housing_starts, get_real_personal_income and get_commercial_real_estate_prices require a free FRED API key (optional; get one at https://fred.stlouisfed.org/docs/api/api_key.html). get_economic_calendar returns scheduled economic data releases (event, previous, estimate, actual, impact) rather than a country series. By default it returns only High impact releases from the past 23 days to the coming 7 days; narrow it with countries= (e.g. 'United States') and currencies= (e.g. 'USD,EUR'), filter on event names with events= (e.g. events='PMI' for the purchasing managers' indices with consensus, or 'CPI,Unemployment'), pass impact='Medium' or 'High,Medium' for more, impact='All' for every release, and start_date/end_date for another window (keep it to a few weeks: one month of every country is over 2,000 releases). Its Unit column gives each release's unit; releases quoted in percent and its Change % column are decimals like the rest. Every rate and ratio this tool returns is a decimal fraction, not a percentage: an inflation rate of 4.1% comes back as 0.0412 and a debt-to-GDP ratio of 131.7% as 1.3173. Multiply by 100 before presenting them as percentages. Global Macro Database options: usd=true returns GDP, GDP per capita, consumption, investment, fixed investment, exports, imports, trade balance and current account in millions of US dollars (comparable across countries); get_total_consumption and get_total_consumption_to_gdp_ratio accept component='total', 'household' or 'government'; get_house_prices with inflation_adjusted=true returns real house prices. Yearly GMDB series end at the last observation; pass gmdb_forecasts=true to include the IMF projections up to five years ahead. get_implied_volatility returns volatility indices by market and maturity as decimals, no countries needed (markets='US Equity' VIX 9D-1Y from 1990, 'Euro Area Equity' VSTOXX 1M-24M from 1999, 'Emerging Markets Equity', 'US Equity Volatility' VVIX, 'US Treasury Bonds' VXTLT, 'Crude Oil', 'Gold'; with an FMP key also 'US Treasury Rates' MOVE and 'Japan Government Bonds'), period='daily', 'weekly' or 'monthly'. get_stress_test_scenario returns regulators' stress test scenarios (authority='federal_reserve' quarterly US and international variables incl. Treasury and BBB yields, equity, house prices and VIX; authority='esrb' the EBA bank stress test, yearly, every EU country plus iTraxx spreads), scenario='baseline', 'adverse' or 'historic' (Fed history from 1976), countries= optional; the scenario path is not cut to start_date/end_date. Long-horizon data: get_long_run_asset_returns returns yearly total returns 1870-2020 for 18 advanced economies (Jordà-Schularick-Taylor; asset_class='equity'|'housing'|'bonds'|'bills'|'risky'|'safe'|'wealth', real=true for real returns; licensed for non-commercial use only, so it requires accept_licence=true; countries= optional). get_millennium_of_macroeconomic_data returns the Bank of England's annual UK series from as early as 1086 to 2016 (series= e.g. 'Bank Rate,Consols,Share prices'; set start_date far back, e.g. 1700-01-01). get_scenario_set returns De Nederlandsche Bank's pension scenario set (20,000 scenarios over 100 years, measure='real_world' or 'market_consistent'): quantiles per horizon year of nominal zero rates 1Y-30Y, the euro area 10Y real rate, equity returns and EU/NL inflation; the first call takes one to two minutes. get_asset_class_proxies returns daily total returns of listed funds tracking private equity, infrastructure, hedge funds, merger arbitrage, private credit, real estate and investment grade and high yield credit (asset_classes=, period='daily'|'weekly'|'monthly'). |
| environmentA | Environmental and ESG data. For ESG scores (E, S, G ratings) use tickers='AAPL'. For carbon footprint and renewable energy data use countries='United States' (also supports rolling=N and trailing=N smoothing/summation). This is the only tool that accepts BOTH tickers= and countries= depending on the indicator. get_carbon_price returns the EU ETS carbon price (EEX primary auctions of EU emission allowances, euro per tonne of CO2, daily from 2020, no key and no countries needed), period='daily', 'weekly' or 'monthly'. get_climate_scenario returns NGFS climate scenario paths (Phase 5, yearly 2022-2050, around fifty countries and regions, no key): variable='gdp'|'inflation'|'long_term_interest_rate'|'long_term_real_interest_rate'|'policy_rate'|'unemployment_rate'|'equity_prices'|'effective_exchange_rate'|'oil_price'|'gas_price'|'coal_price'|'carbon_price' (carbon price per model region to 2100), scenario='Net Zero 2050'|'Below 2°C'|'Low demand'|'Delayed transition'|'Nationally Determined Contributions (NDCs)'|'Current Policies'|'Fragmented World'|'Baseline', model='REMIND-MAgPIE'|'GCAM'|'MESSAGEix-GLOBIOM', risk='combined'|'transition'|'physical', deviation=true for the deviation from the baseline; countries= optional. |
| jobsA | Labour and social metrics by country (unemployment rate, labour productivity, population statistics, poverty rate, income inequality). Requires countries='United States' — use comma-separated values for multiple countries. Do NOT use tickers= for this tool. Supports start_date/end_date. Indicators with a period come at the highest frequency they are published at unless period= says otherwise; the others are yearly. quarterly=true returns quarterly data only where a source has it (a note says when it does not). get_life_table returns Eurostat life tables by age 0-95 for European countries, yearly from 1960 (measure='death_probability'|'survival_probability'|'death_rate'|'survivors'|'deaths'|'person_years'|'total_person_years'|'life_expectancy', sex='total'|'male'|'female'); keep countries to one or two, since each country has 96 ages. get_unemployment_rate defaults to monthly figures without an API key (Eurostat, the ONS for the United Kingdom, the IBGE for Brazil, the BLS for the latest US months, the OECD for every other country). Supports rolling=N (moving-average smoothing) and trailing=N (trailing N-period sum) on the raw series. Also includes two US-only, FRED-backed labor indicators (get_nonfarm_payrolls, get_initial_jobless_claims) — these require a FRED API key and only return a 'United States' column regardless of the countries= argument. |
| ratesA | Interest rate data (central bank policy rates, short/long-term rates, government bond yields, ICE BofA corporate bond series, EURIBOR, ECB rates, Federal Reserve rates, official U.S. Treasury par yield curve, yield curve slope). Requires countries='United States' — use comma-separated values for multiple countries. Do NOT use tickers= for this tool. Supports start_date/end_date. Indicators with a period come at the highest frequency they are published at unless period= says otherwise (daily, else weekly, monthly, quarterly, yearly); keep the date range short for daily series. quarterly=true returns quarterly data only where a source has it (a note says when it does not). Without an API key: get_central_bank_policy_rate defaults to daily rates (BIS, around fifty central banks incl. 'Euro Area'); get_long_term_interest_rate defaults to daily 10-year yields for the United States, United Kingdom, Japan and Euro Area and to monthly otherwise; get_government_bond_yield returns monthly OECD 10-year yields (short_term=true for 3-month rates) for every OECD country; get_overnight_rate returns €STR, SONIA, TONA and SOFR (Euro Area, United Kingdom, Japan, United States) with period='daily', 'weekly' or 'monthly'. get_government_bond_yield_curve returns full government yield curves (columns per country and maturity, e.g. 3M to 30Y) for the United States, Euro Area, Germany, United Kingdom, Japan, Canada, Sweden, Norway and Australia, daily, weekly or monthly, plus the monthly 10-year yield of every other EU member (e.g. France, Italy, Spain) with period='monthly'; keep the date range short (a few weeks) or use period='monthly', since one country is up to 15 maturities per day. get_treasury_rates returns the US par yield curve and works without an API key. Curve analytics without an API key, on the curves of get_government_bond_yield_curve (the full history from start_date, so use period='monthly' for long ranges): get_zero_coupon_curve (zero-coupon rates bootstrapped from the par yields; United States, Euro Area, Germany, Japan, Canada, Sweden; countries= optional, United States by default), get_nelson_siegel_svensson (Svensson parameters Beta 0-3, Tau 1-2 and the fit error per date, svensson=false for the three-factor Nelson-Siegel level/slope/curvature; maturities='0.5,1,10,50' returns the fitted zero-coupon yields instead), get_yield_curve_principal_components (one country: level/slope/curvature loadings with the explained variance as the last row, scores=true for the scores per date, changes=false to analyze levels), get_short_rate_model (one country: Vasicek and CIR calibrated to the history of the short_rate='3M' yield, with the model's zero-coupon curve next to the market's; CIR needs a rate above zero throughout, so use short_rate='6M' or a later start_date for the US) and get_short_rate_simulation (one country: model='hull_white' (fits today's curve), 'vasicek' or 'cir'; short_rate=, years=, steps_per_year=, paths=; returns the mean and 5-95% percentiles per step). get_treasury_auctions returns US Treasury auction results (no countries needed; security_type='Bill'|'Cash Management Bill'|'Note'|'Bond'|'TIPS'|'FRN', security_term= e.g. '10-Year'; yield, bid-to-cover ratio, amounts and primary dealer/direct/indirect bidder shares, from 1979; keep the date range short). The central bank policy rate, short/long-term rate, overnight rate and yield curve slope indicators additionally support rolling=N (moving-average smoothing) and trailing=N (trailing N-period sum). Also includes get_mortgage_rate_30_year (Freddie Mac, US only, works without an API key). Inflation-linked curves without an API key, columns per country and maturity, countries= optional: get_real_yield_curve (real yields of inflation-linked government bonds: United States TIPS, United Kingdom index-linked gilts, Germany inflation-linked federal bonds at constant maturities) and get_breakeven_inflation_expectations (market-implied inflation, nominal minus real: United States incl. 5Y5Y forward, United Kingdom RPI implied inflation, Germany as the euro area proxy), both with period='daily', 'weekly' or 'monthly'; get_inflation_expectations (survey-based longer-term inflation expectations: Germany 5Y and 10Y monthly from 1989 via Consensus Economics, Euro Area 5Y from the ECB Survey of Professional Forecasters from 1999), period='monthly' or 'quarterly'. Long-history US credit series: get_hqm_corporate_bond_yield_curve (Treasury HQM corporate curve, rate='spot' for 6 months to 100 years or 'par', monthly from 1984), get_hqm_corporate_bond_spread (HQM par minus Treasury yields at 2, 5, 10 and 30 years, from 1984), get_moodys_corporate_bond_yields (Aaa and Baa, daily from 1986 or period='monthly' from 1919; spread=true for the spreads over the 10-year Treasury and Baa - Aaa) and get_excess_bond_premium (Gilchrist-Zakrajšek credit spread, excess bond premium and implied recession probability, monthly from 1973, no key needed). Also without a key: get_eiopa_risk_free_rate (EIOPA Solvency II risk-free curves for the euro and 40 other currencies, 1 to 150 years, monthly from 2023; countries= e.g. 'Euro Area,United Kingdom', curve='spot_no_va'|'spot_with_va'|'shock_up'|'shock_down'; returns the 1, 2, 5, 10, 20 and 30 year maturities unless maturity_years= lists others, e.g. '1,3,7,50'), get_bank_of_england_yield_curve (UK zero-coupon spot curve, curve='nominal'|'ois', 0.5 to 40 years, daily from 1985), get_corporate_borrowing_cost (ECB cost of bank borrowing for euro area companies, monthly from 2003), get_corporate_bond_yields (monthly corporate bond yields by country: Germany all ratings from 1957 (Bundesbank), Australia A and BBB at 3, 5, 7 and 10 years from 2005 (RBA), United States Moody's Aaa/Baa with a FRED key; spread=true for the spread over government bonds), get_rating_transition_matrix (ESMA CEREP rating migration matrix of a rating agency, agency='S&P'|'Moody's'|'Fitch'|'DBRS'|'Scope'|..., rating_type='corporate'|'sovereign'|'structured_finance'|'covered_bonds', year=, horizon= years, region= e.g. 'Europe'; probabilities, withdrawal-adjusted), get_default_rates (one-year default rates per rating per year from the agency's first reported year, ESMA CEREP; slow the first time, about 30 seconds per year), get_eiopa_symmetric_adjustment (Solvency II equity dampener and type 1/type 2 equity charges, daily from 1991) and get_financial_stress_index (ECB CISS for the euro area, its members, the UK, US and China, daily from 1980). The HQM, Moody's and ICE BofA series require a free FRED API key (get one at https://fred.stlouisfed.org/docs/api/api_key.html). The ICE BofA option-adjusted spreads are decimals like the other rates (0.0077 is 77 basis points). |
| fixed_incomeA | Bond and derivative valuation calculations (bond duration, present value, yield to maturity, derivative pricing, par yield, forward rate, breakeven inflation rate, key rate duration, yield curve spread, Z-spread, bond-equivalent yield, Taylor-series price change estimate). No tickers or countries needed — pass the bond's terms directly, e.g. par_value=1000, coupon_rate=0.05, years_to_maturity=10 with bond_price or yield_to_maturity. A bond's price is get_present_value. The curve-based calculations (par yield, forward rate, yield curve spread, Z-spread, key rate duration, breakeven inflation) take the curve as spot_rates (nominal_rates and real_rates for breakeven inflation), the decimal rate per maturity in years as a number (a curve column '10Y' becomes '10', '6M' becomes '0.5'), e.g. {'1': 0.042, '2': 0.040, '5': 0.041, '10': 0.043}; without it they use a fixed sample curve for illustration. Pass a zero-coupon (spot) curve, not a par curve: from the rates tool get_zero_coupon_curve (annually compounded), get_bank_of_england_yield_curve (UK, continuously compounded), the Euro Area and Germany curves of get_government_bond_yield_curve (continuously compounded zero curves; its other countries are par curves), get_hqm_corporate_bond_yield_curve with rate='spot' (US corporate, semi-annual bond-equivalent) or get_eiopa_risk_free_rate (annually compounded); get_treasury_rates is a par curve (semi-annual bond-equivalent) and only approximates one. Compounding assumed: par yield, Z-spread and key rate duration read the curve as nominal rates compounded |
| discoveryA | Market discovery (lists of stocks, ETFs, indices, currencies, commodities and cryptocurrencies, stock screener, biggest gainers and losers, most active stocks, sector and industry performance and P/E, earnings, IPO and stock split calendars, latest 8-K filings, insider trades and mergers, market news and press releases). No tickers or countries needed. The news and press release feeds (get_stock_news, get_press_releases, get_general_news, get_crypto_news, get_forex_news) are the latest articles across the whole market, not news about one company: each article names its ticker, but the feed cannot be narrowed to a ticker. The calendars and filings take start_date/end_date; the market-wide earnings calendar covers the coming week unless a range is given. Sector and industry performance and P/E take date= for one day's snapshot or sector=/industry= for a history (the last year unless start_date/end_date say otherwise); they average the companies of one exchange, exchange='NASDAQ' (default), 'NYSE' or 'AMEX', and performance is a decimal change (0.0125 is +1.25%). The stock screener ranks by market cap in US dollars ('Market Cap (USD)'; 'Market Cap' is in the listing's own currency) and returns every listing of a company unless primary_only=true; to screen by classification, use the Finance Database server. get_index_constituents lists the members of index='S&P 500', 'NASDAQ 100' or 'Dow Jones'. |
| market_dataA | Raw financial data (historical prices, income statement, balance sheet, cash flow statement, company profile, quotes, analyst estimates, dividend/earnings calendars, statistics, market risk premium by country, CFTC Commitment of Traders report, executives and their compensation, company notes, employee count, share float, mergers and acquisitions, stock splits, insider trade statistics, analyst stock grades, earnings call transcripts). Use this ONLY for raw data needs — for pre-computed ratios, performance, risk, or model metrics use the dedicated tools instead. Requires tickers='AAPL' — use comma-separated values for multiple tickers. get_market_risk_premium (by country) and get_treasury_data (US Treasury rates) are market-wide and need no tickers. get_commitment_of_traders takes CFTC futures symbols, e.g. tickers='NG' (natural gas) or 'GC' (gold), not stocks. get_earnings_call_transcripts returns the full, never shortened text (often 40,000 to 60,000 characters) of one call of one ticker: the most recent, or the one of fiscal_period (e.g. '2025Q4', the company's own fiscal quarter); call it once per ticker and period. A period without a transcript is answered with the most recent periods that have one. Currency and crypto pairs may be written either way: EURUSD or EURUSD=X, BTCUSD or BTC-USD. To find which instruments exist, use the Finance Database server. The holdings, information and sector and country weightings of ETFs and funds are in the etf tool. |
| search_metric_categoriesA | Finance Toolkit: list the categories of what this server calculates (prices, financial statements, ratios, models, risk, economics) and how many tools each has. |
| search_by_categoryA | Finance Toolkit: list every metric/tool within a category of prices, financial statements, ratios and other calculations. |
| search_metricsA | Finance Toolkit: search the metrics this server calculates (prices, financial statements, ratios and more) by keyword, with typo tolerance. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 27 tools
The 27 top-level tools are mostly partitioned by clear finance domains, so an agent can generally choose the right category. Minor confusion is possible among ratio categories (efficiency, liquidity, profitability, solvency, valuation) and technical-indicator categories (breadth, momentum, overlap, volatility), but the descriptions draw usable boundaries.
Most tools use consistent snake_case domain-category nouns, with search_by_category, search_metric_categories, and search_metrics forming a clear meta-search group. The convention is not verb_noun throughout, but it is predictable and readable rather than chaotic.
At 27 tools the surface is heavy for a single server, but the tools are broad category dispatchers rather than granular operations, which suits a comprehensive finance analytics toolkit. It is borderline rather than clearly excessive.
The surface covers raw market data, fundamentals, ratios, technicals, econometrics, portfolio construction, risk, options, fixed income, macro, government, environmental, labor, ETF, discovery, and meta-search workflows. No obvious material lifecycle gap appears for a finance analytics server.