agentcanary-mcp 1.0.0 → 1.1.0

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.
Files changed (2) hide show
  1. package/index.js +84 -0
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -263,6 +263,90 @@ server.tool(
263
263
  }
264
264
  );
265
265
 
266
+ // --- Tool: get_signals (signal+) ---
267
+ server.tool(
268
+ "get_signals",
269
+ "Get trading signals — whale alerts, fear & greed, funding rates, BTC ETF flows, VIX, credit stress, sector rotation, insider activity, DXY, oil, yield curve, and more. Pass a type for specific signal.",
270
+ {
271
+ type: z.string().optional().describe("Signal type: whale-alerts, fear-greed, funding-rates, btc-etf-flows, vix, credit-stress, sector-rotation, insider-activity, correlations, dxy, oil, yield-curve, market-structure, stablecoin-dominance, whale-positions, cftc-cot, bofa-fms, dispersion, geopolitical-risk, decision-engine"),
272
+ },
273
+ async ({ type }) => {
274
+ const endpoint = type ? `signals/${type}` : "signals/decision-engine";
275
+ const data = await acFetch(endpoint);
276
+ return { content: [{ type: "text", text: truncate(data) }] };
277
+ }
278
+ );
279
+
280
+ // --- Tool: get_defi (signal+) ---
281
+ server.tool(
282
+ "get_defi",
283
+ "Get DeFi intelligence — yields, PE ratios, stablecoin flows, chain activity, token unlocks, perp funding. Pass a category for specific data.",
284
+ {
285
+ category: z.string().optional().describe("Category: yields, pe-ratios, stablecoins, chains, unlocks, perps, signals, intelligence"),
286
+ },
287
+ async ({ category }) => {
288
+ const endpoint = category ? `defi/${category}` : "defi/intelligence";
289
+ const data = await acFetch(endpoint);
290
+ return { content: [{ type: "text", text: truncate(data) }] };
291
+ }
292
+ );
293
+
294
+ // --- Tool: get_btc_options (signal+) ---
295
+ server.tool(
296
+ "get_btc_options",
297
+ "Get BTC options data — max pain, volatility skew, put/call ratios. Key for understanding institutional positioning.",
298
+ {
299
+ view: z.string().optional().describe("View: maxpain, skew. Omit for overview."),
300
+ },
301
+ async ({ view }) => {
302
+ const endpoint = view ? `btc-options/${view}` : "btc-options";
303
+ const data = await acFetch(endpoint);
304
+ return { content: [{ type: "text", text: truncate(data) }] };
305
+ }
306
+ );
307
+
308
+ // --- Tool: get_central_banks (signal+) ---
309
+ server.tool(
310
+ "get_central_banks",
311
+ "Get central bank data — balance sheets, gold reserves, BTC reserves, stablecoin exposure, TIC flows. Tracks institutional macro positioning.",
312
+ {
313
+ view: z.string().optional().describe("View: balance-sheets, gold, btc, stablecoins, reserves, tic. Omit for overview."),
314
+ },
315
+ async ({ view }) => {
316
+ const endpoint = view ? `central-banks/${view}` : "central-banks";
317
+ const data = await acFetch(endpoint);
318
+ return { content: [{ type: "text", text: truncate(data) }] };
319
+ }
320
+ );
321
+
322
+ // --- Tool: get_expectations (signal+) ---
323
+ server.tool(
324
+ "get_expectations",
325
+ "Get market expectations — crowded trades, early-stage narratives, rotation signals. Identifies where consensus is building or breaking.",
326
+ {
327
+ view: z.string().optional().describe("View: crowded, early, rotation. Omit for overview."),
328
+ },
329
+ async ({ view }) => {
330
+ const endpoint = view ? `expectations/${view}` : "expectations";
331
+ const data = await acFetch(endpoint);
332
+ return { content: [{ type: "text", text: truncate(data) }] };
333
+ }
334
+ );
335
+
336
+ // --- Tool: get_macro (builder+) ---
337
+ server.tool(
338
+ "get_macro",
339
+ "Get macro data — snapshot (30+ FRED series), business cycle position, global liquidity, US M2, supply chain stress, calendar of high-impact events.",
340
+ {
341
+ view: z.string().optional().describe("View: snapshot, business-cycle, global-liquidity, us-m2, supply-chain, calendar-high-impact, risk-score, signals. Omit for regime."),
342
+ },
343
+ async ({ view }) => {
344
+ const endpoint = view ? `macro/${view}` : "macro/regime";
345
+ const data = await acFetch(endpoint);
346
+ return { content: [{ type: "text", text: truncate(data) }] };
347
+ }
348
+ );
349
+
266
350
  // ─── Start ───────────────────────────────────────────────────────
267
351
 
268
352
  await detectTier();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentcanary-mcp",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "MCP server for AgentCanary market intelligence — briefs, indicators, regime, narratives, predictions, scoring",
5
5
  "main": "index.js",
6
6
  "type": "module",