@aibtc/mcp-server 1.43.0 → 1.45.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 (53) hide show
  1. package/dist/config/sponsor.d.ts +8 -0
  2. package/dist/config/sponsor.d.ts.map +1 -1
  3. package/dist/config/sponsor.js +10 -0
  4. package/dist/config/sponsor.js.map +1 -1
  5. package/dist/services/hiro-api.d.ts +3 -0
  6. package/dist/services/hiro-api.d.ts.map +1 -1
  7. package/dist/services/hiro-api.js.map +1 -1
  8. package/dist/services/nonce-tracker.d.ts +135 -0
  9. package/dist/services/nonce-tracker.d.ts.map +1 -0
  10. package/dist/services/nonce-tracker.js +315 -0
  11. package/dist/services/nonce-tracker.js.map +1 -0
  12. package/dist/services/wallet-manager.d.ts +1 -1
  13. package/dist/services/wallet-manager.d.ts.map +1 -1
  14. package/dist/services/wallet-manager.js +10 -10
  15. package/dist/services/wallet-manager.js.map +1 -1
  16. package/dist/tools/arxiv-research.tools.d.ts +16 -0
  17. package/dist/tools/arxiv-research.tools.d.ts.map +1 -0
  18. package/dist/tools/arxiv-research.tools.js +433 -0
  19. package/dist/tools/arxiv-research.tools.js.map +1 -0
  20. package/dist/tools/inbox.tools.js +23 -18
  21. package/dist/tools/inbox.tools.js.map +1 -1
  22. package/dist/tools/index.d.ts.map +1 -1
  23. package/dist/tools/index.js +9 -0
  24. package/dist/tools/index.js.map +1 -1
  25. package/dist/tools/nonce.tools.d.ts +11 -0
  26. package/dist/tools/nonce.tools.d.ts.map +1 -0
  27. package/dist/tools/nonce.tools.js +689 -0
  28. package/dist/tools/nonce.tools.js.map +1 -0
  29. package/dist/tools/skill-mappings.d.ts.map +1 -1
  30. package/dist/tools/skill-mappings.js +20 -9
  31. package/dist/tools/skill-mappings.js.map +1 -1
  32. package/dist/tools/wallet-management.tools.js +1 -1
  33. package/dist/tools/wallet-management.tools.js.map +1 -1
  34. package/dist/tools/yield-dashboard.tools.d.ts +17 -0
  35. package/dist/tools/yield-dashboard.tools.d.ts.map +1 -0
  36. package/dist/tools/yield-dashboard.tools.js +559 -0
  37. package/dist/tools/yield-dashboard.tools.js.map +1 -0
  38. package/dist/transactions/builder.d.ts +9 -20
  39. package/dist/transactions/builder.d.ts.map +1 -1
  40. package/dist/transactions/builder.js +34 -92
  41. package/dist/transactions/builder.js.map +1 -1
  42. package/dist/transactions/sponsor-builder.d.ts +6 -12
  43. package/dist/transactions/sponsor-builder.d.ts.map +1 -1
  44. package/dist/transactions/sponsor-builder.js +81 -39
  45. package/dist/transactions/sponsor-builder.js.map +1 -1
  46. package/dist/utils/relay-health.d.ts +14 -5
  47. package/dist/utils/relay-health.d.ts.map +1 -1
  48. package/dist/utils/relay-health.js +60 -76
  49. package/dist/utils/relay-health.js.map +1 -1
  50. package/dist/yield-hunter/index.js +4 -4
  51. package/dist/yield-hunter/index.js.map +1 -1
  52. package/package.json +1 -1
  53. package/skill/SKILL.md +1 -1
@@ -53,7 +53,7 @@ declare class WalletManager {
53
53
  /**
54
54
  * Lock the wallet (clear session)
55
55
  */
56
- lock(): void;
56
+ lock(): Promise<void>;
57
57
  /**
58
58
  * Get the active account if unlocked
59
59
  */
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-manager.d.ts","sourceRoot":"","sources":["../../src/services/wallet-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAiBL,KAAK,cAAc,EAEnB,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAc1D;;GAEG;AACH,UAAU,YAAa,SAAQ,eAAe;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE9C;;GAEG;AACH,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IAEP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC;;OAEG;YACW,iBAAiB;IAO/B;;OAEG;YACW,WAAW;IAiDzB;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC;IAS9B;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC;IAW9B;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuGlE;;OAEG;IACH,IAAI,IAAI,IAAI;IAmBZ;;OAEG;IACH,gBAAgB,IAAI,OAAO,GAAG,IAAI;IAclC;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,cAAc,IAAI,CAAC,eAAe,GAAG;QACnC,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;KACxB,CAAC,GAAG,IAAI;IAoBT;;;OAGG;IACH,UAAU,IAAI,OAAO,GAAG,IAAI;IAc5B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAM9C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAMpC;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMjD;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnD;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CrE;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BzE;;OAEG;IACG,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAiHhB;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAM3B;AAGD,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD"}
1
+ {"version":3,"file":"wallet-manager.d.ts","sourceRoot":"","sources":["../../src/services/wallet-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAiBL,KAAK,cAAc,EAEnB,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAO3B,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAc1D;;GAEG;AACH,UAAU,YAAa,SAAQ,eAAe;IAC5C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAE9C;;GAEG;AACH,cAAM,aAAa;IACjB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,OAAO,CAAwB;IACvC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IAEP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,aAAa;IAOnC;;OAEG;YACW,iBAAiB;IAO/B;;OAEG;YACW,WAAW;IAiDzB;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC;IAS9B;;OAEG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,kBAAkB,CAAC;IAW9B;;OAEG;IACG,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuGlE;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;OAEG;IACH,gBAAgB,IAAI,OAAO,GAAG,IAAI;IAclC;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,cAAc,IAAI,CAAC,eAAe,GAAG;QACnC,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;KACxB,CAAC,GAAG,IAAI;IAoBT;;;OAGG;IACH,UAAU,IAAI,OAAO,GAAG,IAAI;IAc5B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAM9C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAMpC;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAMjD;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnD;;OAEG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CrE;;OAEG;IACG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BzE;;OAEG;IACG,cAAc,CAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAiHhB;;OAEG;IACG,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBxD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAM3B;AAGD,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD"}
@@ -169,17 +169,17 @@ class WalletManager {
169
169
  config.activeWalletId = walletId;
170
170
  await writeAppConfig(config);
171
171
  // Reset pending nonce counter so the new session re-syncs with the chain
172
- resetPendingNonce(account.address);
172
+ await resetPendingNonce(account.address);
173
173
  return account;
174
174
  }
175
175
  /**
176
176
  * Lock the wallet (clear session)
177
177
  */
178
- lock() {
178
+ async lock() {
179
179
  this.clearAutoLockTimer();
180
180
  // Reset pending nonce counter before clearing session
181
181
  if (this.session?.account) {
182
- resetPendingNonce(this.session.account.address);
182
+ await resetPendingNonce(this.session.account.address);
183
183
  }
184
184
  // Zero out sensitive key buffers before dropping references
185
185
  if (this.session?.account) {
@@ -208,7 +208,7 @@ class WalletManager {
208
208
  }
209
209
  // Check if session expired
210
210
  if (this.session.expiresAt && new Date() > this.session.expiresAt) {
211
- this.lock();
211
+ void this.lock();
212
212
  return null;
213
213
  }
214
214
  return this.session.account;
@@ -228,7 +228,7 @@ class WalletManager {
228
228
  }
229
229
  // Check expiry
230
230
  if (this.session.expiresAt && new Date() > this.session.expiresAt) {
231
- this.lock();
231
+ void this.lock();
232
232
  return null;
233
233
  }
234
234
  return {
@@ -249,7 +249,7 @@ class WalletManager {
249
249
  }
250
250
  // Check expiry
251
251
  if (this.session.expiresAt && new Date() > this.session.expiresAt) {
252
- this.lock();
252
+ void this.lock();
253
253
  return null;
254
254
  }
255
255
  return this.session.account;
@@ -290,7 +290,7 @@ class WalletManager {
290
290
  throw new WalletNotFoundError(walletId);
291
291
  }
292
292
  // Lock current session
293
- this.lock();
293
+ await this.lock();
294
294
  // Update active wallet
295
295
  const config = await readAppConfig();
296
296
  config.activeWalletId = walletId;
@@ -323,7 +323,7 @@ class WalletManager {
323
323
  }
324
324
  // If this wallet is currently active, lock it
325
325
  if (this.session?.walletId === walletId) {
326
- this.lock();
326
+ await this.lock();
327
327
  }
328
328
  // Delete wallet storage
329
329
  await deleteWalletStorage(walletId);
@@ -463,7 +463,7 @@ class WalletManager {
463
463
  }
464
464
  // Lock wallet if currently unlocked (force re-auth with new password)
465
465
  if (this.session?.walletId === walletId) {
466
- this.lock();
466
+ await this.lock();
467
467
  }
468
468
  }
469
469
  /**
@@ -492,7 +492,7 @@ class WalletManager {
492
492
  return; // No auto-lock
493
493
  }
494
494
  this.lockTimer = setTimeout(() => {
495
- this.lock();
495
+ void this.lock();
496
496
  }, minutes * 60 * 1000);
497
497
  }
498
498
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-manager.js","sourceRoot":"","sources":["../../src/services/wallet-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet-manager.js","sourceRoot":"","sources":["../../src/services/wallet-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * arXiv Research MCP tools
3
+ *
4
+ * Fetch and score arXiv papers on LLMs, autonomous agents, and AI infrastructure.
5
+ * Uses the public arXiv Atom API — no API key required.
6
+ *
7
+ * Tools:
8
+ * - arxiv_search — Fetch recent papers from arXiv, score for LLM/agent relevance
9
+ * - arxiv_compile_digest — Compile a Markdown digest from recent arXiv papers (in-memory)
10
+ * - arxiv_list_digests — List recent digest files from ~/.aibtc/arxiv-research/digests/
11
+ *
12
+ * Mirrors the arxiv-research skill (aibtcdev/skills/arxiv-research/).
13
+ */
14
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
15
+ export declare function registerArxivResearchTools(server: McpServer): void;
16
+ //# sourceMappingURL=arxiv-research.tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arxiv-research.tools.d.ts","sourceRoot":"","sources":["../../src/tools/arxiv-research.tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwNpE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsUlE"}
@@ -0,0 +1,433 @@
1
+ /**
2
+ * arXiv Research MCP tools
3
+ *
4
+ * Fetch and score arXiv papers on LLMs, autonomous agents, and AI infrastructure.
5
+ * Uses the public arXiv Atom API — no API key required.
6
+ *
7
+ * Tools:
8
+ * - arxiv_search — Fetch recent papers from arXiv, score for LLM/agent relevance
9
+ * - arxiv_compile_digest — Compile a Markdown digest from recent arXiv papers (in-memory)
10
+ * - arxiv_list_digests — List recent digest files from ~/.aibtc/arxiv-research/digests/
11
+ *
12
+ * Mirrors the arxiv-research skill (aibtcdev/skills/arxiv-research/).
13
+ */
14
+ import { z } from "zod";
15
+ import { existsSync, readdirSync } from "node:fs";
16
+ import { join } from "node:path";
17
+ import { createJsonResponse, createErrorResponse } from "../utils/index.js";
18
+ // ============================================================================
19
+ // Constants
20
+ // ============================================================================
21
+ const ARXIV_API = "http://export.arxiv.org/api/query";
22
+ const DEFAULT_CATEGORIES = ["cs.AI", "cs.CL", "cs.LG", "cs.MA"];
23
+ const DEFAULT_MAX = 50;
24
+ const DEFAULT_MIN_SCORE = 3;
25
+ const STATE_DIR = join(process.env.HOME ?? "~", ".aibtc", "arxiv-research");
26
+ const DIGESTS_DIR = join(STATE_DIR, "digests");
27
+ // ============================================================================
28
+ // XML Parsing Helpers
29
+ // ============================================================================
30
+ function extractTag(xml, tag) {
31
+ const match = xml.match(new RegExp(`<${tag}[^>]*>([\\s\\S]*?)<\\/${tag}>`));
32
+ return match ? match[1].replace(/\s+/g, " ").trim() : "";
33
+ }
34
+ function extractAllTags(xml, tag) {
35
+ const results = [];
36
+ const regex = new RegExp(`<${tag}[^>]*>([\\s\\S]*?)<\\/${tag}>`, "g");
37
+ let match;
38
+ while ((match = regex.exec(xml)) !== null) {
39
+ results.push(match[1].replace(/\s+/g, " ").trim());
40
+ }
41
+ return results;
42
+ }
43
+ function extractAttr(xml, tag, attr) {
44
+ const results = [];
45
+ const regex = new RegExp(`<${tag}[^>]*?${attr}="([^"]*)"`, "g");
46
+ let match;
47
+ while ((match = regex.exec(xml)) !== null) {
48
+ results.push(match[1]);
49
+ }
50
+ return results;
51
+ }
52
+ function parseArxivResponse(xml) {
53
+ const papers = [];
54
+ const entryRegex = /<entry>([\s\S]*?)<\/entry>/g;
55
+ let match;
56
+ while ((match = entryRegex.exec(xml)) !== null) {
57
+ const block = match[1];
58
+ const rawId = extractTag(block, "id");
59
+ const arxivId = rawId
60
+ .replace("http://arxiv.org/abs/", "")
61
+ .replace(/v\d+$/, "");
62
+ const title = extractTag(block, "title");
63
+ const abstract = extractTag(block, "summary");
64
+ const published = extractTag(block, "published");
65
+ const updated = extractTag(block, "updated");
66
+ const authorBlocks = extractAllTags(block, "author");
67
+ const authors = authorBlocks
68
+ .map((a) => extractTag(a, "name"))
69
+ .filter(Boolean);
70
+ const categories = extractAttr(block, "category", "term");
71
+ const primaryCat = block.match(/arxiv:primary_category[^>]*term="([^"]*)"/)?.[1] ??
72
+ categories[0] ??
73
+ "";
74
+ const pdfMatch = block.match(/<link[^>]*title="pdf"[^>]*href="([^"]*)"/);
75
+ const pdfUrl = pdfMatch
76
+ ? pdfMatch[1]
77
+ : `https://arxiv.org/pdf/${arxivId}`;
78
+ const absUrl = `https://arxiv.org/abs/${arxivId}`;
79
+ if (arxivId && title) {
80
+ papers.push({
81
+ arxiv_id: arxivId,
82
+ title,
83
+ authors,
84
+ abstract,
85
+ categories,
86
+ primary_category: primaryCat,
87
+ published,
88
+ updated,
89
+ pdf_url: pdfUrl,
90
+ abs_url: absUrl,
91
+ });
92
+ }
93
+ }
94
+ return papers;
95
+ }
96
+ // ============================================================================
97
+ // Relevance Scoring
98
+ // ============================================================================
99
+ const RELEVANCE_SIGNALS = [
100
+ { pattern: /\blarge language model/i, weight: 3, tag: "LLM" },
101
+ { pattern: /\bLLM\b/, weight: 3, tag: "LLM" },
102
+ { pattern: /\bGPT[-\s]?[34o]/i, weight: 2, tag: "LLM" },
103
+ { pattern: /\bClaude\b/i, weight: 2, tag: "LLM" },
104
+ { pattern: /\btransformer/i, weight: 1, tag: "transformer" },
105
+ { pattern: /\bautonomous agent/i, weight: 4, tag: "agent" },
106
+ { pattern: /\bAI agent/i, weight: 4, tag: "agent" },
107
+ { pattern: /\bagent[-\s]?based/i, weight: 3, tag: "agent" },
108
+ { pattern: /\bmulti[-\s]?agent/i, weight: 4, tag: "multi-agent" },
109
+ { pattern: /\btool[-\s]?use\b/i, weight: 3, tag: "tool-use" },
110
+ { pattern: /\bfunction[-\s]?call/i, weight: 3, tag: "tool-use" },
111
+ { pattern: /\bchain[-\s]?of[-\s]?thought/i, weight: 2, tag: "reasoning" },
112
+ { pattern: /\breasoning\b/i, weight: 2, tag: "reasoning" },
113
+ { pattern: /\bplanning\b/i, weight: 2, tag: "planning" },
114
+ { pattern: /\bRL[HF]+\b/, weight: 2, tag: "alignment" },
115
+ { pattern: /\balignment\b/i, weight: 2, tag: "alignment" },
116
+ { pattern: /\bsafety\b/i, weight: 1, tag: "safety" },
117
+ { pattern: /\bfine[-\s]?tun/i, weight: 2, tag: "fine-tuning" },
118
+ { pattern: /\bprompt\b/i, weight: 1, tag: "prompting" },
119
+ { pattern: /\bin[-\s]?context learning/i, weight: 2, tag: "ICL" },
120
+ { pattern: /\bretrieval[-\s]?augmented/i, weight: 2, tag: "RAG" },
121
+ { pattern: /\bRAG\b/, weight: 2, tag: "RAG" },
122
+ { pattern: /\bcode[-\s]?gen/i, weight: 2, tag: "code-gen" },
123
+ { pattern: /\bbenchmark/i, weight: 1, tag: "benchmark" },
124
+ { pattern: /\bscaling\b/i, weight: 1, tag: "scaling" },
125
+ { pattern: /\bmemory\b/i, weight: 1, tag: "memory" },
126
+ { pattern: /\borchestrat/i, weight: 3, tag: "orchestration" },
127
+ { pattern: /\bMCP\b/, weight: 3, tag: "MCP" },
128
+ { pattern: /\bmodel context protocol/i, weight: 3, tag: "MCP" },
129
+ ];
130
+ function scorePaper(paper) {
131
+ const text = `${paper.title} ${paper.abstract}`;
132
+ let score = 0;
133
+ const tags = new Set();
134
+ for (const signal of RELEVANCE_SIGNALS) {
135
+ if (signal.pattern.test(text)) {
136
+ score += signal.weight;
137
+ tags.add(signal.tag);
138
+ }
139
+ }
140
+ if (paper.primary_category === "cs.MA")
141
+ score += 3;
142
+ if (paper.primary_category === "cs.CL")
143
+ score += 1;
144
+ if (paper.primary_category === "cs.AI")
145
+ score += 1;
146
+ return { ...paper, relevance_score: score, relevance_tags: [...tags] };
147
+ }
148
+ // ============================================================================
149
+ // Fetch Helper
150
+ // ============================================================================
151
+ async function fetchAndScorePapers(categories, maxResults) {
152
+ const catQuery = categories.map((c) => `cat:${c}`).join("+OR+");
153
+ const url = `${ARXIV_API}?search_query=${catQuery}&sortBy=submittedDate&sortOrder=descending&max_results=${maxResults}`;
154
+ const response = await fetch(url, {
155
+ headers: { "User-Agent": "aibtcdev/aibtc-mcp-server" },
156
+ signal: AbortSignal.timeout(30000),
157
+ });
158
+ if (!response.ok) {
159
+ throw new Error(`arXiv API returned ${response.status}: ${response.statusText}`);
160
+ }
161
+ const xml = await response.text();
162
+ const papers = parseArxivResponse(xml);
163
+ if (papers.length === 0) {
164
+ return [];
165
+ }
166
+ return papers
167
+ .map(scorePaper)
168
+ .sort((a, b) => b.relevance_score - a.relevance_score);
169
+ }
170
+ // ============================================================================
171
+ // MCP Tools
172
+ // ============================================================================
173
+ export function registerArxivResearchTools(server) {
174
+ // --------------------------------------------------------------------------
175
+ // arxiv_search — Fetch and score arXiv papers
176
+ // --------------------------------------------------------------------------
177
+ server.registerTool("arxiv_search", {
178
+ description: `Fetch recent papers from arXiv and score them for LLM/agent relevance.
179
+
180
+ Queries the public arXiv Atom API (no API key required). Papers are scored against
181
+ relevance signals for: LLMs, autonomous agents, multi-agent systems, tool use,
182
+ reasoning, RAG, alignment, orchestration, and MCP (Model Context Protocol).
183
+
184
+ Default categories: cs.AI, cs.CL, cs.LG, cs.MA (configurable).
185
+ Category boosts: cs.MA +3, cs.CL +1, cs.AI +1.
186
+
187
+ Returns total paper count, relevant paper count, and top papers by score.
188
+ Each paper includes title, authors (first 3), truncated abstract, arXiv link,
189
+ relevance score, and topic tags.
190
+
191
+ Read-only. No API key required.`,
192
+ inputSchema: {
193
+ categories: z
194
+ .string()
195
+ .optional()
196
+ .describe("Comma-separated arXiv category codes. Default: cs.AI,cs.CL,cs.LG,cs.MA"),
197
+ max_results: z
198
+ .number()
199
+ .min(1)
200
+ .max(200)
201
+ .optional()
202
+ .describe("Maximum papers to fetch. Default: 50, max: 200"),
203
+ min_score: z
204
+ .number()
205
+ .min(0)
206
+ .optional()
207
+ .describe("Minimum relevance score for results. Default: 3. Set to 0 to include all fetched papers."),
208
+ },
209
+ }, async ({ categories, max_results, min_score }) => {
210
+ try {
211
+ const cats = categories
212
+ ? categories.split(",").map((c) => c.trim()).filter(Boolean)
213
+ : DEFAULT_CATEGORIES;
214
+ const maxResults = max_results ?? DEFAULT_MAX;
215
+ const minScore = min_score ?? DEFAULT_MIN_SCORE;
216
+ const scored = await fetchAndScorePapers(cats, maxResults);
217
+ const relevant = scored.filter((p) => p.relevance_score >= minScore);
218
+ return createJsonResponse({
219
+ total: scored.length,
220
+ relevant: relevant.length,
221
+ categories: cats,
222
+ min_score: minScore,
223
+ top_papers: relevant.slice(0, 25).map((p) => ({
224
+ id: p.arxiv_id,
225
+ title: p.title,
226
+ authors: p.authors.slice(0, 3),
227
+ abstract: p.abstract.length > 300
228
+ ? p.abstract.slice(0, 297) + "..."
229
+ : p.abstract,
230
+ score: p.relevance_score,
231
+ tags: p.relevance_tags,
232
+ published: p.published,
233
+ abs_url: p.abs_url,
234
+ pdf_url: p.pdf_url,
235
+ primary_category: p.primary_category,
236
+ })),
237
+ });
238
+ }
239
+ catch (error) {
240
+ return createErrorResponse(error);
241
+ }
242
+ });
243
+ // --------------------------------------------------------------------------
244
+ // arxiv_compile_digest — Compile a Markdown digest from recent arXiv papers
245
+ // --------------------------------------------------------------------------
246
+ server.registerTool("arxiv_compile_digest", {
247
+ description: `Compile a Markdown digest from recent arXiv papers on LLMs and autonomous agents.
248
+
249
+ Fetches papers from arXiv, filters for relevance score >= min_score (default 3),
250
+ groups by primary topic tag, and compiles a structured Markdown digest.
251
+
252
+ Digest structure:
253
+ - Header with date, paper counts, and categories
254
+ - Highlights section — top 5 papers by score
255
+ - Per-topic sections (agent, multi-agent, LLM, tool-use, reasoning, RAG, etc.)
256
+ - Stats table at the bottom
257
+
258
+ The compiled digest is returned inline as a Markdown string. It is NOT written to
259
+ disk — use the arxiv-research skill (bun run arxiv-research/arxiv-research.ts compile)
260
+ to write timestamped digest files to ~/.aibtc/arxiv-research/digests/.
261
+
262
+ Read-only. No API key required.`,
263
+ inputSchema: {
264
+ categories: z
265
+ .string()
266
+ .optional()
267
+ .describe("Comma-separated arXiv category codes. Default: cs.AI,cs.CL,cs.LG,cs.MA"),
268
+ max_results: z
269
+ .number()
270
+ .min(1)
271
+ .max(200)
272
+ .optional()
273
+ .describe("Maximum papers to fetch. Default: 50"),
274
+ date: z
275
+ .string()
276
+ .optional()
277
+ .describe("Date label for digest header (YYYY-MM-DD). Default: today's date"),
278
+ min_score: z
279
+ .number()
280
+ .min(0)
281
+ .optional()
282
+ .describe("Minimum relevance score for digest inclusion. Default: 3"),
283
+ },
284
+ }, async ({ categories, max_results, date, min_score }) => {
285
+ try {
286
+ const cats = categories
287
+ ? categories.split(",").map((c) => c.trim()).filter(Boolean)
288
+ : DEFAULT_CATEGORIES;
289
+ const maxResults = max_results ?? DEFAULT_MAX;
290
+ const minScore = min_score ?? DEFAULT_MIN_SCORE;
291
+ const dateStr = date ?? new Date().toISOString().split("T")[0];
292
+ const timestamp = new Date().toISOString().replace(/\.\d{3}Z$/, "Z");
293
+ const scored = await fetchAndScorePapers(cats, maxResults);
294
+ const relevant = scored.filter((p) => p.relevance_score >= minScore);
295
+ if (relevant.length === 0) {
296
+ return createJsonResponse({
297
+ date: dateStr,
298
+ total_papers: scored.length,
299
+ relevant_papers: 0,
300
+ topics: {},
301
+ digest: `# arXiv Digest — ${dateStr}\n\nNo papers scored >= ${minScore}. Try fetching more or adjusting categories.\n`,
302
+ });
303
+ }
304
+ // Group by primary topic tag
305
+ const groups = new Map();
306
+ for (const paper of relevant) {
307
+ const primaryTag = paper.relevance_tags[0] ?? "general";
308
+ const group = groups.get(primaryTag) ?? [];
309
+ group.push(paper);
310
+ groups.set(primaryTag, group);
311
+ }
312
+ const lines = [
313
+ `# arXiv Digest — ${dateStr}`,
314
+ "",
315
+ `**Generated:** ${timestamp}`,
316
+ `**Papers reviewed:** ${scored.length}`,
317
+ `**Relevant papers:** ${relevant.length}`,
318
+ `**Categories:** ${cats.join(", ")}`,
319
+ "",
320
+ "---",
321
+ "",
322
+ "## Highlights",
323
+ "",
324
+ ];
325
+ const topPapers = relevant.slice(0, 5);
326
+ for (const paper of topPapers) {
327
+ lines.push(`- **${paper.title}** (${paper.relevance_tags.join(", ")}) — score ${paper.relevance_score}`);
328
+ }
329
+ lines.push("", "---", "");
330
+ const tagOrder = [
331
+ "agent",
332
+ "multi-agent",
333
+ "LLM",
334
+ "tool-use",
335
+ "reasoning",
336
+ "RAG",
337
+ "alignment",
338
+ "orchestration",
339
+ "MCP",
340
+ ];
341
+ const sortedTags = [...groups.keys()].sort((a, b) => {
342
+ const aIdx = tagOrder.indexOf(a);
343
+ const bIdx = tagOrder.indexOf(b);
344
+ return (aIdx === -1 ? 999 : aIdx) - (bIdx === -1 ? 999 : bIdx);
345
+ });
346
+ for (const tag of sortedTags) {
347
+ const group = groups.get(tag);
348
+ const tagLabel = tag.charAt(0).toUpperCase() + tag.slice(1);
349
+ lines.push(`## ${tagLabel}`, "");
350
+ for (const paper of group) {
351
+ lines.push(`### ${paper.title}`, "", `- **arXiv:** [${paper.arxiv_id}](${paper.abs_url})`, `- **Authors:** ${paper.authors.slice(0, 5).join(", ")}${paper.authors.length > 5 ? " et al." : ""}`, `- **Published:** ${paper.published.split("T")[0]}`, `- **Categories:** ${paper.categories.join(", ")}`, `- **Relevance:** ${paper.relevance_score} (${paper.relevance_tags.join(", ")})`, "", `> ${paper.abstract.length > 500 ? paper.abstract.slice(0, 497) + "..." : paper.abstract}`, "");
352
+ }
353
+ lines.push("---", "");
354
+ }
355
+ // Stats table
356
+ const tagCounts = [...groups.entries()]
357
+ .map(([tag, ps]) => `${tag}: ${ps.length}`)
358
+ .join(", ");
359
+ lines.push("## Stats", "", "| Metric | Value |", "|--------|-------|", `| Total papers | ${scored.length} |`, `| Relevant (score >= ${minScore}) | ${relevant.length} |`, `| Categories | ${cats.join(", ")} |`, `| By topic | ${tagCounts} |`, "", "*Compiled by aibtcdev/aibtc-mcp-server arxiv_compile_digest*", "");
360
+ const topics = Object.fromEntries([...groups.entries()].map(([k, v]) => [k, v.length]));
361
+ return createJsonResponse({
362
+ date: dateStr,
363
+ total_papers: scored.length,
364
+ relevant_papers: relevant.length,
365
+ topics,
366
+ digest: lines.join("\n"),
367
+ });
368
+ }
369
+ catch (error) {
370
+ return createErrorResponse(error);
371
+ }
372
+ });
373
+ // --------------------------------------------------------------------------
374
+ // arxiv_list_digests — List recent digest files from ~/.aibtc/arxiv-research/digests/
375
+ // --------------------------------------------------------------------------
376
+ server.registerTool("arxiv_list_digests", {
377
+ description: `List recent arXiv digest files from ~/.aibtc/arxiv-research/digests/.
378
+
379
+ Digests are created by the arxiv-research skill's compile subcommand or by running
380
+ the skill CLI: bun run arxiv-research/arxiv-research.ts compile
381
+
382
+ Each digest is a timestamped Markdown file. This tool lists them newest-first so
383
+ agents can find and read recent digests by file path.
384
+
385
+ Note: This tool reads the local filesystem on the machine running the MCP server.
386
+ Digests are NOT created by arxiv_compile_digest (which returns Markdown inline).
387
+ Use the skill CLI to persist digests to disk.
388
+
389
+ Read-only.`,
390
+ inputSchema: {
391
+ limit: z
392
+ .number()
393
+ .min(1)
394
+ .max(50)
395
+ .optional()
396
+ .describe("Maximum entries to show. Default: 10"),
397
+ },
398
+ }, async ({ limit }) => {
399
+ try {
400
+ const maxEntries = limit ?? 10;
401
+ if (!existsSync(DIGESTS_DIR)) {
402
+ return createJsonResponse({
403
+ digests: [],
404
+ count: 0,
405
+ digests_dir: DIGESTS_DIR,
406
+ note: "No digests found. Run the arxiv-research skill to create them: bun run arxiv-research/arxiv-research.ts compile",
407
+ });
408
+ }
409
+ const entries = readdirSync(DIGESTS_DIR)
410
+ .filter((e) => e.endsWith("_arxiv_digest.md"))
411
+ .sort()
412
+ .reverse()
413
+ .slice(0, maxEntries);
414
+ const digests = entries.map((filename) => {
415
+ const timestamp = filename.replace("_arxiv_digest.md", "");
416
+ return {
417
+ filename,
418
+ timestamp,
419
+ path: join(DIGESTS_DIR, filename),
420
+ };
421
+ });
422
+ return createJsonResponse({
423
+ digests,
424
+ count: digests.length,
425
+ digests_dir: DIGESTS_DIR,
426
+ });
427
+ }
428
+ catch (error) {
429
+ return createErrorResponse(error);
430
+ }
431
+ });
432
+ }
433
+ //# sourceMappingURL=arxiv-research.tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arxiv-research.tools.js","sourceRoot":"","sources":["../../src/tools/arxiv-research.tools.ts"],"names":[],"mappings":"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"}