Skip to main content
Glama
rezmeplxrf

InsightSentry MCP

by rezmeplxrf

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
INSIGHTSENTRY_API_KEYYesYour InsightSentry API key for accessing financial data

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_symbol_seriesA

Recent Time Series (up to 30k bars) with real-time data option. Retrieve recent historical OHLCV data with real-time data option for a symbol with configurable time intervals and adjustments → Returns {code: string, bar_type: string, bar_end?: number, last_update: number, series: [{time: number, open?: number, high?: number, low?: number, close: number, volume?: number, type?: string}]}. With abbr=true: {code: string, bar_type: string, bar_end?: number, last_update: number, series_keys: string[], series: number[][]} — compact arrays for reduced LLM token usage. Not all bar types include the same fields (e.g., tick data may only have [time, type, close]) — always check series_keys. For intra-day historical data (if you need more than recent 30k bars) use get_symbol_history instead. For real-time streaming, read the insightsentry://docs/websocket resource.

get_symbol_historyA

Historical data as far as 20 years+ for intra-day historical data (second/minute/hour). Retrieve historical data for specific time periods with deep archive access → Returns {code: string, bar_type: string, bar_end?: number, last_update: number, series: [{time: number, open?: number, high?: number, low?: number, close: number, volume?: number, type?: string}]}. With abbr=true: {code: string, bar_type: string, bar_end?: number, last_update: number, series_keys: string[], series: number[][]} — compact arrays for reduced LLM token usage. Not all bar types include the same fields (e.g., tick data may only have [time, type, close]) — always check series_keys. Supports second/minute/hour bars only (for daily/weekly/monthly, use get_symbol_series). Returns one month of data per call. Iterate start_date (YYYY-MM) for longer ranges. For recent data (up to 30k bars) use get_symbol_series instead.

get_symbol_contractsA

List of contracts and its settlement date for futures symbols. Retrieve list of relatively recent contracts along with their settlement dates for futures symbols → Returns {base_code: string, contracts: [{code: string, settlement_date: string}]}. Use a specific contract code (e.g., CME_MINI:NQH2024) with get_symbol_history for deep history.

get_symbol_infoA

Symbol information and metadata. Retrieve detailed information about a symbol including type, currency, market data, splits, option information, and more. Not intended for real-time data. → Returns {code: string, type?: string, name?: string, exchange?: string, currency_code?: string, country_code?: string, sector?: string, industry?: string, description?: string, ceo?: string, website?: string, status?: string, delay_seconds?: number, change?: number, change_percent?: number, open_price?: number, low_price?: number, high_price?: number, prev_close_price?: number, volume?: number, average_volume?: number, market_cap?: number, total_shares_outstanding?: number, splits?: [{time: number, factor: number}], all_time_high?: number, all_time_high_day?: number, all_time_low?: number, all_time_low_day?: number, earnings_per_share_fq?: number, earnings_release_date?: number, earnings_release_next_date?: number, price_earnings_ttm?: number, dividends_yield?: number, beta_1_year?: number, option_info?: [{name: string, type: string, series: [{expiration_date: number, underlying: string, strikes: number[]}]}], has_backadjustment?: boolean, point_value?: number, ...}. Only 'code' is guaranteed — all other fields depend on the asset type. For fundamentals use get_symbol_fundamentals. For option chains use list_options.

get_symbol_sessionB

Trading session information. Retrieve trading session details including holidays, trading hours, timezone, and session corrections

get_quotesA

Real-time quote data. Retrieve real-time quote data for up to 10 symbols → Returns {total_items: number, data: [{code: string, status?: string, last_price?: number, change?: number, change_percent?: number, volume?: number, bid?: number, ask?: number, bid_size?: number, ask_size?: number, market_cap?: number, open_price?: number, high_price?: number, low_price?: number, prev_close_price?: number, lp_time?: number, delay_seconds?: number, currency_code?: string, unit?: string}]}. For historical data use get_symbol_series. For company details use get_symbol_info.

search_symbolsA

Search for symbols. Search for Symbols. To search for a specific type or country, leave query empty. To search for all symbols from a specific exchange, use query like "EXCHANGE:" e.g. "NASDAQ:". → Returns {current_page: number, has_more: boolean, symbols: [{name: string, code: string, type: string, exchange: string, currency_code: string, country: string, description: string}]}. ALWAYS start here to find the correct symbol code unless you already know the correct symbol code. InsightSentry uses EXCHANGE:SYMBOL format (e.g., NASDAQ:AAPL) which differs from other platforms. Do NOT guess codes — search first. Use the returned code with get_quotes, get_symbol_series, get_symbol_info, or any other tool.

get_symbol_fundamentalsA

Fundamental data and statistics. Retrieve comprehensive fundamental data including company info, valuation ratios, profitability metrics, balance sheet, cash flow, income statement, and more → Returns {code: string, data: [{id: string, name?: string, category?: string, group?: string, type?: string, period?: string, value?: number|string|array}], last_update: number}. The data array contains hundreds of fields. Use filter to access: data[category='Valuation'] to filter by category, $distinct(data.category) to list categories. If you're unsure which fields exist, call get_fundamentals_meta first. Present only the fields relevant to the user's question — do NOT dump the entire response. For historical fundamentals use get_fundamentals_series.

get_fundamentals_seriesA

Fundamental Data in Time Series format. Retrieve historical data for specific indicators. A maximum of 5 Indicator IDs can be requested at a time. The list of available Indicator IDs is provided in the fundamental_series and technical_series fields of the /v3/symbols/fundamentals endpoint. Some parameters may not apply to certain Indicator IDs, and not all indicators are supported for every symbol. → Returns {code: string, total_items: number, last_update: number, data: [{id: string, name: string, data: [{time: number, close: number}]}]} — max 5 indicator IDs per request. If you don't know the available IDs, call get_fundamentals_meta or get_symbol_fundamentals first — both return field objects with {id, name, category} that you can use here. Not all indicators are available for every symbol.

get_fundamentals_metaA

Meta data for /fundamentals endpoints. Retrieve the fundamentals schema and metadata. This endpoint returns the layout and definitions only — it does not include actual data, which are provided by /v3/symbols/{symbol}/fundamentals. → Returns {last_update: number, base: [{id: string, name?: string, category?: string, group?: string, type?: string, period?: string}], fundamental_series: [{id: string, name: string}], technical_series: [{id: string, name: string}]}. No values — schema only. Use this to discover and search available fields when you're unsure which field IDs exist (e.g., find cash flow fields, balance sheet metrics, valuation ratios) by scanning names and categories. Then call get_symbol_fundamentals with a specific symbol and filter its response to only the IDs you identified here. Use fundamental_series/technical_series IDs with get_fundamentals_series for historical data.

list_optionsA

List available options. Retrieve list of available option contracts for a given symbol. Supports optional filtering by expiration date range and option type. Use the /v3/symbols/quotes endpoint with the returned option codes to get last price and volume (e.g., codes=OPRA:AAPL270617C230.0,OPRA:AAPL270617C260.0, up to 10 codes per request). → Returns {last_update: number, last_price?: number, codes: string[]}. Supports optional filters: expiration_min, expiration_max, type (call/put), range (strike % around last_price). last_price is included when range is provided. Next: use get_options_expiration (filter by date) or get_options_strike (filter by strike) to get chain with Greeks. To get last price and volume of specific option contracts, use get_quotes with the option codes (e.g., codes=OPRA:AAPL270617C230.0,OPRA:AAPL270617C260.0, up to 10 codes).

get_options_expirationA

Option chain by expiration. Retrieve option chain data by expiration. Provide either expiration (exact date) or from/to (date range). Use the /v3/symbols/quotes endpoint with the returned option codes to get last price and volume (up to 10 codes per request). → Returns {underlying_code: string, last_update: number, last_price?: number, data: [{code?: string, type: string, strike_price: number, expiration: number, ask_price: number, bid_price: number, delta: number, gamma: number, theta: number, vega: number, rho: number, implied_volatility: number, theoretical_price: number, bid_iv: number, ask_iv: number}]}. Provide expiration for exact date, or from/to for a date range. last_price is included when range is provided. To get last price and volume of option contracts, use get_quotes with the option codes (e.g., codes=OPRA:AAPL270617C230.0,OPRA:AAPL270617C260.0, up to 10). For historical option price data use get_symbol_series.

get_options_strikeA

Option chain by strike price. Retrieve option chain data filtered by strike price or price range. Provide either strike (exact match) or range (percentage of current price), or both. Use the /v3/symbols/quotes endpoint with the returned option codes to get last price and volume (up to 10 codes per request). → Returns {underlying_code: string, last_update: number, last_price?: number, data: [{code?: string, type: string, strike_price: number, expiration: number, ask_price: number, bid_price: number, delta: number, gamma: number, theta: number, vega: number, rho: number, implied_volatility: number, theoretical_price: number, bid_iv: number, ask_iv: number}]}. Provide strike for exact match, or range for ±N% of current price (last_price included when range is used). To get last price and volume of option contracts, use get_quotes with the option codes (e.g., codes=OPRA:AAPL270617C230.0,OPRA:AAPL270617C260.0, up to 10). For historical option price data use get_symbol_series.

get_dividendsA

Dividend calendar. Retrieve dividend calendar data for a specified time range → Returns {total_count: number, range: string, last_update: number, data: [{code: string, name: string, country: string, currency_code: string, market_cap: number, dividends_yield: number, dividend_ex_date_recent: number, dividend_ex_date_upcoming: number, dividend_payment_date_recent: number, dividend_payment_date_upcoming: number, dividend_amount_recent: number, dividend_amount_upcoming: number}]}. Default: current week. Use 'w' to look ahead (w=2 for next week, w=4 for a month out). Filter by country with 'c' (e.g., 'US'). Filter by symbol with 'code' (e.g., 'NASDAQ:AAPL').

get_earningsA

Earnings calendar. Retrieve earnings calendar data for a specified time range → Returns {total_count: number, range: string, last_update: number, data: [{code: string, name: string, country: string, currency_code: string, market_cap: number, earnings_release_date: number, earnings_release_next_date: number, earnings_per_share_fq: number, earnings_per_share_forecast_fq: number, earnings_per_share_forecast_next_fq: number, eps_surprise_fq: number, eps_surprise_percent_fq: number, revenue_fq: number, revenue_forecast_fq: number, revenue_forecast_next_fq: number, revenue_surprise_fq: number, revenue_surprise_percent_fq: number}]}. Default: current week. Use 'w' to look ahead. Filter by country with 'c'. Filter by symbol with 'code' (e.g., 'NASDAQ:AAPL').

get_iposA

IPO calendar. Retrieve IPO calendar data for a specified time range → Returns {total_count: number, range: string, last_update: number, data: [{code: string, name: string, country: string, currency: string, status: string, offer_time: number, offer_price: number, offered_shares: number, deal_amount: number, price_range: string, market_cap: number}]}. Default: current week. Use 'w' to look ahead. Filter by country with 'c'. Filter by symbol with 'code' (e.g., 'NASDAQ:AAPL').

get_eventsA

Economic events calendar. Retrieve economic events calendar data for a specified time range → Returns {total_count: number, range: string, last_update: number, data: [{title?: string, country?: string, type?: string, currency?: string, importance?: string, date?: string, source_url?: string}]}. Default: current week. Use 'w' to look ahead. Filter by country with 'c'.

get_newsfeedB

News feed. Retrieve latest financial news with optional keyword filtering → Returns {last_update: number, total_items: number, current_items: number, page: number, has_next: boolean, data: [{title?: string, content?: string, link?: string, published_at: number, related_symbols?: string[]}]}.

get_stock_screener_paramsA

Get available stock screener parameters. Retrieve the list of available fields and parameters for stock screening → Returns {available_fields: string[], available_exchanges: string[], available_countries: string[], sortOrder: string[]}. All arrays are flat string arrays (field names, not objects). Next: use screen_stocks with these fields to filter the market.

screen_stocksA

Stock Screener. Retrieve stock data based on specified filter criteria → Returns {hasNext: boolean, current_page: number, total_page: number, current_items: number, data: [{symbol_code: string, name: string, country: string, currency: string, delay_seconds: number, ...requested_fields}]}. WORKFLOW: 1) Call get_stock_screener_params to discover available fields, exchanges, countries. 2) POST with your chosen fields. Tip: Filter by exchanges (e.g., ["NYSE", "NASDAQ"]) to exclude OTC/penny stocks. Example: {"fields":["close","volume","market_cap"],"exchanges":["NYSE","NASDAQ"],"countries":["US","CA"],"page":1,"ignore_invalid":false,"sortBy":"market_cap","sortOrder":"desc"}. Returns up to 1000 results per page.

get_etf_screener_paramsA

Get available ETF screener parameters. Retrieve the list of available fields and parameters for ETF screening → Returns {available_fields: string[], available_exchanges: string[], available_countries: string[], sortOrder: string[]}. All arrays are flat string arrays (field names, not objects). Next: use screen_etfs with these fields.

screen_etfsA

ETF Screener. Retrieve ETF data based on specified filter criteria → Returns {hasNext: boolean, current_page: number, total_page: number, current_items: number, data: [{symbol_code: string, name: string, country: string, currency: string, delay_seconds: number, ...requested_fields}]}. WORKFLOW: 1) Call get_etf_screener_params to discover available fields. 2) POST with your chosen fields. Example: {"fields":["close","volume","nav"],"exchanges":["NYSE","NASDAQ"],"countries":["US","CA"],"page":1,"sortBy":"nav","sortOrder":"desc"}.

get_bond_screener_paramsA

Get available bond screener parameters. Retrieve the list of available fields and parameters for bond screening → Returns {available_fields: string[], available_exchanges: string[], available_countries: string[], sortOrder: string[]}. All arrays are flat string arrays (field names, not objects). Next: use screen_bonds with these fields.

screen_bondsA

Bond Screener. Retrieve bond data based on specified filter criteria → Returns {hasNext: boolean, current_page: number, total_page: number, current_items: number, data: [{symbol_code: string, name: string, country: string, currency: string, delay_seconds: number, ...requested_fields}]}. WORKFLOW: 1) Call get_bond_screener_params to discover available fields. 2) POST with your chosen fields. Example: {"fields":["close_percent","yield_to_maturity","volume"],"exchanges":[],"countries":["US"],"page":1,"sortBy":"yield_to_maturity","sortOrder":"desc"}.

get_crypto_screener_paramsA

Get available crypto screener parameters. Retrieve the list of available fields and parameters for crypto screening → Returns {available_fields: string[], available_exchanges: string[], sortOrder: string[]}. All arrays are flat string arrays (field names, not objects). No country filter for crypto. Next: use screen_crypto with these fields.

screen_cryptoA

Crypto Screener. Retrieve cryptocurrency data based on specified filter criteria → Returns {hasNext: boolean, current_page: number, total_page: number, current_items: number, data: [{symbol_code: string, name: string, currency: string, delay_seconds: number, ...requested_fields}]}. WORKFLOW: 1) Call get_crypto_screener_params to discover available fields. 2) POST with your chosen fields. Note: country filtering NOT supported for crypto. Example: {"fields":["close","volume","market_cap"],"page":1,"sortBy":"market_cap","sortOrder":"desc"}.

get_documentsA

List documents for a symbol. Retrieve a list of available documents (filings, transcripts, reports) for a given symbol → Returns [{id: string, title: string, category: string, reported_time: number, is_available: boolean, is_pdf: boolean, fiscal_period?: string, fiscal_year?: number, form?: string}]. Use the id field with get_document to read content.

get_documentA

Retrieve a specific document. Retrieve the content of a specific document. Returns JSON with title, published_at, and content for non-PDF documents, or binary PDF data for PDF documents. Use text=true to get extracted text from PDF documents. → Returns {title: string, published_at: number, content: string} for non-PDF documents. For PDF documents, returns binary data by default; use text=true to get extracted text as {title: string, published_at: number, content: string} instead. Always use text=true so you can read the content. Get document IDs from get_documents first.

render_chartA

Render a Chart.js chart and return the PNG image. Accepts a full Chart.js configuration object (type, data, options). Supports all Chart.js chart types: line, bar, pie, doughnut, radar, polarArea, bubble, scatter. Use this after fetching market data to visualize trends, comparisons, or distributions.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
InsightSentry REST API GuideComplete REST API reference: authentication, base URL, all endpoints with parameters and response formats
InsightSentry Integration WorkflowsStep-by-step workflows for common use cases: building trading apps, dashboards, screeners, and WebSocket integrations
InsightSentry WebSocket API GuideComplete WebSocket API documentation: connection, authentication, subscriptions, data formats, keepalive, error handling, and code examples
InsightSentry Screener API GuideScreener API: discover available fields, filter stocks/ETFs/bonds/crypto with custom criteria
InsightSentry Options API GuideOptions API: list options, option chains, Greeks, option code format, historical data
InsightSentry History Endpoints GuideIntraday historical data endpoints (second/minute/hour): query parameters, concurrency limits, caching, and when to use history vs series
InsightSentry Futures History GuideHow to fetch extensive historical data for futures contracts, including contract month logic

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rezmeplxrf/insight_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server