agentcanary-mcp 1.2.0 → 1.3.1

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 (3) hide show
  1. package/index.js +35 -4
  2. package/package.json +10 -3
  3. package/server.json +3 -3
package/index.js CHANGED
@@ -173,7 +173,7 @@ server.tool(
173
173
  // --- Tool: get_news (builder+) ---
174
174
  server.tool(
175
175
  "get_news",
176
- "Get latest market news articles aggregated by AgentCanary. Filterable by ticker. Requires Builder tier or above.",
176
+ "Get aggregated market news from multiple feeds (crypto, equities, macro, geopolitics). Each article returns title, summary, source, publish timestamp, and sentiment tags (POSITIVE / NEGATIVE / NEUTRAL). Filterable by ticker for asset-specific news. Useful for agents tracking catalysts, doing event-driven analysis, or feeding LLM summarization pipelines. Builder tier or above.",
177
177
  {
178
178
  limit: z.number().min(1).max(30).default(10).describe("Number of articles"),
179
179
  ticker: z.string().optional().describe("Filter by ticker symbol (e.g. BTC, NVDA)"),
@@ -330,7 +330,7 @@ server.tool(
330
330
  // --- Tool: get_central_banks (signal+) ---
331
331
  server.tool(
332
332
  "get_central_banks",
333
- "Get central bank data balance sheets, gold reserves, BTC reserves, stablecoin exposure, TIC flows. Tracks institutional macro positioning.",
333
+ "Get central bank positioning data across Fed, ECB, BOJ, PBOC, and major sovereigns. Views: balance-sheets (total assets + YoY change), gold (reserves + accumulation rate), btc (sovereign BTC holdings, post-2024 trend), stablecoins (US dollar exposure via USDC/USDT reserves), reserves (composition shifts), tic (Treasury International Capital flows = who's buying/selling US debt). Useful for agents detecting de-dollarization signals, sovereign rotation, or institutional positioning shifts ahead of macro moves. Signal tier.",
334
334
  {
335
335
  view: z.string().optional().describe("View: balance-sheets, gold, btc, stablecoins, reserves, tic. Omit for overview."),
336
336
  },
@@ -344,7 +344,7 @@ server.tool(
344
344
  // --- Tool: get_expectations (signal+) ---
345
345
  server.tool(
346
346
  "get_expectations",
347
- "Get market expectations crowded trades, early-stage narratives, rotation signals. Identifies where consensus is building or breaking.",
347
+ "Get positioning-vs-consensus signals. Views: crowded (narratives scoring 4-5 in momentum + high positioning concentration = contrarian sell signals), early (narratives scoring 1-2 = under-the-radar opportunities before consensus forms), rotation (sector/narrative flows showing where capital is moving FROM and TO). Each view returns ranked lists with deltas + the underlying signals driving the score. Useful for agents running contrarian strategies, mean-reversion plays, or trying to front-run consensus shifts. Signal tier.",
348
348
  {
349
349
  view: z.string().optional().describe("View: crowded, early, rotation. Omit for overview."),
350
350
  },
@@ -358,7 +358,7 @@ server.tool(
358
358
  // --- Tool: get_macro (builder+) ---
359
359
  server.tool(
360
360
  "get_macro",
361
- "Get macro data snapshot (30+ FRED series), business cycle position, global liquidity, US M2, supply chain stress, calendar of high-impact events.",
361
+ "Get macro state across 30+ FRED series + derived composites. Views: snapshot (full macro dashboard with regime, gauges, key rates), business-cycle (LEI, claims, yield curve, recession probability), global-liquidity (CB balance sheets aggregated, M2 trend, credit spreads, Baltic Dry shipping), us-m2 (US money supply YoY), supply-chain (stress index), calendar-high-impact (next 72h of high-impact economic events with prev/forecast), risk-score (0-100 composite), signals (binary trigger states). Omit view for regime classification (expansion/stagflation/late-cycle/recession). Useful for agents conditioning on macro regime before tactical decisions. Builder tier or above.",
362
362
  {
363
363
  view: z.string().optional().describe("View: snapshot, business-cycle, global-liquidity, us-m2, supply-chain, calendar-high-impact, risk-score, signals. Omit for regime."),
364
364
  },
@@ -369,6 +369,37 @@ server.tool(
369
369
  }
370
370
  );
371
371
 
372
+ // --- Tool: get_open_interest (builder+) ---
373
+ // Live derivatives positioning across 43 tracked perps × 21 exchanges.
374
+ // Sourced from coinglass-v2; refreshes ~hourly upstream. Same atom that
375
+ // powers the OPEN INTEREST section of the pulse brief.
376
+ server.tool(
377
+ "get_open_interest",
378
+ "Get cross-exchange open-interest snapshot for crypto perps. Aggregate OI across 43 symbols + top-N by USD size + top-N by absolute 4h Δ% (intraday OI shifters). Useful for agents detecting positioning unwinds, new builds, leveraged crowding. Builder tier or above.",
379
+ {
380
+ view: z.string().optional().describe("View: 'top' (top symbols by OI USD), 'shifters' (top intraday OI movers by 4h Δ%). Omit for full snapshot (aggregate + top + shifters + envelope)."),
381
+ },
382
+ async ({ view }) => {
383
+ const endpoint = view ? `derivatives/oi/${view}` : "derivatives/oi";
384
+ const data = await acFetch(endpoint);
385
+ return { content: [{ type: "text", text: truncate(data) }] };
386
+ }
387
+ );
388
+
389
+ // --- Tool: get_liquidations (builder+) ---
390
+ // 24h aggregate + latest 4h breakdown with long/short USD split, per-side
391
+ // event counts, dominant-direction label. Same atom that powers the
392
+ // Liquidations line of the pulse brief.
393
+ server.tool(
394
+ "get_liquidations",
395
+ "Get crypto perp liquidations. 24h total + latest-4h breakdown with long/short USD split, per-side event counts, long%/short%, and dominant-direction label (long-dominant >=65%, short-dominant <=35%, balanced). Useful for agents detecting forced deleveraging direction. Builder tier or above.",
396
+ {},
397
+ async () => {
398
+ const data = await acFetch("derivatives/liquidations");
399
+ return { content: [{ type: "text", text: truncate(data) }] };
400
+ }
401
+ );
402
+
372
403
  // ─── Start ───────────────────────────────────────────────────────
373
404
 
374
405
  await detectTier();
package/package.json CHANGED
@@ -1,14 +1,21 @@
1
1
  {
2
2
  "name": "agentcanary-mcp",
3
- "version": "1.2.0",
3
+ "version": "1.3.1",
4
4
  "mcpName": "io.github.MrCerq/agentcanary",
5
- "description": "MCP server for AgentCanary market intelligence briefs, indicators, regime, narratives, predictions, scoring",
5
+ "description": "MCP server for AgentCanary market intelligence \u2014 briefs, indicators, regime, narratives, predictions, scoring, plus live derivatives (open interest, liquidations)",
6
6
  "main": "index.js",
7
7
  "type": "module",
8
8
  "bin": {
9
9
  "agentcanary-mcp": "./index.js"
10
10
  },
11
- "keywords": ["mcp", "market-intelligence", "agentcanary", "trading", "macro", "crypto"],
11
+ "keywords": [
12
+ "mcp",
13
+ "market-intelligence",
14
+ "agentcanary",
15
+ "trading",
16
+ "macro",
17
+ "crypto"
18
+ ],
12
19
  "author": "AgentCanary",
13
20
  "license": "MIT",
14
21
  "homepage": "https://agentcanary.ai",
package/server.json CHANGED
@@ -2,19 +2,19 @@
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
3
  "name": "io.github.MrCerq/agentcanary",
4
4
  "title": "AgentCanary",
5
- "description": "Cross-asset market intelligence: macro regime, signals, briefs, narratives, options, DeFi.",
5
+ "description": "Cross-asset market intelligence + live derivatives (OI, liquidations) for AI agent builders.",
6
6
  "websiteUrl": "https://agentcanary.ai",
7
7
  "repository": {
8
8
  "url": "https://github.com/MrCerq/agentcanary-mcp",
9
9
  "source": "github"
10
10
  },
11
- "version": "1.2.0",
11
+ "version": "1.3.1",
12
12
  "packages": [
13
13
  {
14
14
  "registryType": "npm",
15
15
  "registryBaseUrl": "https://registry.npmjs.org",
16
16
  "identifier": "agentcanary-mcp",
17
- "version": "1.2.0",
17
+ "version": "1.3.1",
18
18
  "transport": {
19
19
  "type": "stdio"
20
20
  },