Finbolt
SEC-filed company financials with filing citations, plus market data, for AI agents
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"finbolt": {
"url": "https://api.getfinbolt.com/mcp"
}
}
}Remote endpoints
https://api.getfinbolt.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (23)
π’fetch_time_series_daily(symbol, datatype, outputsize, max_data_points, start_date, ...)
[Personal research only] Fetch daily stock data with OHLCV (Open, High, Low, Close, Volume) information for each trading day.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'TSLA') for which to retrieve daily data",
"type": "string"
},
"datatype": {
"default": "json",
"description": "Response data type.",
"type": "string"
},
"outputsize": {
"default": "compact",
"description": "Data output size.",
"type": "string"
},
"max_data_points": {
"default": 100,
"description": "Maximum number of time series data points to return.",
"minimum": 1,
"type": "integer"
},
"start_date": {
"default": null,
"description": "Optional start date filter in YYYY-MM-DD format (inclusive).",
"type": "string"
},
"end_date": {
"default": null,
"description": "Optional end date filter in YYYY-MM-DD format (inclusive).",
"type": "string"
}
},
"required": [
"symbol"
],
"additionalProperties": false
}π’fetch_time_series_weekly(symbol, datatype, max_data_points, start_date, end_date)
[Personal research only] Fetch weekly stock data with OHLCV (Open, High, Low, Close, Volume) aggregated by week.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'TSLA') for which to retrieve weekly data",
"type": "string"
},
"datatype": {
"default": "json",
"description": "Response data type.",
"type": "string"
},
"max_data_points": {
"default": 100,
"description": "Maximum number of time series data points to return.",
"minimum": 1,
"type": "integer"
},
"start_date": {
"default": null,
"description": "Optional start date filter in YYYY-MM-DD format (inclusive).",
"type": "string"
},
"end_date": {
"default": null,
"description": "Optional end date filter in YYYY-MM-DD format (inclusive).",
"type": "string"
}
},
"required": [
"symbol"
],
"additionalProperties": false
}π’fetch_time_series_monthly(symbol, datatype, max_data_points, start_date, end_date)
[Personal research only] Fetch monthly stock data with OHLCV (Open, High, Low, Close, Volume) aggregated by month.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'TSLA') for which to retrieve monthly data",
"type": "string"
},
"datatype": {
"default": "json",
"description": "Response data type.",
"type": "string"
},
"max_data_points": {
"default": 100,
"description": "Maximum number of time series data points to return.",
"minimum": 1,
"type": "integer"
},
"start_date": {
"default": null,
"description": "Optional start date filter in YYYY-MM-DD format (inclusive).",
"type": "string"
},
"end_date": {
"default": null,
"description": "Optional end date filter in YYYY-MM-DD format (inclusive).",
"type": "string"
}
},
"required": [
"symbol"
],
"additionalProperties": false
}π’search_endpoint(keywords)
[Personal research only] Searches for stock symbols and company names based on keywords (e.g., 'Tesla', 'Microsoft Corp').
Input Schema
{
"type": "object",
"properties": {
"keywords": {
"description": "Keywords to search for company names or stock symbols (e.g., 'Tesla', 'Microsoft Corp', 'AAPL')",
"type": "string"
}
},
"required": [
"keywords"
],
"additionalProperties": false
}π’fetch_quote(symbol)
[Personal research only] Fetches the latest price and trading information for a stock ticker symbol.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'TSLA') for which to fetch the latest price and tradingβ¦",
"type": "string"
}
},
"required": [
"symbol"
],
"additionalProperties": false
}π’fetch_news_sentiment(tickers, datatype, topics, time_from, time_to, ...)
[Personal research only] Fetch news sentiment analysis data with sentiment scores, relevance scores, and article metadata.
Input Schema
{
"type": "object",
"properties": {
"tickers": {
"description": "Comma-separated list of ticker symbols to filter news articles.",
"type": "string"
},
"datatype": {
"default": "json",
"description": "Response data type.",
"type": "string"
},
"topics": {
"default": null,
"description": "Optional news topics filter.",
"type": "string"
},
"time_from": {
"default": null,
"description": "Start time for news articles in YYYYMMDDTHHMM format (e.g., '20240101T0000')",
"type": "string"
},
"time_to": {
"default": null,
"description": "End time for news articles in YYYYMMDDTHHMM format (e.g., '20240131T2359')",
"type": "string"
},
"sort": {
"default": "LATEST",
"description": "Sort order for results.",
"type": "string"
},
"limit": {
"default": 50,
"description": "Maximum number of news articles to return (1-200).",
"type": "integer"
}
},
"required": [
"tickers"
],
"additionalProperties": false
}π’fetch_company_overview(symbol)
[Personal research only] Fetch comprehensive company overview including business description, financial ratios, market capitalization, dividend information, and key financial metrics.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'TSLA') for which to retrieve comprehensive company overβ¦",
"type": "string"
}
},
"required": [
"symbol"
],
"additionalProperties": false
}π’fetch_income_statement(symbol)
[Personal research only] Fetch annual and quarterly income statement data including revenue, expenses, net income, EPS, and other profit & loss metrics.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'GOOGL') for which to retrieve annual and quarterly incoβ¦",
"type": "string"
}
},
"required": [
"symbol"
],
"additionalProperties": false
}π’fetch_balance_sheet(symbol)
[Personal research only] Fetch annual and quarterly balance sheet data including assets, liabilities, shareholders' equity, and other financial position metrics.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'GOOGL') for which to retrieve annual and quarterly balaβ¦",
"type": "string"
}
},
"required": [
"symbol"
],
"additionalProperties": false
}π’fetch_cash_flow(symbol)
[Personal research only] Fetch annual and quarterly cash flow statement data including operating, investing, and financing cash flows.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'GOOGL') for which to retrieve annual and quarterly cashβ¦",
"type": "string"
}
},
"required": [
"symbol"
],
"additionalProperties": false
}π’fetch_earnings(symbol)
[Personal research only] Fetch annual and quarterly earnings data including EPS (earnings per share) estimates vs actual results, surprise percentages, and earnings growth trends.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'GOOGL') for which to retrieve annual and quarterly earnβ¦",
"type": "string"
}
},
"required": [
"symbol"
],
"additionalProperties": false
}π’fetch_exchange_rate(from_currency, to_currency)
[Personal research only] Fetch real-time currency exchange rates between two currencies with bid/ask prices and conversion rates.
Input Schema
{
"type": "object",
"properties": {
"from_currency": {
"description": "Source currency code (e.g., 'USD', 'EUR', 'GBP') to convert from",
"type": "string"
},
"to_currency": {
"description": "Target currency code (e.g., 'USD', 'EUR', 'JPY') to convert to",
"type": "string"
}
},
"required": [
"from_currency",
"to_currency"
],
"additionalProperties": false
}π’fetch_sma(symbol, interval, time_period, series_type, datatype, ...)
[Personal research only] Fetch Simple Moving Average (SMA) technical indicator time series with customizable time periods.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'TSLA') for which to calculate Simple Moving Average",
"type": "string"
},
"interval": {
"description": "Time interval for data points.",
"type": "string"
},
"time_period": {
"description": "Number of data points to use for moving average calculation (e.g., 20 for 20-day SMA)",
"type": "integer"
},
"series_type": {
"default": "close",
"description": "Price data to use for calculation.",
"type": "string"
},
"datatype": {
"default": "json",
"description": "Response data type.",
"type": "string"
},
"max_data_points": {
"default": 100,
"description": "Maximum number of time series data points to return.",
"type": "integer"
},
"start_date": {
"default": null,
"description": "Optional start date filter in YYYY-MM-DD format (e.g., '2024-01-01').",
"type": "string"
},
"end_date": {
"default": null,
"description": "Optional end date filter in YYYY-MM-DD format (e.g., '2024-12-31').",
"type": "string"
}
},
"required": [
"symbol",
"interval",
"time_period"
],
"additionalProperties": false
}π’fetch_ema(symbol, interval, time_period, series_type, datatype, ...)
[Personal research only] Fetch Exponential Moving Average (EMA) technical indicator time series with greater weight on recent prices.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'TSLA') for which to calculate Exponential Moving Average",
"type": "string"
},
"interval": {
"description": "Time interval for data points.",
"type": "string"
},
"time_period": {
"description": "Number of data points to use for moving average calculation (e.g., 12 for 12-period EMA)",
"type": "integer"
},
"series_type": {
"default": "close",
"description": "Price data to use for calculation.",
"type": "string"
},
"datatype": {
"default": "json",
"description": "Response data type.",
"type": "string"
},
"max_data_points": {
"default": 100,
"description": "Maximum number of time series data points to return.",
"type": "integer"
},
"start_date": {
"default": null,
"description": "Optional start date filter in YYYY-MM-DD format (e.g., '2024-01-01').",
"type": "string"
},
"end_date": {
"default": null,
"description": "Optional end date filter in YYYY-MM-DD format (e.g., '2024-12-31').",
"type": "string"
}
},
"required": [
"symbol",
"interval",
"time_period"
],
"additionalProperties": false
}π’fetch_macd(symbol, interval, series_type, fastperiod, slowperiod, ...)
[Personal research only] Fetch MACD (Moving Average Convergence Divergence) technical indicator time series with signal line and histogram.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'TSLA') for which to calculate MACD",
"type": "string"
},
"interval": {
"description": "Time interval for data points.",
"type": "string"
},
"series_type": {
"default": "close",
"description": "Price data to use for calculation.",
"type": "string"
},
"fastperiod": {
"default": 12,
"description": "Fast EMA period for MACD calculation (default: 12)",
"type": "integer"
},
"slowperiod": {
"default": 26,
"description": "Slow EMA period for MACD calculation (default: 26)",
"type": "integer"
},
"signalperiod": {
"default": 9,
"description": "Signal line EMA period for MACD calculation (default: 9)",
"type": "integer"
},
"datatype": {
"default": "json",
"description": "Response data type.",
"type": "string"
},
"max_data_points": {
"default": 100,
"description": "Maximum number of time series data points to return.",
"type": "integer"
},
"start_date": {
"default": null,
"description": "Optional start date filter in YYYY-MM-DD format (e.g., '2024-01-01').",
"type": "string"
},
"end_date": {
"default": null,
"description": "Optional end date filter in YYYY-MM-DD format (e.g., '2024-12-31').",
"type": "string"
}
},
"required": [
"symbol",
"interval"
],
"additionalProperties": false
}π’fetch_rsi(symbol, interval, time_period, series_type, datatype, ...)
[Personal research only] Fetch RSI (Relative Strength Index) momentum oscillator time series ranging from 0 to 100.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'TSLA') for which to calculate RSI",
"type": "string"
},
"interval": {
"description": "Time interval for data points.",
"type": "string"
},
"time_period": {
"default": 14,
"description": "Number of periods for RSI calculation (typically 14)",
"type": "integer"
},
"series_type": {
"default": "close",
"description": "Price data to use for calculation.",
"type": "string"
},
"datatype": {
"default": "json",
"description": "Response data type.",
"type": "string"
},
"max_data_points": {
"default": 100,
"description": "Maximum number of time series data points to return.",
"type": "integer"
},
"start_date": {
"default": null,
"description": "Optional start date filter in YYYY-MM-DD format (e.g., '2024-01-01').",
"type": "string"
},
"end_date": {
"default": null,
"description": "Optional end date filter in YYYY-MM-DD format (e.g., '2024-12-31').",
"type": "string"
}
},
"required": [
"symbol",
"interval"
],
"additionalProperties": false
}π’fetch_bbands(symbol, interval, time_period, series_type, nbdevup, ...)
[Personal research only] Fetch Bollinger Bands technical indicator time series with upper band, lower band, and middle line (SMA).
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker symbol (e.g., 'AAPL', 'MSFT', 'TSLA') for which to calculate Bollinger Bands",
"type": "string"
},
"interval": {
"description": "Time interval for data points.",
"type": "string"
},
"time_period": {
"default": 20,
"description": "Number of periods for moving average calculation (typically 20)",
"type": "integer"
},
"series_type": {
"default": "close",
"description": "Price data to use for calculation.",
"type": "string"
},
"nbdevup": {
"default": 2,
"description": "Number of standard deviations for upper band (typically 2)",
"type": "integer"
},
"nbdevdn": {
"default": 2,
"description": "Number of standard deviations for lower band (typically 2)",
"type": "integer"
},
"datatype": {
"default": "json",
"description": "Response data type.",
"type": "string"
},
"max_data_points": {
"default": 100,
"description": "Maximum number of time series data points to return.",
"type": "integer"
},
"start_date": {
"default": null,
"description": "Optional start date filter in YYYY-MM-DD format (e.g., '2024-01-01').",
"type": "string"
},
"end_date": {
"default": null,
"description": "Optional end date filter in YYYY-MM-DD format (e.g., '2024-12-31').",
"type": "string"
}
},
"required": [
"symbol",
"interval"
],
"additionalProperties": false
}π’analyze_stock(symbol)
[Personal research only] One-call stock brief. `filed` holds fundamentals from SEC filings (TTM revenue and growth, gross and operating margin, net income, free cash flow, net debt; for banks net revenue, net interest income, efficiency ratio, PPNR, provisions, loans, deposits, ROE, ROTCE and tangible book; for broker-dealers efficiency ratio, pretax margin, compensation ratio and ROE; for insurers total revenues, premiums earned, net investment income, benefits and losses, a simple combined ratio for P&C insurers, ROE, and book value per share with and without AOCI), each filing cited by accession in sources.edgar (https://www.sec.gov/Archives/edgar/data/{cik}/{accession without dashes}/). A balance input the newest filing omits comes from the latest filing within 15 months, dated in inputs_as_of. `market` holds delayed price, 52-week range, 50/200-day averages and RSI(14); `derived` holds market cap, P/E (on filed diluted EPS LTM), P/B and P/TBV (insurers: P/B and P/B ex-AOCI), each with its inputs. A figure that couldn't be computed is in gaps with its reason; lines that don't apply to the company's layout are left out (layout_note). Up to 4 descriptive observations, including any quarter whose tax rate or non-operating income moves net income. News sentiment on Pro. Start here for "tell me about X". Personal research only: on every plan, this tool's output is for your own personal, non-commercial research. Do not use it in a commercial product, client deliverable or service.
Input Schema
{
"type": "object",
"properties": {
"symbol": {
"description": "Stock ticker, e.g. 'AAPL'",
"type": "string"
}
},
"required": [
"symbol"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}βͺcompare_stocks(symbols)
[Personal research only] Side-by-side comparison of 2-6 stocks as one table: TTM revenue and growth, pretax margin, net income growth and diluted EPS growth from SEC filings (each row's window ends on its ttm_to), net debt for standard layouts, delayed price, day change, distance from the 52-week high and trend, market cap, and P/E on filed diluted EPS LTM (FY + YTD - prior YTD). `order` lists each filed figure highest first, P/E lowest first. `comparability` says what revenue means per layout; cell_notes say what moves a figure. Filings are cited by accession in sources.edgar: open https://www.sec.gov/Archives/edgar/data/{cik}/{accession without dashes}/. Personal research only: on every plan, this tool's output is for your own personal, non-commercial research. Do not use it in a commercial product, client deliverable or service.
Input Schema
{
"type": "object",
"properties": {
"symbols": {
"description": "2 to 6 tickers, e.g. ['NVDA', 'AMD']",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"symbols"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}π’get_fact(company, concept, period, as_of)
One reported figure from SEC filings, with its citation: filing accession number, form, filing date, XBRL tag, period and a link to the filing. Restated values are listed. A figure the company never reported comes back as missing, never estimated. Values are in units as filed (USD, shares, USD/shares). A value and its as_originally_reported version come only from financial statements (10-K, 10-Q, their amendments and transition reports, 20-F, 40-F), never a proxy or an 8-K.
Input Schema
{
"type": "object",
"properties": {
"company": {
"description": "Ticker (e.g. 'AAPL') or SEC CIK",
"type": "string"
},
"concept": {
"description": "Line item such as 'revenue', 'net_income', 'eps_diluted', 'total_assets', 'operating_cash_flow', 'shares_outstanding', 'book_value_per_share', 'net_debt', 'dividend_payout_ratio', 'net_revenues', or a raw XBRL tag like 'us-gaap:Revenues'",
"type": "string"
},
"period": {
"default": "latest",
"description": "'latest', a fiscal year 'FY2025', a fiscal quarter 'FY2025 Q2', or a period end date '2025-06-28'",
"type": "string"
},
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional date: return the figure as it was on file then (before any later restatement)"
}
},
"required": [
"company",
"concept"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}π’financials(company, statement, period_type, limit, as_of)
A financial statement from SEC filings, newest period first, every value traceable to its filing. Quarterly figures the company reported only year-to-date are derived (e.g. Q4 = FY - 9M) and marked; per-share values and share counts can't be derived that way and are null with reason not_derivable. A line the company tagged with its own element is null with reason custom_element. Common equity and the book values from it are null with reason pending when a preferred issue or redemption follows the last tagged liquidation preference. Every null carries a reason, in cell_notes or (when all of a row's nulls share it) on the row. Banks, insurers and broker-dealers get not_applicable, with a reason, for lines they don't present (capex, current assets, total debt for banks and brokers); banks get loans, allowance and deposits. Broker-dealers and asset managers get the bank layout under net_revenues, with compensation and the compensation ratio. Balance sheets include common equity, book value per share and net debt. A balance the period's own filing didn't present is null, with any later comparative value in a note. A derived or fallback line equal to another row in every column (total equity with no NCI) is named in same_as instead of shown, and a derived Q4 with the opposite sign to Q1-Q3 says so. Values are in units as filed. Values and earlier versions come only from financial statements (10-K, 10-Q, their amendments and transition reports, 20-F, 40-F).
Input Schema
{
"type": "object",
"properties": {
"company": {
"description": "Ticker (e.g. 'AAPL') or SEC CIK",
"type": "string"
},
"statement": {
"default": "income",
"description": "'income', 'balance' or 'cashflow'",
"type": "string"
},
"period_type": {
"default": "annual",
"description": "'annual' or 'quarterly'",
"type": "string"
},
"limit": {
"default": 4,
"description": "Number of periods, 1 to 8",
"type": "integer"
},
"as_of": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional date: the statement as it was on file then"
}
},
"required": [
"company"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}π’find_tool(query)
Search all 113 data tools, including ones not in the default list.
Input Schema
{
"type": "object",
"properties": {
"query": {
"description": "What you need, e.g.",
"type": "string"
}
},
"required": [
"query"
],
"additionalProperties": false
}Output Schema
{
"type": "object",
"additionalProperties": true
}βͺrun_tool(name, arguments)
Run any Finbolt data tool by name, including ones not in the default list.
Input Schema
{
"type": "object",
"properties": {
"name": {
"description": "Exact tool name from find_tool, e.g.",
"type": "string"
},
"arguments": {
"additionalProperties": true,
"default": null,
"description": "Arguments for that tool",
"type": "object"
}
},
"required": [
"name"
],
"additionalProperties": false
}Community
Evidence