@insightsentry/mcp 1.2.5 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { z } from "zod";
4
+ import jsonata from "jsonata";
3
5
  import { ApiClient } from "./api-client.js";
4
6
  import { toolDefinitions } from "./tool-definitions.js";
5
7
  import { docResources } from "./resources.js";
@@ -8,15 +10,14 @@ const INSTRUCTIONS = `You are connected to the InsightSentry financial data API.
8
10
  ## IMPORTANT: Symbol Code Format
9
11
  InsightSentry uses EXCHANGE:SYMBOL format for all symbol codes. This is NOT the same as ticker symbols used by brokers or Google Finance.
10
12
 
11
- **ALWAYS use \`search_symbols\` first** to find the correct code before calling any other tool. Do NOT guess symbol codes.
13
+ **Use \`search_symbols\` first** to find the correct code before calling any other tool. Do NOT guess symbol codes.
12
14
 
13
15
  Examples of correct codes:
14
16
  - NASDAQ:AAPL (not just "AAPL")
15
17
  - NYSE:TSLA (not "TSLA")
16
18
  - BINANCE:BTCUSDT (not "BTC" or "BTCUSD")
17
19
  - CME_MINI:NQ1! (not "NQ" or "/NQ")
18
- - OPRA:AAPL260417P325.0 (option codes)
19
- - COMEX:GC1! (not "GC" or "GOLD")
20
+ - COMEX:GCH2026 (not "GC26" or "GOLD")
20
21
 
21
22
  If you're unsure about a symbol code, search for it: \`search_symbols({ query: "apple" })\`
22
23
 
@@ -25,24 +26,24 @@ If you're unsure about a symbol code, search for it: \`search_symbols({ query: "
25
26
  ### "Get me data on a stock/crypto/asset"
26
27
  1. \`search_symbols\` — **Always start here.** Find the correct EXCHANGE:SYMBOL code.
27
28
  2. Then use any combination of:
28
- - \`get_quotes\` — Current price, change, bid/ask, volume (up to 10 symbols at once)
29
- - \`get_symbol_series\` — OHLCV bars (tick/second/minute/hour/day/week/month, up to 30k bars, with real-time option)
30
- - \`get_symbol_info\` — Metadata: sector, industry, market cap, P/E, dividends, splits, option chains
31
- - \`get_symbol_fundamentals\` — Deep fundamentals: valuation, profitability, balance sheet, income statement (call \`get_fundamentals_meta\` first to discover field IDs)
29
+ - \`get_quotes\` — Last price, change, bid/ask, volume, market status, market cap (up to 10 symbols at once)
30
+ - \`get_symbol_series\` — OHLCV bars (tick/second/minute/hour/day/week/month, up to 30k bars, with real-time long_poll option). Use \`filter\` to compute aggregates or extract specific bars instead of consuming all data.
31
+ - \`get_symbol_info\` — Metadata: sector, industry, market cap, P/E, dividends, splits, option chains. Response is large — use \`filter: "$keys($)"\` to discover fields, then pick only what's needed.
32
+ - \`get_symbol_fundamentals\` — Deep fundamentals: valuation, profitability, balance sheet, income statement. Returns hundreds of fields — use \`filter\` to list categories or grab specific ones (see examples below).
32
33
 
33
34
  ### "Screen/filter the market"
34
35
  1. \`get_stock_screener_params\` (or etf/bond/crypto) — Discover available fields, exchanges, countries
35
- 2. \`screen_stocks\` (or etf/bond/crypto) — POST with fields, filters, sorting. Returns paginated results (1000/page).
36
+ 2. \`screen_stocks\` (or etf/bond/crypto) — POST with fields, sorting. Returns up to 1000 results/page — use \`filter\` to narrow results, compute aggregates, or extract only matching rows (see Screener Recipes below).
36
37
 
37
38
  ### "Options analysis"
38
39
  1. \`search_symbols\` — Find the underlying
39
- 2. \`list_options\` — Get available option contracts
40
- 3. \`get_options_expiration\` or \`get_options_strike\` — Get chain with Greeks (delta, gamma, theta, vega, IV)
41
- 4. \`get_quotes\` — Real-time option quotes (use the OPRA:... option code)
42
- 5. \`get_symbol_series\` — Historical option price data
40
+ 2. \`list_options\` — Get available option contracts. Narrow with API params: \`type\` (call/put), \`range\` (strike ±N% of price), \`expiration_min\`/\`expiration_max\` (date range).
41
+ 3. \`get_options_expiration\` or \`get_options_strike\` — Get chain with Greeks (delta, gamma, theta, vega, IV). API params: \`range\`, \`type\`, \`from\`/\`to\` (date range), \`sortBy\` (delta, implied_volatility, strike_price, etc.), \`sort\` (asc/desc). Use these to narrow at the API level, then \`filter\` to refine by Greeks (e.g., delta range, IV threshold).
42
+ 4. \`get_quotes\` — Real-time option quotes (use the OPRA:... or Futures option code)
43
+ 5. \`get_symbol_series\` — Historical option price data (Only available for OPRA)
43
44
 
44
45
  ### "What's happening in the market?"
45
- - \`get_newsfeed\` — Latest financial news (filter by keywords)
46
+ - \`get_newsfeed\` — Latest financial news (filter by keywords). Use \`filter\` to limit results (e.g., first N headlines with title+date only).
46
47
  - \`get_earnings\` — Upcoming/recent earnings
47
48
  - \`get_dividends\` — Dividend calendar
48
49
  - \`get_ipos\` — IPO calendar
@@ -54,13 +55,12 @@ If you're unsure about a symbol code, search for it: \`search_symbols({ query: "
54
55
  - For extensive futures history, use specific contract codes (e.g., CME_MINI:NQH2024), not continuous (CME_MINI:NQ1!)
55
56
 
56
57
  ### "Fundamental analysis" (e.g., "What's Apple's free cash flow?", "Show me Tesla's balance sheet")
57
- 1. \`get_fundamentals_meta\` — Call first if unsure which fields exist. Returns all available fields as \`{id, name, category, type, period}\` without values. Lightweight, no symbol needed. Skip if you already know the field IDs.
58
- 2. Search the meta response to find relevant field IDs (e.g., search for "cash flow" \`free_cash_flow_fq\`, \`free_cash_flow_fy\`).
59
- 3. \`get_symbol_fundamentals\` — Returns the same fields but with \`value\` included. **Filter the response** to only the relevant fields — do NOT dump hundreds of fields to the user.
60
- 4. (Optional) \`get_fundamentals_series\` — For historical trends of specific indicators (max 5 IDs per request).
58
+ 1. \`get_fundamentals_meta\` — Call with \`filter\` to discover fields: \`filter: "base[$contains($lowercase(name), \\"cash flow\\")].{ \\"id\\": id, \\"name\\": name }"\` or \`filter: "$distinct(base.category)"\`. Lightweight, no symbol needed. Skip if you already know the field IDs.
59
+ 2. \`get_symbol_fundamentals\` Returns {code, data: [...hundreds of fields...], last_update}. **Always use \`filter\`** to extract only what's needed: \`filter: "data[category='Valuation'].{ \\"id\\": id, \\"name\\": name, \\"value\\": value }"\`. Never return the full response.
60
+ 3. (Optional) \`get_fundamentals_series\` — For historical trends of specific indicators (max 5 IDs per request).
61
61
 
62
62
  ### "SEC filings and transcripts"
63
- 1. \`get_documents\` — List available filings for a symbol
63
+ 1. \`get_documents\` — List available filings for a symbol. Use \`filter\` to narrow by form type (e.g., \`filter: "$[form=\\"10-K\\" or form=\\"10-Q\\"]"\`).
64
64
  2. \`get_document\` — Read a specific document's content
65
65
 
66
66
  ### "Help the user build an app with our API"
@@ -76,8 +76,49 @@ Read the documentation resources for comprehensive guides:
76
76
  - **Symbol format**: Always \`EXCHANGE:SYMBOL\` (e.g., NASDAQ:AAPL, BINANCE:BTCUSDT, CME_MINI:NQ1!)
77
77
  - **Option codes**: \`OPRA:AAPL260417P325.0\` = OPRA exchange, AAPL, expires 2026-04-17, Put, $325 strike
78
78
  - **Screeners**: First GET to discover fields, then POST to filter. Fields are case-insensitive.
79
- - **Time series**: \`bar_type\` (tick/second/minute/hour/day/week/month) + \`bar_interval\` (1-1440). Use \`dp\` to control data points (default 3000, max 30000). **Always use \`abbr=true\`** on \`get_symbol_series\` and \`get_symbol_history\` it returns compact arrays instead of objects, significantly reducing token usage. Check \`series_keys\` for column order as it varies by bar type.
79
+ - **Time series**: \`bar_type\` (tick/second/minute/hour/day/week/month) + \`bar_interval\` (1-1440). Use \`dp\` to control data points (default 3000, max 30000). When using \`filter\`, skip \`abbr\` — named keys (e.g., \`series.close\`) are more reliable than positional indices. Use \`abbr=true\` only when returning raw series without a filter.
80
80
  - **WebSocket**: For real-time streaming, read the websocket resource. Two endpoints: /live (market data) and /newsfeed (news).
81
+
82
+ ## Handling Large Responses — Use \`filter\` (JSONata)
83
+ API responses can be large (e.g., 30k bars of time series, hundreds of fundamental fields, full screener pages). **Every tool supports an optional \`filter\` parameter** that accepts a [JSONata](https://jsonata.org) expression. The filter is applied server-side before the response reaches you, so you only receive the data you need — drastically reducing token usage.
84
+
85
+ **Always use \`filter\` when you don't need the full response.** Only omit it when the user explicitly asks for raw data or when debugging.
86
+
87
+ Examples:
88
+ - \`get_symbol_series({ symbol: "NASDAQ:AAPL", bar_type: "day", dp: 2000, filter: "{ \"code\": code, \"avg_close\": $average(series.close), \"max_high\": $max(series.high), \"min_low\": $min(series.low) }" })\` — compute aggregates server-side instead of consuming all bars
89
+ - \`get_symbol_fundamentals({ symbol: "NASDAQ:AAPL", filter: "$distinct(data.category)" })\` — list available categories first
90
+ - \`get_symbol_fundamentals({ symbol: "NASDAQ:AAPL", filter: "data.{ \"id\": id, \"name\": name }" })\` — list all field id+name pairs (without values, lightweight overview)
91
+ - \`get_symbol_fundamentals({ symbol: "NASDAQ:AAPL", filter: "data[category='Valuation'].{ \"id\": id, \"name\": name, \"value\": value }" })\` — then grab specific category with values
92
+ - \`screen_stocks({ fields: ["close", "volume", "market_cap"], filter: "$sum(data.market_cap)" })\` — aggregate instead of listing rows
93
+ - \`get_stock_screener_params({ filter: "available_fields[$contains($, \\"volume\\")]" })\` — search screener fields by keyword (available_fields is a flat string array, not objects)
94
+ - \`get_symbol_info({ symbol: "NASDAQ:AAPL", filter: "$keys($)" })\` — list all available fields first
95
+ - \`get_symbol_info({ symbol: "NASDAQ:AAPL", filter: "{ \"sector\": sector, \"industry\": industry, \"market_cap\": market_cap, \"ceo\": ceo }" })\` — then pick specific fields
96
+ - \`get_newsfeed({ keywords: "tesla", filter: "data[[0..2]].{ \"title\": title, \"published_at\": published_at }" })\` — first 3 headlines only
97
+ - \`get_fundamentals_meta({ filter: "base[$contains($lowercase(name), \"cash flow\")].{ \"id\": id, \"name\": name, \"period\": period }" })\` — search available fields by keyword
98
+ - \`get_fundamentals_meta({ filter: "$distinct(base.category)" })\` — list all available categories
99
+ - \`get_fundamentals_meta({ filter: "$distinct(base.group)" })\` — list all available groups
100
+ - \`get_fundamentals_meta({ filter: "fundamental_series[$contains($lowercase(name), \"cash\") or $contains($lowercase(name), \"income\")].id" })\` — find series IDs for use with get_fundamentals_series
101
+ - \`get_options_expiration({ code: "NASDAQ:AAPL", expiration: "2026-06-17", range: 10, type: "call", filter: "data[$abs(delta) >= 0.4 and $abs(delta) <= 0.6].{ \"code\": code, \"strike\": strike_price, \"delta\": delta, \"iv\": implied_volatility }" })\` — API narrows to ±10% strikes + calls, then filter refines by delta
102
+ - \`get_symbol_series({ symbol: "NASDAQ:AAPL", bar_type: "day", dp: 300, filter: "{ \"code\": code, \"period_return_pct\": $round((series[-1].close - series[0].open) / series[0].open * 100, 2), \"total_volume\": $sum(series.volume) }" })\` — compute period return and total volume
103
+ - \`screen_stocks({ fields: ["close", "volume", "market_cap", "change_percent"], filter: "data[change_percent > 0].{ \"name\": name, \"change_percent\": change_percent }" })\` — only gainers
104
+ - \`get_documents({ code: "NASDAQ:AAPL", filter: "$[form=\"10-K\" or form=\"10-Q\"].{ \"id\": id, \"title\": title, \"form\": form }" })\` — only SEC filings (10-K/10-Q)
105
+
106
+ Also prefer API-level filtering when available (screener field selection, option \`type\`/\`range\` filters) — combine with \`filter\` for maximum efficiency.
107
+
108
+ ### Screener Recipes
109
+ Screener fields are limited to 10 per request — pick the most relevant ones and use \`filter\` to narrow and reshape results.
110
+
111
+ **Value screen** — low P/E, cheap on cash flow:
112
+ \`screen_stocks({ fields: ["close", "market_cap", "price_earnings_ttm", "price_free_cash_flow_ttm", "dividends_yield", "enterprise_value_ebitda_ttm"], exchanges: ["NYSE", "NASDAQ"], sortBy: "market_cap", sortOrder: "desc", filter: "data[price_earnings_ttm > 0 and price_earnings_ttm < 15 and price_free_cash_flow_ttm < 10].{ \"name\": name, \"code\": symbol_code, \"pe\": price_earnings_ttm, \"p_fcf\": price_free_cash_flow_ttm, \"div_yield\": dividends_yield, \"ev_ebitda\": enterprise_value_ebitda_ttm }" })\`
113
+
114
+ **Momentum screen** — strong 3-month performance + unusual volume:
115
+ \`screen_stocks({ fields: ["close", "market_cap", "change_percent_1W", "performance_3_month", "relative_volume_intraday", "average_volume_30d"], exchanges: ["NYSE", "NASDAQ"], sortBy: "performance_3_month", sortOrder: "desc", filter: "data[performance_3_month > 20 and relative_volume_intraday > 1.5].{ \"name\": name, \"code\": symbol_code, \"perf_3m\": performance_3_month, \"chg_1w\": change_percent_1W, \"rvol\": relative_volume_intraday }" })\`
116
+
117
+ **Quality screen** — high ROIC, low leverage, strong margins:
118
+ \`screen_stocks({ fields: ["close", "market_cap", "return_on_invested_capital_fq", "debt_to_equity_fq", "operating_margin_ttm", "free_cash_flow_margin_ttm", "gross_margin_ttm"], exchanges: ["NYSE", "NASDAQ"], sortBy: "market_cap", sortOrder: "desc", filter: "data[return_on_invested_capital_fq > 20 and debt_to_equity_fq < 1 and operating_margin_ttm > 25].{ \"name\": name, \"code\": symbol_code, \"roic\": return_on_invested_capital_fq, \"d_e\": debt_to_equity_fq, \"op_margin\": operating_margin_ttm, \"fcf_margin\": free_cash_flow_margin_ttm }" })\`
119
+
120
+ **Volatility + volume spike** — unusual activity detection:
121
+ \`screen_stocks({ fields: ["close", "market_cap", "volatility_week", "volatility_month", "relative_volume_intraday", "gap", "change_percent"], exchanges: ["NYSE", "NASDAQ"], sortBy: "relative_volume_intraday", sortOrder: "desc", filter: "data[relative_volume_intraday > 2 and volatility_week > 3].{ \"name\": name, \"code\": symbol_code, \"vol_w\": volatility_week, \"rvol\": relative_volume_intraday, \"gap\": gap, \"chg\": change_percent }" })\`
81
122
  `;
82
123
  const apiKey = process.env.INSIGHTSENTRY_API_KEY?.trim();
83
124
  function isJwt(token) {
@@ -110,7 +151,11 @@ else {
110
151
  const server = new McpServer({ name: "insightsentry", version: "1.0.0" }, { instructions: INSTRUCTIONS });
111
152
  // Register all API tools with Zod schemas for type-safe parameter validation
112
153
  for (const tool of toolDefinitions) {
113
- server.registerTool(tool.name, { description: tool.description, inputSchema: tool.schema }, async (args) => {
154
+ const schema = {
155
+ ...tool.schema,
156
+ filter: z.string().describe("(Optional) JSONata expression to filter/transform the API response server-side before it reaches you. Use this to extract only the fields or rows you need, reducing token usage. See https://jsonata.org for syntax.").optional(),
157
+ };
158
+ server.registerTool(tool.name, { description: tool.description, inputSchema: schema }, async (args) => {
114
159
  if (!client) {
115
160
  return {
116
161
  content: [
@@ -123,10 +168,16 @@ for (const tool of toolDefinitions) {
123
168
  };
124
169
  }
125
170
  try {
126
- const result = await client.request(tool.method, tool.pathTemplate, args);
127
- const content = typeof result === "string"
128
- ? result
129
- : JSON.stringify(result, null, 2);
171
+ const { filter: filterExpr, ...apiArgs } = args;
172
+ const result = await client.request(tool.method, tool.pathTemplate, apiArgs);
173
+ let output = result;
174
+ if (filterExpr && typeof filterExpr === "string") {
175
+ const expr = jsonata(filterExpr);
176
+ output = await expr.evaluate(result);
177
+ }
178
+ const content = typeof output === "string"
179
+ ? output
180
+ : JSON.stringify(output, null, 2);
130
181
  return {
131
182
  content: [{ type: "text", text: content }],
132
183
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { z } from "zod";
4
4
  export const toolDefinitions = [
5
5
  {
6
6
  name: "get_symbol_series",
7
- description: "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, bar_type, bar_end, last_update, series: [{time, open, high, low, close, volume}]}. With abbr=true: {code, bar_type, bar_end, last_update, series_keys: [\"time\", \"open\", ...], series: [[1717238400, 100, 105, 99, 102.5, 120], ...]} — 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.",
7
+ description: "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.",
8
8
  method: "GET",
9
9
  pathTemplate: "/v3/symbols/{symbol}/series",
10
10
  schema: {
@@ -23,7 +23,7 @@ export const toolDefinitions = [
23
23
  },
24
24
  {
25
25
  name: "get_symbol_history",
26
- description: "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, bar_type, bar_end, last_update, series: [{time, open, high, low, close, volume}]}. With abbr=true: {code, bar_type, bar_end, last_update, series_keys: [\"time\", \"open\", ...], series: [[1717238400, 100, 105, 99, 102.5, 120], ...]} — 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.",
26
+ description: "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.",
27
27
  method: "GET",
28
28
  pathTemplate: "/v3/symbols/{symbol}/history",
29
29
  schema: {
@@ -40,7 +40,7 @@ export const toolDefinitions = [
40
40
  },
41
41
  {
42
42
  name: "get_symbol_contracts",
43
- description: "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, contracts: [{code, settlement_date}]}. Use a specific contract code (e.g., CME_MINI:NQH2024) with get_symbol_history for deep history.",
43
+ description: "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.",
44
44
  method: "GET",
45
45
  pathTemplate: "/v3/symbols/{symbol}/contracts",
46
46
  schema: {
@@ -49,7 +49,7 @@ export const toolDefinitions = [
49
49
  },
50
50
  {
51
51
  name: "get_symbol_info",
52
- description: "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, type, name, exchange, currency_code, country_code, sector, industry, description, ceo, website, status, market_cap, volume, splits, option_info, all_time_high/low, earnings dates, P/E, dividends_yield, beta, ...}. For fundamentals use get_symbol_fundamentals. For option chains use list_options.",
52
+ description: "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.",
53
53
  method: "GET",
54
54
  pathTemplate: "/v3/symbols/{symbol}/info",
55
55
  schema: {
@@ -67,7 +67,7 @@ export const toolDefinitions = [
67
67
  },
68
68
  {
69
69
  name: "get_quotes",
70
- description: "Real-time quote data. Retrieve real-time quote data for up to 10 symbols → Returns {total_items, data: [{code, status, last_price, change, change_percent, volume, bid, ask, bid_size, ask_size, market_cap, open_price, high_price, low_price, prev_close_price, lp_time, delay_seconds, currency_code}]}. For historical data use get_symbol_series. For company details use get_symbol_info.",
70
+ description: "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.",
71
71
  method: "GET",
72
72
  pathTemplate: "/v3/symbols/quotes",
73
73
  schema: {
@@ -80,7 +80,7 @@ export const toolDefinitions = [
80
80
  },
81
81
  {
82
82
  name: "search_symbols",
83
- description: "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, has_more, symbols: [{name, code, type, exchange, currency_code, country, description}]}. 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.",
83
+ description: "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.",
84
84
  method: "GET",
85
85
  pathTemplate: "/v3/symbols/search",
86
86
  schema: {
@@ -92,7 +92,7 @@ export const toolDefinitions = [
92
92
  },
93
93
  {
94
94
  name: "get_symbol_fundamentals",
95
- description: "Fundamental data and statistics. Retrieve comprehensive fundamental data including company info, valuation ratios, profitability metrics, balance sheet, cash flow, income statement, and more → Returns a large array of hundreds of objects, each with {id, name, category, type, period, value}. If you're unsure which fields exist, call get_fundamentals_meta first to discover available field IDs without fetching actual data. Present only the fields relevant to the user's question — do NOT dump the entire response. For historical fundamentals use get_fundamentals_series.",
95
+ description: "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.",
96
96
  method: "GET",
97
97
  pathTemplate: "/v3/symbols/{symbol}/fundamentals",
98
98
  schema: {
@@ -101,7 +101,7 @@ export const toolDefinitions = [
101
101
  },
102
102
  {
103
103
  name: "get_fundamentals_series",
104
- description: "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, total_items, last_update, data: [{id, name, data: [{time, close}]}]} — 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.",
104
+ description: "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.",
105
105
  method: "GET",
106
106
  pathTemplate: "/v3/symbols/{symbol}/fundamentals/series",
107
107
  schema: {
@@ -111,14 +111,14 @@ export const toolDefinitions = [
111
111
  },
112
112
  {
113
113
  name: "get_fundamentals_meta",
114
- description: "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, base: [{id, name, category, group, type, period}], fundamental_series: [{id, name}], technical_series: [{id, name}]}. 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.",
114
+ description: "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.",
115
115
  method: "GET",
116
116
  pathTemplate: "/v3/symbols/fundamentals",
117
117
  schema: {},
118
118
  },
119
119
  {
120
120
  name: "list_options",
121
- description: "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, last_price?, codes: [\"OPRA:...\", ...]}. 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).",
121
+ description: "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).",
122
122
  method: "GET",
123
123
  pathTemplate: "/v3/options/list",
124
124
  schema: {
@@ -131,7 +131,7 @@ export const toolDefinitions = [
131
131
  },
132
132
  {
133
133
  name: "get_options_expiration",
134
- description: "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, last_update, last_price?, data: [{code, type, strike_price, expiration, ask_price, bid_price, delta, gamma, theta, vega, rho, implied_volatility, theoretical_price, bid_iv, ask_iv}]}. 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.",
134
+ description: "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.",
135
135
  method: "GET",
136
136
  pathTemplate: "/v3/options/expiration",
137
137
  schema: {
@@ -147,7 +147,7 @@ export const toolDefinitions = [
147
147
  },
148
148
  {
149
149
  name: "get_options_strike",
150
- description: "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, last_update, last_price?, data: [{code, type, strike_price, expiration, ask_price, bid_price, delta, gamma, theta, vega, rho, implied_volatility, theoretical_price, bid_iv, ask_iv}]}. 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.",
150
+ description: "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.",
151
151
  method: "GET",
152
152
  pathTemplate: "/v3/options/strike",
153
153
  schema: {
@@ -162,7 +162,7 @@ export const toolDefinitions = [
162
162
  },
163
163
  {
164
164
  name: "get_dividends",
165
- description: "Dividend calendar. Retrieve dividend calendar data for a specified time range → Returns {total_count, range, last_update, data: [{code, name, country, currency_code, market_cap, dividends_yield, dividend_ex_date_recent, dividend_ex_date_upcoming, dividend_payment_date_recent, dividend_payment_date_upcoming, dividend_amount_recent, dividend_amount_upcoming}]}. 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').",
165
+ description: "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').",
166
166
  method: "GET",
167
167
  pathTemplate: "/v3/calendar/dividends",
168
168
  schema: {
@@ -173,7 +173,7 @@ export const toolDefinitions = [
173
173
  },
174
174
  {
175
175
  name: "get_earnings",
176
- description: "Earnings calendar. Retrieve earnings calendar data for a specified time range → Returns {total_count, range, last_update, data: [{code, name, country, currency_code, market_cap, earnings_release_date, earnings_release_next_date, earnings_per_share_fq, earnings_per_share_forecast_fq, earnings_per_share_forecast_next_fq, eps_surprise_fq, eps_surprise_percent_fq, revenue_fq, revenue_forecast_fq, revenue_forecast_next_fq, revenue_surprise_fq, revenue_surprise_percent_fq}]}. Default: current week. Use 'w' to look ahead. Filter by country with 'c'. Filter by symbol with 'code' (e.g., 'NASDAQ:AAPL').",
176
+ description: "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').",
177
177
  method: "GET",
178
178
  pathTemplate: "/v3/calendar/earnings",
179
179
  schema: {
@@ -184,7 +184,7 @@ export const toolDefinitions = [
184
184
  },
185
185
  {
186
186
  name: "get_ipos",
187
- description: "IPO calendar. Retrieve IPO calendar data for a specified time range → Returns {total_count, range, last_update, data: [{code, name, country, currency, status, offer_time, offer_price, offered_shares, deal_amount, price_range, market_cap}]}. Default: current week. Use 'w' to look ahead. Filter by country with 'c'. Filter by symbol with 'code' (e.g., 'NASDAQ:AAPL').",
187
+ description: "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').",
188
188
  method: "GET",
189
189
  pathTemplate: "/v3/calendar/ipos",
190
190
  schema: {
@@ -195,7 +195,7 @@ export const toolDefinitions = [
195
195
  },
196
196
  {
197
197
  name: "get_events",
198
- description: "Economic events calendar. Retrieve economic events calendar data for a specified time range → Returns {total_count, range, last_update, data: [{title, country, type, currency, importance, date, source_url}]}. Default: current week. Use 'w' to look ahead. Filter by country with 'c'.",
198
+ description: "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'.",
199
199
  method: "GET",
200
200
  pathTemplate: "/v3/calendar/events",
201
201
  schema: {
@@ -205,7 +205,7 @@ export const toolDefinitions = [
205
205
  },
206
206
  {
207
207
  name: "get_newsfeed",
208
- description: "News feed. Retrieve latest financial news with optional keyword filtering → Returns {last_update, total_items, current_items, page, has_next, data: [{title, content, link, published_at, related_symbols}]}.",
208
+ description: "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[]}]}.",
209
209
  method: "GET",
210
210
  pathTemplate: "/v3/newsfeed",
211
211
  schema: {
@@ -216,14 +216,14 @@ export const toolDefinitions = [
216
216
  },
217
217
  {
218
218
  name: "get_stock_screener_params",
219
- description: "Get available stock screener parameters. Retrieve the list of available fields and parameters for stock screening → Returns {available_fields, available_exchanges, available_countries, sortOrder}. Next: use screen_stocks with these fields to filter the market.",
219
+ description: "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.",
220
220
  method: "GET",
221
221
  pathTemplate: "/v3/screeners/stock",
222
222
  schema: {},
223
223
  },
224
224
  {
225
225
  name: "screen_stocks",
226
- description: "Stock Screener. Retrieve stock data based on specified filter criteria → Returns {hasNext, current_page, total_page, current_items, data: [{symbol_code, name, country, currency, delay_seconds, ...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.",
226
+ description: "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.",
227
227
  method: "POST",
228
228
  pathTemplate: "/v3/screeners/stock",
229
229
  schema: {
@@ -238,14 +238,14 @@ export const toolDefinitions = [
238
238
  },
239
239
  {
240
240
  name: "get_etf_screener_params",
241
- description: "Get available ETF screener parameters. Retrieve the list of available fields and parameters for ETF screening → Returns {available_fields, available_exchanges, available_countries, sortOrder}. Next: use screen_etfs with these fields.",
241
+ description: "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.",
242
242
  method: "GET",
243
243
  pathTemplate: "/v3/screeners/etf",
244
244
  schema: {},
245
245
  },
246
246
  {
247
247
  name: "screen_etfs",
248
- description: "ETF Screener. Retrieve ETF data based on specified filter criteria → Returns {hasNext, current_page, total_page, current_items, data: [{symbol_code, name, country, currency, delay_seconds, ...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\"}.",
248
+ description: "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\"}.",
249
249
  method: "POST",
250
250
  pathTemplate: "/v3/screeners/etf",
251
251
  schema: {
@@ -260,14 +260,14 @@ export const toolDefinitions = [
260
260
  },
261
261
  {
262
262
  name: "get_bond_screener_params",
263
- description: "Get available bond screener parameters. Retrieve the list of available fields and parameters for bond screening → Returns {available_fields, available_exchanges, available_countries, sortOrder}. Next: use screen_bonds with these fields.",
263
+ description: "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.",
264
264
  method: "GET",
265
265
  pathTemplate: "/v3/screeners/bond",
266
266
  schema: {},
267
267
  },
268
268
  {
269
269
  name: "screen_bonds",
270
- description: "Bond Screener. Retrieve bond data based on specified filter criteria → Returns {hasNext, current_page, total_page, current_items, data: [{symbol_code, name, country, currency, delay_seconds, ...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\"}.",
270
+ description: "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\"}.",
271
271
  method: "POST",
272
272
  pathTemplate: "/v3/screeners/bond",
273
273
  schema: {
@@ -282,14 +282,14 @@ export const toolDefinitions = [
282
282
  },
283
283
  {
284
284
  name: "get_crypto_screener_params",
285
- description: "Get available crypto screener parameters. Retrieve the list of available fields and parameters for crypto screening → Returns {available_fields, available_exchanges, sortOrder} (no country filter for crypto). Next: use screen_crypto with these fields.",
285
+ description: "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.",
286
286
  method: "GET",
287
287
  pathTemplate: "/v3/screeners/crypto",
288
288
  schema: {},
289
289
  },
290
290
  {
291
291
  name: "screen_crypto",
292
- description: "Crypto Screener. Retrieve cryptocurrency data based on specified filter criteria → Returns {hasNext, current_page, total_page, current_items, data: [{symbol_code, name, currency, delay_seconds, ...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\"}.",
292
+ description: "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\"}.",
293
293
  method: "POST",
294
294
  pathTemplate: "/v3/screeners/crypto",
295
295
  schema: {
@@ -304,7 +304,7 @@ export const toolDefinitions = [
304
304
  },
305
305
  {
306
306
  name: "get_documents",
307
- description: "List documents for a symbol. Retrieve a list of available documents (filings, transcripts, reports) for a given symbol → Returns [{id, title, category, reported_time, is_available, is_pdf, fiscal_period, fiscal_year, form}]. Use the id field with get_document to read content.",
307
+ description: "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.",
308
308
  method: "GET",
309
309
  pathTemplate: "/v3/documents",
310
310
  schema: {
@@ -313,7 +313,7 @@ export const toolDefinitions = [
313
313
  },
314
314
  {
315
315
  name: "get_document",
316
- description: "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, published_at, content} for non-PDF documents. For PDF documents, returns binary data by default; use text=true to get extracted text as {title, published_at, content} instead. **Always use text=true** so you can read the content. Get document IDs from get_documents first.",
316
+ description: "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.",
317
317
  method: "GET",
318
318
  pathTemplate: "/v3/documents/{id}",
319
319
  schema: {
@@ -1 +1 @@
1
- {"version":3,"file":"tool-definitions.js","sourceRoot":"","sources":["../src/tool-definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-definitions.js","sourceRoot":"","sources":["../src/tool-definitions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@insightsentry/mcp",
3
- "version": "1.2.5",
3
+ "version": "1.2.7",
4
4
  "description": "MCP server for InsightSentry financial data API - provides AI-accessible tools for market data, screening, options, and comprehensive API documentation resources",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -21,17 +21,16 @@
21
21
  },
22
22
  "keywords": [
23
23
  "mcp",
24
- "model-context-protocol",
25
24
  "insightsentry",
26
25
  "financial-data",
27
26
  "stock-market",
28
- "api",
29
- "websocket",
30
- "ai"
27
+ "financial analysis",
28
+ "ai financial analysis"
31
29
  ],
32
30
  "license": "MIT",
33
31
  "dependencies": {
34
32
  "@modelcontextprotocol/sdk": "^1.12.1",
33
+ "jsonata": "^2.1.0",
35
34
  "zod": "^4.3.6"
36
35
  },
37
36
  "devDependencies": {