nodebench-mcp 1.4.0 → 2.0.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 (38) hide show
  1. package/NODEBENCH_AGENTS.md +154 -2
  2. package/README.md +152 -192
  3. package/dist/__tests__/comparativeBench.test.d.ts +1 -0
  4. package/dist/__tests__/comparativeBench.test.js +722 -0
  5. package/dist/__tests__/comparativeBench.test.js.map +1 -0
  6. package/dist/__tests__/evalHarness.test.js +24 -2
  7. package/dist/__tests__/evalHarness.test.js.map +1 -1
  8. package/dist/__tests__/gaiaCapabilityEval.test.d.ts +14 -0
  9. package/dist/__tests__/gaiaCapabilityEval.test.js +420 -0
  10. package/dist/__tests__/gaiaCapabilityEval.test.js.map +1 -0
  11. package/dist/__tests__/gaiaCapabilityFilesEval.test.d.ts +15 -0
  12. package/dist/__tests__/gaiaCapabilityFilesEval.test.js +303 -0
  13. package/dist/__tests__/gaiaCapabilityFilesEval.test.js.map +1 -0
  14. package/dist/__tests__/openDatasetParallelEvalGaia.test.d.ts +7 -0
  15. package/dist/__tests__/openDatasetParallelEvalGaia.test.js +279 -0
  16. package/dist/__tests__/openDatasetParallelEvalGaia.test.js.map +1 -0
  17. package/dist/__tests__/openDatasetPerfComparison.test.d.ts +10 -0
  18. package/dist/__tests__/openDatasetPerfComparison.test.js +318 -0
  19. package/dist/__tests__/openDatasetPerfComparison.test.js.map +1 -0
  20. package/dist/__tests__/tools.test.js +155 -7
  21. package/dist/__tests__/tools.test.js.map +1 -1
  22. package/dist/db.js +56 -0
  23. package/dist/db.js.map +1 -1
  24. package/dist/index.js +370 -11
  25. package/dist/index.js.map +1 -1
  26. package/dist/tools/localFileTools.d.ts +15 -0
  27. package/dist/tools/localFileTools.js +386 -0
  28. package/dist/tools/localFileTools.js.map +1 -0
  29. package/dist/tools/metaTools.js +170 -3
  30. package/dist/tools/metaTools.js.map +1 -1
  31. package/dist/tools/parallelAgentTools.d.ts +18 -0
  32. package/dist/tools/parallelAgentTools.js +1272 -0
  33. package/dist/tools/parallelAgentTools.js.map +1 -0
  34. package/dist/tools/selfEvalTools.js +240 -10
  35. package/dist/tools/selfEvalTools.js.map +1 -1
  36. package/dist/tools/webTools.js +171 -37
  37. package/dist/tools/webTools.js.map +1 -1
  38. package/package.json +19 -7
@@ -103,15 +103,21 @@ async function searchWithGemini(query, maxResults) {
103
103
  const { GoogleGenAI } = await import("@google/genai");
104
104
  const apiKey = process.env.GEMINI_API_KEY || process.env.GOOGLE_AI_API_KEY || "";
105
105
  const ai = new GoogleGenAI({ apiKey });
106
- // Use Gemini with Google Search grounding
107
- const response = await ai.models.generateContent({
108
- model: "gemini-2.5-flash",
109
- contents: [
110
- {
111
- role: "user",
112
- parts: [
113
- {
114
- text: `Search the web for: "${query}"
106
+ const coerceUrl = (value) => {
107
+ const url = value.trim();
108
+ if (!url)
109
+ return null;
110
+ if (/^https?:\/\//i.test(url))
111
+ return url;
112
+ if (url.startsWith("//"))
113
+ return `https:${url}`;
114
+ // Common case: model returns "en.wikipedia.org/wiki/..." without scheme.
115
+ if (/^[a-z0-9.-]+\.[a-z]{2,}(\/|$)/i.test(url))
116
+ return `https://${url}`;
117
+ return null;
118
+ };
119
+ const attemptPrompts = [
120
+ `Search the web for: "${query}"
115
121
 
116
122
  Return the top ${maxResults} most relevant results. For each result, provide:
117
123
  1. Title
@@ -122,33 +128,151 @@ Format your response as JSON array:
122
128
  [{"title": "...", "url": "...", "snippet": "..."}]
123
129
 
124
130
  Only return the JSON array, no other text.`,
125
- },
126
- ],
131
+ // Retry prompt: explicitly require absolute URLs.
132
+ `Use Google Search to find sources for: "${query}"
133
+
134
+ Return a JSON array with up to ${maxResults} entries in this exact shape:
135
+ [{"title":"...","url":"https://...","snippet":"..."}]
136
+
137
+ Requirements:
138
+ - url MUST be an absolute URL starting with https://
139
+ - Do NOT return markdown, do NOT wrap in code fences.
140
+ - If a source is Wikipedia, include the en.wikipedia.org URL directly.`,
141
+ ];
142
+ for (const prompt of attemptPrompts) {
143
+ // Use Gemini with Google Search grounding
144
+ const response = await ai.models.generateContent({
145
+ model: "gemini-2.5-flash",
146
+ contents: [
147
+ {
148
+ role: "user",
149
+ parts: [{ text: prompt }],
150
+ },
151
+ ],
152
+ config: {
153
+ tools: [{ googleSearch: {} }],
154
+ maxOutputTokens: 2048,
155
+ temperature: 0,
127
156
  },
128
- ],
129
- config: {
130
- tools: [{ googleSearch: {} }],
131
- maxOutputTokens: 2048,
132
- temperature: 0.1,
133
- },
134
- });
135
- // Parse response
136
- const text = response?.candidates?.[0]?.content?.parts?.[0]?.text ?? "[]";
137
- const jsonMatch = text.match(/\[[\s\S]*\]/);
138
- if (!jsonMatch)
139
- return [];
140
- try {
141
- const results = JSON.parse(jsonMatch[0]);
142
- return results.map((r) => ({
143
- title: r.title || "",
144
- url: r.url || "",
145
- snippet: r.snippet || "",
146
- source: "gemini",
147
- }));
148
- }
149
- catch {
150
- return [];
157
+ });
158
+ const cand = response?.candidates?.[0];
159
+ // Attempt 1: parse the model-produced JSON array (usually includes direct URLs).
160
+ const text = cand?.content?.parts?.[0]?.text ?? "[]";
161
+ const jsonMatch = String(text).match(/\[[\s\S]*\]/);
162
+ if (jsonMatch) {
163
+ try {
164
+ const results = JSON.parse(jsonMatch[0]);
165
+ if (Array.isArray(results) && results.length > 0) {
166
+ const normalized = [];
167
+ for (const r of results) {
168
+ const coerced = coerceUrl(String(r?.url ?? ""));
169
+ if (!coerced)
170
+ continue;
171
+ normalized.push({
172
+ title: String(r?.title ?? "").trim(),
173
+ url: coerced,
174
+ snippet: String(r?.snippet ?? "").trim(),
175
+ source: "gemini",
176
+ });
177
+ if (normalized.length >= maxResults)
178
+ break;
179
+ }
180
+ if (normalized.length > 0)
181
+ return normalized;
182
+ }
183
+ }
184
+ catch {
185
+ // fall through
186
+ }
187
+ }
188
+ // Attempt 2: use grounded sources and resolve redirect URLs to final URLs.
189
+ const grounding = cand?.groundingMetadata;
190
+ const chunks = grounding?.groundingChunks;
191
+ const supports = grounding?.groundingSupports;
192
+ if (!Array.isArray(chunks) || chunks.length === 0) {
193
+ continue; // retry with the next prompt
194
+ }
195
+ const snippetsByChunkIndex = new Map();
196
+ if (Array.isArray(supports)) {
197
+ for (const s of supports) {
198
+ const indices = s?.groundingChunkIndices;
199
+ const segText = s?.segment?.text;
200
+ if (!segText || !Array.isArray(indices))
201
+ continue;
202
+ for (const idx of indices) {
203
+ if (typeof idx !== "number")
204
+ continue;
205
+ const existing = snippetsByChunkIndex.get(idx) ?? [];
206
+ existing.push(String(segText));
207
+ snippetsByChunkIndex.set(idx, existing);
208
+ }
209
+ }
210
+ }
211
+ const resolveRedirect = async (url) => {
212
+ const headers = {
213
+ "User-Agent": "Mozilla/5.0 (compatible; NodeBench-MCP/1.0)",
214
+ Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
215
+ };
216
+ try {
217
+ const head = await fetch(url, { method: "HEAD", redirect: "follow", headers });
218
+ return head.url || url;
219
+ }
220
+ catch {
221
+ // Some sites don't support HEAD; fall back to GET but don't read the body.
222
+ const controller = new AbortController();
223
+ const timeout = setTimeout(() => controller.abort(), 8_000);
224
+ try {
225
+ const res = await fetch(url, {
226
+ method: "GET",
227
+ redirect: "follow",
228
+ headers,
229
+ signal: controller.signal,
230
+ });
231
+ // Prevent buffering large responses.
232
+ if (res?.body?.cancel) {
233
+ try {
234
+ await res.body.cancel();
235
+ }
236
+ catch {
237
+ // ignore
238
+ }
239
+ }
240
+ return res.url || url;
241
+ }
242
+ finally {
243
+ clearTimeout(timeout);
244
+ }
245
+ }
246
+ };
247
+ const grounded = [];
248
+ const seen = new Set();
249
+ const limit = Math.min(maxResults, 10);
250
+ for (let i = 0; i < chunks.length && grounded.length < limit; i++) {
251
+ const uri = chunks[i]?.web?.uri;
252
+ if (!uri || typeof uri !== "string")
253
+ continue;
254
+ const finalUrl = await resolveRedirect(uri);
255
+ if (seen.has(finalUrl))
256
+ continue;
257
+ seen.add(finalUrl);
258
+ const title = chunks[i]?.web?.title;
259
+ const snippetParts = snippetsByChunkIndex.get(i) ?? [];
260
+ const snippet = snippetParts
261
+ .slice(0, 3)
262
+ .join(" ")
263
+ .replace(/\s+/g, " ")
264
+ .trim();
265
+ grounded.push({
266
+ title: typeof title === "string" && title.trim() ? title.trim() : finalUrl,
267
+ url: finalUrl,
268
+ snippet,
269
+ source: "gemini_grounded",
270
+ });
271
+ }
272
+ if (grounded.length > 0)
273
+ return grounded;
151
274
  }
275
+ return [];
152
276
  }
153
277
  async function searchWithOpenAI(query, maxResults) {
154
278
  const OpenAI = (await import("openai")).default;
@@ -286,10 +410,20 @@ export const webTools = [
286
410
  }
287
411
  if (!selectedProvider) {
288
412
  return {
289
- error: true,
290
413
  query,
291
- message: "No search provider available.",
292
- suggestion: "Set one of: GEMINI_API_KEY (recommended for Google Search grounding), OPENAI_API_KEY, or PERPLEXITY_API_KEY. Install SDK: @google/genai or openai.",
414
+ results: [],
415
+ provider: "none",
416
+ resultCount: 0,
417
+ searchedAt: new Date().toISOString(),
418
+ setup: {
419
+ message: "No search provider available. Results will be empty until a provider is configured.",
420
+ options: [
421
+ "Set GEMINI_API_KEY (recommended — Google Search grounding)",
422
+ "Set OPENAI_API_KEY (GPT-4o web search preview)",
423
+ "Set PERPLEXITY_API_KEY (Perplexity sonar)",
424
+ ],
425
+ sdks: "Install: @google/genai or openai",
426
+ },
293
427
  };
294
428
  }
295
429
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"webTools.js","sourceRoot":"","sources":["../../src/tools/webTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webTools.js","sourceRoot":"","sources":["../../src/tools/webTools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nodebench-mcp",
3
- "version": "1.4.0",
4
- "description": "NodeBench MCP server 60 tools for AI-powered development. Self-reinforced learning, trajectory analysis, web search, GitHub discovery, vision analysis, verification flywheel, autonomous self-maintenance.",
3
+ "version": "2.0.0",
4
+ "description": "Make AI agents catch the bugs they normally ship. Structured research, risk assessment, 3-layer testing, quality gates, and persistent knowledge that compounds across tasks. Benchmarked: 13 issues caught, 26 blind spots prevented, 0 shipped to production. 75 MCP tools including parallel agent coordination for Claude Code subagents.",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "nodebench-mcp": "./dist/index.js"
@@ -20,12 +20,20 @@
20
20
  "test:open-dataset": "vitest run src/__tests__/openDatasetParallelEval.test.ts",
21
21
  "test:open-dataset:toolbench": "vitest run src/__tests__/openDatasetParallelEvalToolbench.test.ts",
22
22
  "test:open-dataset:swebench": "vitest run src/__tests__/openDatasetParallelEvalSwebench.test.ts",
23
+ "test:open-dataset:gaia": "vitest run src/__tests__/openDatasetParallelEvalGaia.test.ts",
23
24
  "test:open-dataset:all": "vitest run src/__tests__/openDatasetParallelEval.test.ts src/__tests__/openDatasetParallelEvalToolbench.test.ts src/__tests__/openDatasetParallelEvalSwebench.test.ts",
25
+ "test:open-dataset:full": "vitest run src/__tests__/openDatasetParallelEval.test.ts src/__tests__/openDatasetParallelEvalToolbench.test.ts src/__tests__/openDatasetParallelEvalSwebench.test.ts src/__tests__/openDatasetParallelEvalGaia.test.ts",
26
+ "bench:perf:compare": "cross-env NODEBENCH_RUN_PERF_COMPARE=1 vitest run src/__tests__/openDatasetPerfComparison.test.ts --reporter=verbose",
24
27
  "test:watch": "vitest",
25
28
  "dataset:bfcl:refresh": "tsx src/__tests__/fixtures/generateBfclLongContextFixture.ts",
26
29
  "dataset:toolbench:refresh": "tsx src/__tests__/fixtures/generateToolbenchInstructionFixture.ts",
27
30
  "dataset:swebench:refresh": "tsx src/__tests__/fixtures/generateSwebenchVerifiedFixture.ts",
31
+ "dataset:gaia:refresh": "python src/__tests__/fixtures/generateGaiaLevel3Fixture.py",
32
+ "dataset:gaia:capability:refresh": "python src/__tests__/fixtures/generateGaiaCapabilityFixture.py",
33
+ "dataset:gaia:capability:files:refresh": "python src/__tests__/fixtures/generateGaiaCapabilityFilesFixture.py",
28
34
  "verify": "node test-setup.mjs",
35
+ "test:gaia:capability": "cross-env NODEBENCH_RUN_GAIA_CAPABILITY=1 vitest run src/__tests__/gaiaCapabilityEval.test.ts --reporter=verbose",
36
+ "test:gaia:capability:files": "cross-env NODEBENCH_RUN_GAIA_CAPABILITY=1 vitest run src/__tests__/gaiaCapabilityFilesEval.test.ts --reporter=verbose",
29
37
  "prepublishOnly": "npm run build && npm run test"
30
38
  },
31
39
  "keywords": [
@@ -52,15 +60,19 @@
52
60
  "author": "NodeBench",
53
61
  "dependencies": {
54
62
  "@modelcontextprotocol/sdk": "^1.0.4",
55
- "better-sqlite3": "^11.0.0"
63
+ "better-sqlite3": "^11.0.0",
64
+ "nodebench-ai": "file:../.."
56
65
  },
57
66
  "optionalDependencies": {
58
- "playwright": "^1.57.0",
59
- "sharp": "^0.34.5",
67
+ "@anthropic-ai/sdk": "^0.71.2",
60
68
  "@google/genai": "^1.10.0",
69
+ "cheerio": "^1.0.0",
61
70
  "openai": "^5.8.2",
62
- "@anthropic-ai/sdk": "^0.71.2",
63
- "cheerio": "^1.0.0"
71
+ "papaparse": "^5.5.3",
72
+ "pdf-parse": "^2.4.5",
73
+ "playwright": "^1.57.0",
74
+ "sharp": "^0.34.5",
75
+ "xlsx": "^0.18.5"
64
76
  },
65
77
  "devDependencies": {
66
78
  "@types/better-sqlite3": "^7.6.0",