nodebench-mcp 2.0.0 → 2.2.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.
package/README.md CHANGED
@@ -33,6 +33,16 @@ Every additional tool call produces a concrete artifact — an issue found, a ri
33
33
 
34
34
  ---
35
35
 
36
+ ## Who's Using It
37
+
38
+ **Vision engineer** — Built agentic vision analysis using GPT 5.2 with Set-of-Mark (SoM) for boundary boxing, similar to Google Gemini 3 Flash's agentic code execution approach. Uses NodeBench's verification pipeline to validate detection accuracy across screenshot variants before shipping model changes.
39
+
40
+ **QA engineer** — Transitioned a manual QA workflow website into an AI agent-driven app for a pet care messaging platform. Uses NodeBench's quality gates, verification cycles, and eval runs to ensure the AI agent handles edge cases that manual QA caught but bare AI agents miss.
41
+
42
+ Both found different subsets of the 75 tools useful — which is why v2.1 ships with `--preset` gating to load only what you need.
43
+
44
+ ---
45
+
36
46
  ## How It Works — 3 Real Examples
37
47
 
38
48
  ### Example 1: Bug fix
@@ -67,8 +77,11 @@ Tasks 1-3 start with zero prior knowledge. By task 9, the agent finds 2+ relevan
67
77
  ### Install (30 seconds)
68
78
 
69
79
  ```bash
70
- # Claude Code CLI (recommended)
80
+ # Claude Code CLI — all 75 tools
71
81
  claude mcp add nodebench -- npx -y nodebench-mcp
82
+
83
+ # Or start lean — 30 tools, ~60% less token overhead
84
+ claude mcp add nodebench -- npx -y nodebench-mcp --preset lite
72
85
  ```
73
86
 
74
87
  Or add to `~/.claude/settings.json` or `.claude.json`:
@@ -187,6 +200,73 @@ Based on Anthropic's ["Building a C Compiler with Parallel Claudes"](https://www
187
200
 
188
201
  ---
189
202
 
203
+ ## Toolset Gating (v2.1)
204
+
205
+ 75 tools means ~19K tokens of schema per API call. If you only need core methodology, gate the toolset:
206
+
207
+ ### Presets
208
+
209
+ ```bash
210
+ # Lite — 30 tools (verification, eval, gates, learning, recon)
211
+ claude mcp add nodebench -- npx -y nodebench-mcp --preset lite
212
+
213
+ # Core — 50 tools (adds flywheel, bootstrap, self-eval)
214
+ claude mcp add nodebench -- npx -y nodebench-mcp --preset core
215
+
216
+ # Full — all 75 tools (default)
217
+ claude mcp add nodebench -- npx -y nodebench-mcp
218
+ ```
219
+
220
+ Or in config:
221
+
222
+ ```json
223
+ {
224
+ "mcpServers": {
225
+ "nodebench": {
226
+ "command": "npx",
227
+ "args": ["-y", "nodebench-mcp", "--preset", "core"]
228
+ }
229
+ }
230
+ }
231
+ ```
232
+
233
+ ### Fine-grained control
234
+
235
+ ```bash
236
+ # Include only specific toolsets
237
+ npx nodebench-mcp --toolsets verification,eval,recon
238
+
239
+ # Exclude heavy optional-dep toolsets
240
+ npx nodebench-mcp --exclude vision,ui_capture,parallel
241
+
242
+ # See all toolsets and presets
243
+ npx nodebench-mcp --help
244
+ ```
245
+
246
+ ### Available toolsets
247
+
248
+ | Toolset | Tools | What it covers |
249
+ |---|---|---|
250
+ | verification | 8 | Cycles, gaps, triple-verify, status |
251
+ | eval | 5 | Eval runs, results, comparison |
252
+ | quality_gate | 4 | Gates, presets, history |
253
+ | learning | 4 | Knowledge, search, record |
254
+ | recon | 5 | Research, findings, framework checks |
255
+ | flywheel | 4 | Mandatory flywheel, promote, investigate |
256
+ | bootstrap | 4 | Project setup, agents.md, self-implement |
257
+ | self_eval | 6 | Trajectory analysis, health reports |
258
+ | parallel | 10 | Task locks, roles, context budget, oracle |
259
+ | vision | 3 | Screenshot analysis, UI capture |
260
+ | ui_capture | 3 | Playwright-based capture |
261
+ | web | 2 | Web search, URL fetch |
262
+ | github | 3 | Repo search, analysis |
263
+ | docs | 3 | Documentation generation |
264
+ | local_file | 3 | CSV, XLSX, PDF parsing |
265
+
266
+ `findTools` and `getMethodology` are always available regardless of gating — agents can discover tools on demand.
267
+
268
+ ---
269
+
190
270
  ## Build from Source
191
271
 
192
272
  ```bash
@@ -709,6 +709,11 @@ describe("Coverage Report", () => {
709
709
  "update_agents_md", // File system - tested separately
710
710
  "research_job_market", // Covered in tools.test.ts
711
711
  "setup_local_env", // Covered in tools.test.ts
712
+ "call_llm", // Requires AI API key
713
+ "extract_structured_data", // Requires AI API key
714
+ "scan_dependencies", // Runs npm audit - covered in tools.test.ts
715
+ "run_code_analysis", // Covered in tools.test.ts
716
+ "diff_outputs", // Covered in tools.test.ts
712
717
  ];
713
718
  // Deprecated tools (kept for backwards compatibility, but flagged)
714
719
  const deprecatedTools = [
@@ -1 +1 @@
1
- {"version":3,"file":"evalHarness.test.js","sourceRoot":"","sources":["../../src/__tests__/evalHarness.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evalHarness.test.js","sourceRoot":"","sources":["../../src/__tests__/evalHarness.test.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ import { documentationTools } from "../tools/documentationTools.js";
22
22
  import { agentBootstrapTools } from "../tools/agentBootstrapTools.js";
23
23
  import { selfEvalTools } from "../tools/selfEvalTools.js";
24
24
  import { parallelAgentTools } from "../tools/parallelAgentTools.js";
25
+ import { llmTools } from "../tools/llmTools.js";
26
+ import { securityTools } from "../tools/securityTools.js";
25
27
  import { localFileTools } from "../tools/localFileTools.js";
26
28
  // Assemble all tools like index.ts does
27
29
  const domainTools = [
@@ -40,15 +42,17 @@ const domainTools = [
40
42
  ...agentBootstrapTools,
41
43
  ...selfEvalTools,
42
44
  ...parallelAgentTools,
45
+ ...llmTools,
46
+ ...securityTools,
43
47
  ];
44
48
  const allTools = [...domainTools, ...createMetaTools(domainTools)];
45
49
  // ═══════════════════════════════════════════════════════════════════════════
46
50
  // STATIC LAYER — structure validation
47
51
  // ═══════════════════════════════════════════════════════════════════════════
48
52
  describe("Static: tool structure", () => {
49
- it("should have 75 tools total", () => {
50
- // 73 domain tools + 2 meta tools (findTools, getMethodology)
51
- expect(allTools.length).toBe(75);
53
+ it("should have 80 tools total", () => {
54
+ // 78 domain tools + 2 meta tools (findTools, getMethodology)
55
+ expect(allTools.length).toBe(80);
52
56
  });
53
57
  it("every tool has name, description, inputSchema, handler", () => {
54
58
  for (const tool of allTools) {
@@ -770,6 +774,137 @@ describe("Unit: web_search graceful fallback", () => {
770
774
  }
771
775
  });
772
776
  });
777
+ // ═══════════════════════════════════════════════════════════════════════════
778
+ // v2.2.0 — LLM, Security, and Diff tools
779
+ // ═══════════════════════════════════════════════════════════════════════════
780
+ describe("Static: llm tools", () => {
781
+ it("should include call_llm and extract_structured_data", () => {
782
+ const names = allTools.map((t) => t.name);
783
+ expect(names).toContain("call_llm");
784
+ expect(names).toContain("extract_structured_data");
785
+ });
786
+ it("call_llm requires prompt parameter", () => {
787
+ const tool = findTool("call_llm");
788
+ expect(tool.inputSchema.required).toContain("prompt");
789
+ });
790
+ it("extract_structured_data requires text and fields parameters", () => {
791
+ const tool = findTool("extract_structured_data");
792
+ expect(tool.inputSchema.required).toContain("text");
793
+ expect(tool.inputSchema.required).toContain("fields");
794
+ });
795
+ });
796
+ describe("Static: security tools", () => {
797
+ it("should include scan_dependencies and run_code_analysis", () => {
798
+ const names = allTools.map((t) => t.name);
799
+ expect(names).toContain("scan_dependencies");
800
+ expect(names).toContain("run_code_analysis");
801
+ });
802
+ it("run_code_analysis requires content parameter", () => {
803
+ const tool = findTool("run_code_analysis");
804
+ expect(tool.inputSchema.required).toContain("content");
805
+ });
806
+ it("scan_dependencies has no required parameters", () => {
807
+ const tool = findTool("scan_dependencies");
808
+ const required = tool.inputSchema.required;
809
+ expect(required ?? []).toEqual([]);
810
+ });
811
+ });
812
+ describe("Unit: run_code_analysis", () => {
813
+ it("should detect hardcoded API key in code", async () => {
814
+ const tool = findTool("run_code_analysis");
815
+ const result = (await tool.handler({
816
+ content: 'const api_key = "sk_live_abcdefghijklmnopqrstuvwxyz1234567890";',
817
+ checks: ["secrets"],
818
+ }));
819
+ expect(result.totalFindings).toBeGreaterThanOrEqual(1);
820
+ expect(result.bySeverity.HIGH).toBeGreaterThanOrEqual(1);
821
+ expect(result.findings[0].check).toBe("secrets");
822
+ });
823
+ it("should detect zero-width characters (homograph check)", async () => {
824
+ const tool = findTool("run_code_analysis");
825
+ const result = (await tool.handler({
826
+ content: "export API_KEY=sk-\u200bsecret123",
827
+ checks: ["homograph"],
828
+ }));
829
+ expect(result.totalFindings).toBeGreaterThanOrEqual(1);
830
+ expect(result.bySeverity.HIGH).toBeGreaterThanOrEqual(1);
831
+ });
832
+ it("should return clean for safe code", async () => {
833
+ const tool = findTool("run_code_analysis");
834
+ const result = (await tool.handler({
835
+ content: 'function add(a: number, b: number): number { return a + b; }',
836
+ checks: ["secrets", "homograph", "urls"],
837
+ }));
838
+ expect(result.totalFindings).toBe(0);
839
+ });
840
+ });
841
+ describe("Unit: scan_dependencies", () => {
842
+ it("should scan the mcp-local package.json", async () => {
843
+ const tool = findTool("scan_dependencies");
844
+ const result = (await tool.handler({
845
+ projectRoot: path.resolve(__dirname, "../.."),
846
+ }));
847
+ expect(result.totalPackages).toBeGreaterThan(0);
848
+ expect(result.manifests.length).toBeGreaterThan(0);
849
+ expect(result).toHaveProperty("summary");
850
+ expect(result).toHaveProperty("dependencies");
851
+ });
852
+ it("should return error when no manifest found", async () => {
853
+ const tool = findTool("scan_dependencies");
854
+ const result = (await tool.handler({
855
+ projectRoot: os.tmpdir(),
856
+ }));
857
+ expect(result.error).toBe(true);
858
+ expect(result.message).toContain("No package manifest");
859
+ });
860
+ });
861
+ describe("Static: diff_outputs tool", () => {
862
+ it("should exist in eval tools", () => {
863
+ const names = allTools.map((t) => t.name);
864
+ expect(names).toContain("diff_outputs");
865
+ });
866
+ it("requires baseline and candidate parameters", () => {
867
+ const tool = findTool("diff_outputs");
868
+ expect(tool.inputSchema.required).toContain("baseline");
869
+ expect(tool.inputSchema.required).toContain("candidate");
870
+ });
871
+ });
872
+ describe("Unit: diff_outputs", () => {
873
+ it("should compute text diff with similarity score", async () => {
874
+ const tool = findTool("diff_outputs");
875
+ const result = (await tool.handler({
876
+ baseline: "line one\nline two\nline three",
877
+ candidate: "line one\nline TWO\nline three\nline four",
878
+ }));
879
+ expect(result).toHaveProperty("similarity");
880
+ expect(result.similarity).toBeGreaterThan(0);
881
+ expect(result.similarity).toBeLessThan(1);
882
+ expect(result.added.length).toBeGreaterThan(0);
883
+ expect(result).toHaveProperty("summary");
884
+ });
885
+ it("should return 1.0 similarity for identical text", async () => {
886
+ const tool = findTool("diff_outputs");
887
+ const result = (await tool.handler({
888
+ baseline: "identical content",
889
+ candidate: "identical content",
890
+ }));
891
+ expect(result.similarity).toBe(1);
892
+ expect(result.added.length).toBe(0);
893
+ expect(result.removed.length).toBe(0);
894
+ });
895
+ it("should diff JSON objects with field-level changes", async () => {
896
+ const tool = findTool("diff_outputs");
897
+ const result = (await tool.handler({
898
+ baseline: '{"name":"Alice","age":30,"city":"NYC"}',
899
+ candidate: '{"name":"Alice","age":31,"country":"USA"}',
900
+ format: "json",
901
+ }));
902
+ expect(result).toHaveProperty("changed");
903
+ expect(result.changed.length).toBeGreaterThan(0);
904
+ expect(result).toHaveProperty("removed");
905
+ expect(result).toHaveProperty("added");
906
+ });
907
+ });
773
908
  describe("Integration: search finds logged gaps", () => {
774
909
  it("should find gaps via search_all_knowledge after logging", async () => {
775
910
  const uniqueMarker = `vitest-marker-${Date.now()}`;