@insightsentry/mcp 1.2.7 → 1.2.9

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.
@@ -0,0 +1,3 @@
1
+ import type { ChartConfiguration } from "chart.js";
2
+ export declare function renderChart(config: ChartConfiguration, width?: number, height?: number): Promise<string>;
3
+ //# sourceMappingURL=chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.d.ts","sourceRoot":"","sources":["../src/chart.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAsBnD,wBAAsB,WAAW,CAC/B,MAAM,EAAE,kBAAkB,EAC1B,KAAK,GAAE,MAAsB,EAC7B,MAAM,GAAE,MAAuB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAIjB"}
package/dist/chart.js ADDED
@@ -0,0 +1,24 @@
1
+ import { ChartJSNodeCanvas } from "chartjs-node-canvas";
2
+ const DEFAULT_WIDTH = 800;
3
+ const DEFAULT_HEIGHT = 400;
4
+ // Cache canvases by dimension to avoid re-creating them
5
+ const canvasCache = new Map();
6
+ function getCanvas(width, height) {
7
+ const key = `${width}x${height}`;
8
+ let canvas = canvasCache.get(key);
9
+ if (!canvas) {
10
+ canvas = new ChartJSNodeCanvas({
11
+ width,
12
+ height,
13
+ backgroundColour: "white",
14
+ });
15
+ canvasCache.set(key, canvas);
16
+ }
17
+ return canvas;
18
+ }
19
+ export async function renderChart(config, width = DEFAULT_WIDTH, height = DEFAULT_HEIGHT) {
20
+ const canvas = getCanvas(width, height);
21
+ const buffer = await canvas.renderToBuffer(config);
22
+ return buffer.toString("base64");
23
+ }
24
+ //# sourceMappingURL=chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart.js","sourceRoot":"","sources":["../src/chart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,wDAAwD;AACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA6B,CAAC;AAEzD,SAAS,SAAS,CAAC,KAAa,EAAE,MAAc;IAC9C,MAAM,GAAG,GAAG,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;IACjC,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,IAAI,iBAAiB,CAAC;YAC7B,KAAK;YACL,MAAM;YACN,gBAAgB,EAAE,OAAO;SAC1B,CAAC,CAAC;QACH,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAA0B,EAC1B,QAAgB,aAAa,EAC7B,SAAiB,cAAc;IAE/B,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC"}
package/dist/index.js CHANGED
@@ -5,6 +5,7 @@ import jsonata from "jsonata";
5
5
  import { ApiClient } from "./api-client.js";
6
6
  import { toolDefinitions } from "./tool-definitions.js";
7
7
  import { docResources } from "./resources.js";
8
+ import { renderChart } from "./chart.js";
8
9
  const INSTRUCTIONS = `You are connected to the InsightSentry financial data API. You have access to real-time and historical market data for equities, futures, options, crypto, forex, and more.
9
10
 
10
11
  ## IMPORTANT: Symbol Code Format
@@ -56,7 +57,7 @@ If you're unsure about a symbol code, search for it: \`search_symbols({ query: "
56
57
 
57
58
  ### "Fundamental analysis" (e.g., "What's Apple's free cash flow?", "Show me Tesla's balance sheet")
58
59
  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
+ 2. \`get_symbol_fundamentals\` — Returns {code, data: [...hundreds of fields...], last_update}. **Always use \`filter\`** to extract only what's needed: \`filter: "data[category='Statistics'].{ \\"id\\": id, \\"name\\": name, \\"value\\": value }"\`. Never return the full response.
60
61
  3. (Optional) \`get_fundamentals_series\` — For historical trends of specific indicators (max 5 IDs per request).
61
62
 
62
63
  ### "SEC filings and transcripts"
@@ -76,7 +77,7 @@ Read the documentation resources for comprehensive guides:
76
77
  - **Symbol format**: Always \`EXCHANGE:SYMBOL\` (e.g., NASDAQ:AAPL, BINANCE:BTCUSDT, CME_MINI:NQ1!)
77
78
  - **Option codes**: \`OPRA:AAPL260417P325.0\` = OPRA exchange, AAPL, expires 2026-04-17, Put, $325 strike
78
79
  - **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). 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
+ - **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). Use \`filter\` to compute aggregates or extract specific fields from the series (e.g., \`series.close\`).
80
81
  - **WebSocket**: For real-time streaming, read the websocket resource. Two endpoints: /live (market data) and /newsfeed (news).
81
82
 
82
83
  ## Handling Large Responses — Use \`filter\` (JSONata)
@@ -88,8 +89,8 @@ Examples:
88
89
  - \`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
90
  - \`get_symbol_fundamentals({ symbol: "NASDAQ:AAPL", filter: "$distinct(data.category)" })\` — list available categories first
90
91
  - \`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
92
+ - \`get_symbol_fundamentals({ symbol: "NASDAQ:AAPL", filter: "data[category='Statistics'].{ \"id\": id, \"name\": name, \"value\": value }" })\` — then grab specific category with values
93
+ - \`screen_stocks({ fields: ["close", "volume", "market_cap"], filter: "$sum(data[market_cap != null].market_cap)" })\` — aggregate instead of listing rows (filter nulls first, as some rows may lack a field)
93
94
  - \`get_stock_screener_params({ filter: "available_fields[$contains($, \\"volume\\")]" })\` — search screener fields by keyword (available_fields is a flat string array, not objects)
94
95
  - \`get_symbol_info({ symbol: "NASDAQ:AAPL", filter: "$keys($)" })\` — list all available fields first
95
96
  - \`get_symbol_info({ symbol: "NASDAQ:AAPL", filter: "{ \"sector\": sector, \"industry\": industry, \"market_cap\": market_cap, \"ceo\": ceo }" })\` — then pick specific fields
@@ -100,7 +101,7 @@ Examples:
100
101
  - \`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
102
  - \`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
103
  - \`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
+ - \`screen_stocks({ fields: ["close", "volume", "market_cap", "change_percent"], filter: "data[change_percent][change_percent > 0].{ \"name\": name, \"change_percent\": change_percent }" })\` — only gainers (first predicate filters out nulls)
104
105
  - \`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
 
106
107
  Also prefer API-level filtering when available (screener field selection, option \`type\`/\`range\` filters) — combine with \`filter\` for maximum efficiency.
@@ -109,16 +110,59 @@ Also prefer API-level filtering when available (screener field selection, option
109
110
  Screener fields are limited to 10 per request — pick the most relevant ones and use \`filter\` to narrow and reshape results.
110
111
 
111
112
  **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
+ \`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][price_free_cash_flow_ttm][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
 
114
115
  **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
+ \`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][relative_volume_intraday][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
 
117
118
  **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
+ \`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][debt_to_equity_fq][operating_margin_ttm][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
 
120
121
  **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 }" })\`
122
+ \`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][volatility_week][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 }" })\`
123
+
124
+ ## Charting with \`render_chart\`
125
+
126
+ Use \`render_chart\` to visualize data as PNG images. It accepts a full [Chart.js](https://www.chartjs.org/docs/) configuration as a JSON string. Combine with \`get_symbol_series\` or \`get_symbol_history\` using \`filter\` to extract chart-ready arrays.
127
+
128
+ ### Series response format
129
+ \`get_symbol_series\` and \`get_symbol_history\` return:
130
+ \`\`\`json
131
+ { "code": "NASDAQ:AAPL", "bar_type": "1d", "series": [{ "time": 1733432340, "open": 242.89, "high": 243.09, "low": 242.82, "close": 243.08, "volume": 533779 }, ...] }
132
+ \`\`\`
133
+ Use \`filter\` to extract parallel arrays for charting — e.g., \`filter: "{ \"labels\": series.$fromMillis(time * 1000, \"[M01]/[D01]\"), \"close\": series.close }"\`.
134
+
135
+ ### Example: Line chart — daily closing prices
136
+ Step 1: Fetch data with filter to extract labels and values:
137
+ \`get_symbol_series({ symbol: "NASDAQ:AAPL", bar_type: "day", dp: 30, filter: "{ \"labels\": series.$fromMillis(time * 1000, \"[M01]/[D01]\"), \"close\": series.close }" })\`
138
+ → returns \`{ "labels": ["03/01", "03/02", ...], "close": [242.5, 243.1, ...] }\`
139
+
140
+ Step 2: Pass to render_chart:
141
+ \`render_chart({ config: "{ \"type\": \"line\", \"data\": { \"labels\": [\"03/01\", \"03/02\", ...], \"datasets\": [{ \"label\": \"AAPL Close\", \"data\": [242.5, 243.1, ...], \"borderColor\": \"rgb(59,130,246)\", \"fill\": false, \"pointRadius\": 0 }] }, \"options\": { \"plugins\": { \"title\": { \"display\": true, \"text\": \"AAPL Daily Close (30 days)\" } } } }" })\`
142
+
143
+ ### Example: Bar chart — daily volume
144
+ \`get_symbol_series({ symbol: "NASDAQ:AAPL", bar_type: "day", dp: 30, filter: "{ \"labels\": series.$fromMillis(time * 1000, \"[M01]/[D01]\"), \"volume\": series.volume }" })\`
145
+ \`render_chart({ config: "{ \"type\": \"bar\", \"data\": { \"labels\": [...], \"datasets\": [{ \"label\": \"Volume\", \"data\": [...], \"backgroundColor\": \"rgba(59,130,246,0.5)\" }] }, \"options\": { \"plugins\": { \"title\": { \"display\": true, \"text\": \"AAPL Daily Volume\" } } } }" })\`
146
+
147
+ ### Example: Multi-line — comparing two symbols
148
+ Fetch both series (can be parallel), then combine into one chart:
149
+ \`render_chart({ config: "{ \"type\": \"line\", \"data\": { \"labels\": [...dates...], \"datasets\": [{ \"label\": \"AAPL\", \"data\": [...], \"borderColor\": \"rgb(59,130,246)\", \"pointRadius\": 0 }, { \"label\": \"MSFT\", \"data\": [...], \"borderColor\": \"rgb(239,68,68)\", \"pointRadius\": 0 }] }, \"options\": { \"plugins\": { \"title\": { \"display\": true, \"text\": \"AAPL vs MSFT\" } } } }" })\`
150
+
151
+ ### Example: Candlestick-style OHLC using floating bars
152
+ Chart.js doesn't have a native candlestick type, but you can approximate with floating bar charts:
153
+ \`get_symbol_series({ symbol: "NASDAQ:AAPL", bar_type: "day", dp: 20, filter: "{ \"labels\": series.$fromMillis(time * 1000, \"[M01]/[D01]\"), \"open\": series.open, \"close\": series.close, \"high\": series.high, \"low\": series.low }" })\`
154
+ Use the \`open\` and \`close\` arrays as \`[low, high]\` pairs in a floating bar dataset, with color conditional on open vs close.
155
+
156
+ ### Example: Intraday chart from history
157
+ \`get_symbol_history({ symbol: "NASDAQ:AAPL", bar_type: "minute", bar_interval: 5, start_date: "2026-03", filter: "{ \"labels\": series.$fromMillis(time * 1000, \"[H01]:[m01]\"), \"close\": series.close }" })\`
158
+ Then pass labels and close arrays to \`render_chart\` as a line chart.
159
+
160
+ ### Tips
161
+ - Use \`filter\` with \`$fromMillis(time * 1000, \"[pattern]\")\` to format Unix timestamps as readable labels. The \`time\` field is in seconds — multiply by 1000 for milliseconds.
162
+ - Set \`pointRadius: 0\` on line charts with many data points for cleaner output.
163
+ - For large datasets (hundreds of points), use \`dp\` to limit data points or increase chart \`width\`.
164
+ - Supported chart types: line, bar, pie, doughnut, radar, polarArea, bubble, scatter.
165
+ - Default dimensions: 800×400px. Use \`width\`/\`height\` params to customize (200–2000px).
122
166
  `;
123
167
  const apiKey = process.env.INSIGHTSENTRY_API_KEY?.trim();
124
168
  function isJwt(token) {
@@ -192,6 +236,64 @@ for (const tool of toolDefinitions) {
192
236
  }
193
237
  });
194
238
  }
239
+ // Register chart rendering tool
240
+ server.registerTool("render_chart", {
241
+ description: "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.",
242
+ inputSchema: {
243
+ config: z
244
+ .string()
245
+ .describe('Chart.js configuration as a JSON string. Must include "type" and "data" fields. Example: {"type":"line","data":{"labels":["Jan","Feb"],"datasets":[{"label":"Price","data":[100,105]}]},"options":{}}'),
246
+ width: z
247
+ .number()
248
+ .int()
249
+ .min(200)
250
+ .max(2000)
251
+ .default(800)
252
+ .describe("Chart width in pixels (default: 800)")
253
+ .optional(),
254
+ height: z
255
+ .number()
256
+ .int()
257
+ .min(200)
258
+ .max(2000)
259
+ .default(400)
260
+ .describe("Chart height in pixels (default: 400)")
261
+ .optional(),
262
+ },
263
+ }, async (args) => {
264
+ try {
265
+ const config = JSON.parse(args.config);
266
+ if (!config.type || !config.data) {
267
+ return {
268
+ content: [
269
+ {
270
+ type: "text",
271
+ text: 'Error: Chart config must include "type" and "data" fields.',
272
+ },
273
+ ],
274
+ isError: true,
275
+ };
276
+ }
277
+ const base64 = await renderChart(config, args.width, args.height);
278
+ return {
279
+ content: [
280
+ {
281
+ type: "image",
282
+ data: base64,
283
+ mimeType: "image/png",
284
+ },
285
+ ],
286
+ };
287
+ }
288
+ catch (error) {
289
+ return {
290
+ content: [
291
+ { type: "text", text: `Error: ${error.message}` },
292
+ ],
293
+ isError: true,
294
+ };
295
+ }
296
+ });
195
297
  // Register documentation resources
196
298
  for (const doc of docResources) {
197
299
  server.registerResource(doc.name, doc.uri, { mimeType: doc.mimeType, description: doc.description }, async () => ({
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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY,EAAE,WAAW,EA+rFrC,CAAC"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,YAAY,EAAE,WAAW,EA+qFrC,CAAC"}
package/dist/resources.js CHANGED
@@ -102,22 +102,6 @@ Use the \`search_symbols\` tool to find symbol codes.
102
102
  }
103
103
  \`\`\`
104
104
 
105
- ### Compact format (abbr=true)
106
- Add \`abbr=true\` to get arrays instead of objects — smaller response, same data.
107
- **Important:** Not all bar types include the same fields. Tick data may only have \`[time, type, close]\` or \`[time, type, close, volume]\`. Always check \`series_keys\` to know the column order.
108
- \`\`\`json
109
- {
110
- "code": "NASDAQ:AAPL",
111
- "bar_end": 1733432399.0,
112
- "last_update": 1733432399820,
113
- "bar_type": "1m",
114
- "series_keys": ["time", "open", "high", "low", "close", "volume"],
115
- "series": [
116
- [1733432340.0, 242.89, 243.09, 242.82, 243.08, 533779.0]
117
- ]
118
- }
119
- \`\`\`
120
-
121
105
  ## Response Format: Quote Data
122
106
  \`\`\`json
123
107
  {
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.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.7",
3
+ "version": "1.2.9",
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",
@@ -30,6 +30,8 @@
30
30
  "license": "MIT",
31
31
  "dependencies": {
32
32
  "@modelcontextprotocol/sdk": "^1.12.1",
33
+ "chart.js": "^4.5.1",
34
+ "chartjs-node-canvas": "^5.0.0",
33
35
  "jsonata": "^2.1.0",
34
36
  "zod": "^4.3.6"
35
37
  },
@@ -41,4 +43,4 @@
41
43
  "engines": {
42
44
  "node": ">=18"
43
45
  }
44
- }
46
+ }