Nodebench MCP server
io.github.HomenShum/nodebench·v2.31.2·14 stars260 MCP tools across 49 domains. AI Flywheel, quality gates, research, web scraping.
14 stars99 downloads/wk
Reviews
Write oneNobody has reviewed Nodebench yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Nodebench tools (100, 25 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
SchedulingCron-based or event-driven triggering
addDocumentToFolderAdd a document to a folder.
add_forecast_evidenceAdd evidence to a forecast's ledger. Each entry includes source URL, excerpt, and directional signal (supporting/disconfirming/neutral). Deduplicates by source URL.
analyze_figma_flowsFull Figma flow analysis pipeline: extract frames from Figma file (depth=3 tree traversal), cluster into flow groups via priority cascade (section > prototype > name-prefix > spatial), and generate overlay visualization. Returns FlowAnalysisResult with flow groups, clustering method, and visualization path. Requires FIGMA_FLOW_SERVER_URL and FIGMA_ACCESS_TOKEN.
applySpreadsheetOperationsApply batch cell operations to a spreadsheet. Operations: setCell ({op:"setCell", row, col, value, type?}), clearCell ({op:"clearCell", row, col}).
archiveDocumentArchive (soft-delete) a document and all its children recursively.
archive_contentSave generated content to the archive for deduplication and theme tracking. Prevents the engine from regenerating similar content. Supports digest, post, report, and brief content types.
assess_riskAssess risk tier for a given action. Returns tier (low/medium/high), reversibility, external impact, and recommendation (auto_approve/log_and_proceed/require_confirmation). Use before executing any non-trivial action.
call_loaded_toolCall a dynamically loaded tool by name. Use this after load_toolset when your client does not automatically refresh the tool list. Pass the tool name and its arguments. Example: call_loaded_tool({ tool: "analyze_screenshot", args: { imagePath: "screenshot.png" } }). This is a fallback — if the loaded tool appears in your tool list directly, call it directly instead.
capture_surface_statsCapture Android SurfaceFlinger stats and logcat for jank analysis (Layer 0 only). Returns janky frame counts, missed vsync, slow UI thread metrics, and filtered logcat entries from Choreographer, SurfaceFlinger, WindowManager, ActivityManager, InputDispatcher. Requires FLICKER_SERVER_URL and adb-connected device.
check_design_complianceCheck a single .tsx/.ts file for design governance compliance. Runs all banned pattern checks (color, typography, focus, button) plus structural checks for view files (nb-page-shell, empty state, loading state). Returns violations array with line numbers, severity, fix suggestions, and a pass/fail summary. Use after editing UI files to verify compliance.
check_email_setupwrite actionDiagnostic wizard for email tool configuration. Checks env vars (EMAIL_USER, EMAIL_PASS, etc.), optionally tests SMTP/IMAP connections, and returns step-by-step setup instructions for missing pieces. Supports Gmail, Outlook, Yahoo, and custom SMTP/IMAP. Run this FIRST before using send_email or read_emails.
cluster_figma_flowsCluster Figma frames into flow groups using multi-signal priority cascade: 1) section-based grouping (highest priority), 2) prototype connection Union-Find, 3) name-prefix matching (e.g. 'Login / Screen 1'), 4) spatial proximity (Y-binning + X-gap splitting). Uses first signal that produces >= 2 groups.
compare_eval_runsCompare two eval runs to decide whether a change should ship. Returns side-by-side scores and a deploy/revert recommendation. Rule: no change ships without an eval improvement.
complete_autonomy_benchmarkFinalize an autonomy benchmark run. Computes final score, duration, tool usage stats, and comparison against reference (e.g. Anthropic's C-compiler results). Call when the agent is done or stuck.
complete_eval_runwrite actionFinalize an eval run and compute aggregate scores. Returns pass rate, average score, failure patterns, and improvement suggestions.
compute_ssim_analysisCompute block-based SSIM analysis on a set of frame images. Uses 8x8 blocks with parallel ProcessPoolExecutor. Returns SSIM scores, adaptive threshold (max(0.70, median - 2*std)), flicker classification (rapid_oscillation / sustained_change / single_glitch), and severity (HIGH/MEDIUM/LOW).
connect_channelsConnect to multiple information channels for aggressive information gathering. Channels: slack, telegram, discord, email, web, github, docs. Synthesizes findings across channels with source citations.
createDocumentwrite actionCreate a new rich-text document with a title and optional initial content blocks.
createDocumentWithContentwrite actionCreate a document with pre-built ProseMirror JSON content string.
createFolderwrite actionCreate a new folder for organizing documents.
createSpreadsheetwrite actionCreate a new spreadsheet with a name.
create_forecastwrite actionCreate a new forecast with a question, resolution date, and criteria. Optionally set initial probability, base rate, and evidence. Returns forecast ID for subsequent updates.
critter_checkThe accountability partner that wants to know everything — answer 'Why are you doing this? Who is it for?' before starting work.
crypto_price_historicalGet historical daily price data for a cryptocurrency. Optionally filter by date range.
crypto_price_quoteGet the latest cryptocurrency price quote. Accepts symbols like BTC, ETH, or BTC-USD.
decide_re_updatewrite actionDecide whether to update existing instructions or create new files. Implements 're-update before create' pattern. Returns recommendation: update_existing, create_new, or merge. Always call before creating documentation or instruction files.
diff_outputsCompare two text or JSON outputs and produce a structured diff with similarity score. Use for model comparison, oracle validation, before/after analysis, or regression detection. Returns added/removed/changed elements with a human-readable summary.
discover_infrastructureDiscover existing agent infrastructure in the codebase. Scans for agent loops, telemetry, evaluation, verification, multi-channel integrations, self-learning systems, and governance patterns. Returns what exists, what's missing, and a bootstrap plan.
draft_email_replywrite actionStructure an email thread for reply drafting. Parses the thread, extracts context (from, subject, date), and builds a reply prompt with your instructions and desired tone. Returns a structured draft ready to review and send via send_email, or to refine via call_llm.
duplicateDocumentDuplicate a document. Clones content, icon, type. Resets visibility and favorite.
economy_gdpGet the latest GDP data for a country from the World Bank. Defaults to the US.
economy_inflationGet the latest consumer price inflation rate (CPI) for a country from the World Bank. Defaults to the US.
equity_fundamental_overviewGet a fundamental overview for an equity ticker including price, sector, industry, P/E ratios, market cap, and other key metrics.
equity_price_historicalGet historical daily OHLCV price data for a given equity ticker. Optionally filter by start/end date (YYYY-MM-DD).
equity_price_quoteGet the latest equity/stock price quote for a given ticker symbol. Tries Stooq first, then Yahoo Finance as fallback.
exportDocumentToMarkdownExport a document to Markdown format. Returns { title, markdown }.
extract_figma_framesExtract all frames from a Figma file using depth=3 tree traversal (DOCUMENT -> CANVAS -> SECTION -> FRAME). CRITICAL: uses depth=3 not depth=2 — depth=2 only gets SECTION nodes, missing the FRAME nodes inside them. Returns structured FigmaFrame objects with bounding boxes, section names, and transition targets.
extract_video_framesRecord screen and extract key frames from an Android device (Layers 1+2). Uses adb screenrecord then ffmpeg scene-filtered JPEG extraction. CRITICAL: uses -pix_fmt yuvj420p for ffmpeg 8.x compatibility. Falls back to regular fps extraction if scene filter produces 0 frames.
generate_flicker_reportGenerate visual flicker report from existing analysis data. Produces SSIM timeline chart (1200x400 PNG, PIL-based, no matplotlib) and side-by-side comparison images for flagged flicker events.
generate_implementation_planGenerate a structured implementation plan for missing code signatures. Takes the gap analysis from verify_concept_support and produces a step-by-step plan with per-signature requirements and injection strategies. Optionally takes the output of scan_capabilities as context to avoid conflicts with existing patterns.
generate_reportCompile structured findings, eval results, and quality gate data into a formatted markdown report. Useful for summarizing verification cycles, creating audit trails, or generating stakeholder-ready documents.
generate_self_instructionsGenerate self-instructions for the agent in various formats: skills_md (SKILL.md), rules_md (RULES.md), guidelines (internal), claude_md (CLAUDE.md). Includes authoritative source citations.
getDocumentGet a document by ID, including title, content, metadata, and file info.
getFolderWithDocumentsGet a folder and all documents inside it.
getSpreadsheetRangeGet cells within a range from a spreadsheet (row/col coordinates).
get_ab_test_reportGenerate an A/B test comparison report for static vs dynamic toolset loading. Shows session counts, tool counts, load events, error rates, and per-toolset load frequency. Use after running sessions in both modes to evaluate the impact of dynamic loading.
get_boilerplate_statusCheck what NodeBench infrastructure is already set up in a project vs what's missing. Scans for: AGENTS.md, .mcp.json, .parallel-agents/, quality gates, package.json scripts, etc. Returns a gap report with recommendations.
get_design_specReturn the full design governance specification as structured JSON. Includes: approved semantic colors, typography classes and uppercase policy, component layout primitives, spacing scale, button classes, focus ring pattern, motion rules, border radius rules, and all banned patterns with fix suggestions. Use this before writing or modifying UI code to ensure compliance.
get_design_violationsScan the entire src/ directory for design governance violations. Groups results by file, sorted by severity. Supports filtering by severity (high/medium/low/all) and category (color/typography/layout/states/focus/button/all). Returns summary stats, compliance score (0-100), and top violations up to the limit. Use for project-wide design audits.
get_engine_context_healthReturns accumulated knowledge health: learnings count + freshness, conformance trend direction (improving/stable/regressing), recent run scores, content archive size, and workflow coverage. Use to understand how much context the engine has built up over time.
get_figma_design_contextGet design context for a specific component or screen from the codebase governance spec. Returns the relevant design tokens, typography rules, spacing rules, and component patterns that apply. Use this to understand what a component SHOULD look like according to the design system.
get_flywheel_statusGet the current state of both loops (Verification inner loop and Eval outer loop) and how they connect. Shows active verification cycles, recent eval trends, and cross-loop connections.
get_forecast_evidenceQuery evidence ledger for a forecast. Optionally filter by signal direction (supporting/disconfirming/neutral).
get_workflow_historyReturns past runs for a specific workflow with scores, grades, step counts, and durations. Use to track conformance improvements over time and identify regression patterns.
listDocumentsList all user documents sorted by last modified (most recent first, up to 200).
listFoldersList all user folders.
listSpreadsheetsList user spreadsheets sorted by last updated.
list_available_toolsetsList all available toolsets showing which are currently loaded and which can be dynamically added. Includes tool counts and descriptions for each toolset.
list_eval_runsList recent eval runs with their aggregate scores. Use this to track quality over time and detect drift.
load_toolsetDynamically load a toolset into the current session. After loading, the tools become immediately available for use. Based on the "Search+Load" architecture from Dynamic ReAct (arxiv 2509.20386) — the winning pattern for scalable MCP tool selection. Use discover_tools first to find which toolset you need, then call this to activate it.
log_benchmark_milestoneRecord completion of a benchmark milestone. Tracks which milestones the agent achieved, time taken, tools used, and whether verification passed.
news_companyGet recent news articles for a specific company/ticker symbol from Yahoo Finance.
news_worldGet world/market news headlines. Currently returns a placeholder — requires an external news API for full functionality.
promote_to_evalTake findings from a completed verification cycle and promote them into eval test cases. This is how the inner loop feeds the outer loop: Phase 4 test results become eval cases, Phase 5 checklists become scoring rubrics, Phase 6 edge cases become adversarial eval cases.
read_emailsRead emails from an IMAP mailbox over TLS. Requires EMAIL_USER and EMAIL_PASS env vars. Defaults to Gmail IMAP (imap.gmail.com:993). For Gmail, enable IMAP in Settings and use an App Password. Returns emails with headers (from, to, subject, date) and plain text body. Use IMAP SEARCH syntax to filter.
record_eval_resultRecord the actual result for a specific eval case. Include what happened, the verdict (pass/fail/partial), and optionally telemetry data and judge notes.
removeDocumentFromFolderwrite actionRemove a document from a folder.
render_flow_visualizationRender flow visualization with colored bounding boxes for each flow group. Supports overlay on a rendered page image or synthetic dark canvas fallback. Handles wide Figma pages (>3:1 aspect ratio) and uses cross-platform fonts (Windows/macOS/Linux with PIL default fallback).
research_job_marketResearch job market requirements for a given role or skill set. Provides guidance on in-demand skills, common requirements, and career recommendations. Useful for project ideation, learning priorities, and understanding market needs. Note: Returns curated guidance based on knowledge — for real-time job listings, use web_search with job board queries.
restoreDocumentRestore an archived document and its children.
run_autonomous_loopwrite actionExecute autonomous verification loop with stop conditions. Implements Ralph Wiggum pattern with checkpoints, iteration limits, and timeout. Use for multi-step autonomous tasks that need guardrails.
run_flicker_detectionwrite actionRun full 4-layer Android UI flicker detection pipeline: SurfaceFlinger stats + logcat (L0), screenrecord (L1), frame extraction + SSIM analysis with adaptive threshold (L2), optional semantic verification (L3). Returns FlickerReport with events, SSIM scores, timeline chart, and comparison images. Requires FLICKER_SERVER_URL and adb-connected device.
run_mandatory_flywheelwrite actionEnforce the mandatory 6-step AI Flywheel verification after any non-trivial change. All 6 steps must pass before work is considered done. Skipping is only allowed for trivial changes (typo, comment, config) with explicit justification. Real-world example: a variety-check dead-code bug was only caught by running this process after smoke tests passed.
run_self_maintenancewrite actionRun autonomous self-maintenance cycle. Checks TypeScript compilation, documentation sync, tool counts, test coverage, and more. Can auto-fix low-risk issues. Scope: quick (1hr check), standard (6hr), thorough (24hr analysis).
run_tests_cliwrite actionExecute a shell test command with timeout, capture stdout/stderr, and return structured results. Useful for running test suites, linters, or build commands as part of verification workflows.
sandbox_batchwrite actionExecute multiple commands, index all outputs, and run multiple search queries — all in ONE call. This is the highest-efficiency tool: one sandbox_batch replaces N sandbox_execute calls + M sandbox_search calls. Use for research phases, multi-file analysis, or any task requiring multiple data sources.
sandbox_executewrite actionRun a shell command, automatically index the output into the sandbox, and return only a summary. The raw stdout/stderr stays in SQLite — only line counts and a preview enter context. Use instead of raw shell execution for commands that produce large output (build logs, test results, file listings, git logs).
sandbox_ingestIndex arbitrary text into the context sandbox (FTS5). Raw content stays in SQLite — only a compact reference enters context. Use for large outputs, API responses, file contents, or any data you want searchable without flooding the context window.
sandbox_searchBM25-ranked full-text search across all sandboxed content. Pass multiple queries as an array to batch all questions in one call. Use after sandbox_ingest or sandbox_execute to retrieve relevant snippets without pulling raw data into context.
sandbox_statsShow context savings for the current session — per-tool breakdown, total bytes indexed vs returned, savings ratio, and estimated token savings. Use to quantify how much context window space the sandbox has preserved.
scaffold_directoryScaffold directory structure following OpenClaw patterns. Creates organized subdirectories and placeholder files for: agent_loop, telemetry, evaluation, verification, multi_channel, self_learning, governance.
scaffold_nodebench_projectwrite actionCreate a complete project template pre-configured for nodebench-mcp. Generates: package.json, AGENTS.md, .mcp.json, .parallel-agents/, .github/workflows/, tsconfig.json, .gitignore, README.md, and src/ directory. Everything an agent needs to start working immediately with the full AI Flywheel methodology. Use dryRun=true (default) to preview what will be created.
scan_capabilitiesAnalyze a source file for structural code patterns. Returns a capability report showing what the code can structurally DO — state management (hooks, refs, reducers), layout (overlay, sidebar, grid, responsive), interactions (keyboard, drag-drop, clipboard, voice, touch), rendering (markdown, code highlighting, math, streaming), and backend patterns (REST routes, middleware, DB queries, auth guards
searchDocumentsSearch documents by title and content (full-text search).
search_content_archiveSearch past content by theme, title, or keywords using FTS5 full-text search. Use before generating new content to check what's already been covered and avoid repetition.
self_implementSelf-implement missing agent infrastructure. Generates implementation plan and code templates for: agent_loop, telemetry, evaluation, verification, multi_channel, self_learning, governance. Uses dry-run by default.
send_emailwrite actionSend an email via SMTP over TLS. Requires EMAIL_USER and EMAIL_PASS env vars. Defaults to Gmail SMTP (smtp.gmail.com:465). For Gmail, use an App Password (Google Account → Security → 2-Step Verification → App passwords). Override host/port with EMAIL_SMTP_HOST and EMAIL_SMTP_PORT. Supports plain text and HTML multipart.
setup_local_envDiscover and diagnose the local development environment. Checks for available API keys, installed SDKs, Node.js version, package manager, and git status. Returns suggestions for setting up missing components. Use this to help agents bootstrap their tooling or diagnose issues. Fully local — no external calls.
smart_select_toolsLLM-powered tool selection: sends your task description + a compact tool catalog to a fast model (Gemini 3 Flash, GPT-5-mini, or Claude Haiku 4.5) to pick the best 5-10 tools. Much more accurate than keyword search for ambiguous queries like "call an AI model" or "analyze my data". Requires GEMINI_API_KEY, OPENAI_API_KEY, or ANTHROPIC_API_KEY. Falls back to heuristic discover_tools if no API key i
start_autonomy_benchmarkStart an autonomous capability benchmark. Defines a complex build challenge and tracks agent progress through milestones. Inspired by Anthropic's C-compiler test. Available challenges: c_compiler, rest_api, fullstack_app, cli_tool, data_pipeline. Call with challenge="list" to see all options.
start_eval_runwrite actionStart a new eval run. Define the test batch upfront with test cases (input, intent, expected behavior), then record results as each case is executed. Rule: no change ships without an eval improvement.
sync_figma_tokensPull Figma design token variables from a Figma file and compare against the codebase's CSS custom properties (src/index.css). Reports drift: tokens in code but not Figma, tokens in Figma but not code, and value mismatches. Requires FIGMA_ACCESS_TOKEN env var.
trigger_investigationWhen an eval run shows regression, trigger a new verification cycle to investigate. This is how the outer loop feeds the inner loop: regressions trigger 6-phase investigations.
triple_verifywrite actionRun triple verification on agent implementation. V1: Internal codebase analysis. V2: External authoritative source validation (Anthropic, OpenAI, LangChain, etc.). V3: Synthesis with recommendations and source citations. Optionally generates self-instructions.
unload_toolsetwrite actionRemove a dynamically loaded toolset from the current session to free up context. Cannot unload toolsets from the initial preset.
updateDocumentwrite actionUpdate document fields: title, content, icon, visibility, favorite status.
update_agents_mdwrite actionRead, append, or update sections in the AGENTS.md file. This file contains instructions for AI agents working on the project. Use 'read' to see current contents and sections, 'append' to add new content at the end, or 'update_section' to replace a specific section's content. Creates AGENTS.md from template if it doesn't exist. IMPORTANT: Every section MUST include `**→ Quick Refs:**` for agent chu
update_forecast_probabilitywrite actionUpdate a forecast's probability with reasoning. Records the change in update history for audit trail and forecast diffs.
verify_concept_supportCheck if a source file contains all required code signatures for a concept. Provide a concept name and a list of regex patterns that MUST exist for the concept to be considered implemented. Returns match score (0-100%), status (Fully/Partially/Not Implemented), evidence found, and gap analysis. Results are persisted to SQLite for tracking progress over time.
Public scan report
scanner v0.1.10 · 2026-09-28 · same rubric, same numbers if you re-run it
- Code scan157 source files scanned8/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 15 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Findings (2)
- mediumeval / new Function used
exec.evaldist/tools/selfEvalTools.js: …e. Must have: tests (log_test_result) + eval (promote_to_eval) + quality gate (run_qua…
- highShell command built from a string (injection risk)
exec.shell-concatdist/tools/uiUxDiveAdvancedTools.js: … === "win32") { execSync(`start "" "${fullUrl}"`, { stdio: "ignore" }); …
How Nodebench compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 66/100
- higher than 23% of 48,255 servers
- Tools
- 100
- the typical server has 7
- Tools that change things
- 25%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 14
- more than 90% of 28,688 servers
- Downloads a week
- 99
- more than 63% of 12,191 servers with a package
What its tools let an agent do: 60 read · 13 create · 14 change · 3 delete · 1 send or post · 9 run or deploy
Install Nodebench in Claude Code, Cursor or VS Code
Runs npx -y nodebench-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add nodebench -- npx -y nodebench-mcp
What the publisher says
From the Nodebench repository's README, as published. We do not edit it. Read it on GitHub
NodeBench AI
Entity intelligence for any company, market, or question.
Live: nodebenchai.com npm: npx nodebench-mcp / npx nodebench-mcp-power / npx nodebench-mcp-admin GitHub: HomenShum/nodebench-ai
New to this codebase? Read docs/STARTHERE.md — it follows one user's question through the code in the order it actually runs, then .tours/ walks the same path inside the live source in VS Code (CodeTour extension). docs/codebase/ has the stack, structure, conventions, integrations, testing and the honest list of known problems. docs/SIMPLIFICATIONREPORT.md records what was measured and removed, with the command for every number.
Recorded from demo/graph-rail/ replaying a committed eval transcript (persona-episode pack, 2026-01-05) through session.observe() — recorded events replayed, not re-verified; every label is a literal fixture substring, edges are traversal history, never evidence. Regenerate: node scripts/record-graph-rail-clip.mjs.
Product
NodeBench is a research and reporting product built around five user-facing surfaces:
- Home = start quickly
- Reports = reusable memory
- Chat = do the work
- Inbox = captures, nudges, alerts, automations, and unassigned review
- Me = operator context and control
Deep research opens in the separate Workspace surface at nodebench.workspace; it is not a sixth tab in the operating app.
The core idea is simple:
users do not just need a chatbot that answers once.
They need a system that can:
- take a question, file, URL, or prior thread
- search and synthesize with sources
- turn the run into a reusable artifact
- watch for meaningful change later
- improve the next run from what it learned
Pending Release Candidate: Runtime-Grounded Control Focus
This candidate is not yet merged or deployed. It narrows the reachable product to controls backed by a real runtime capability and makes unavailable state explicit:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Nodebench: common questions
- Is Nodebench MCP server safe?
- With care: it is graded C, so read the findings first (66/100). Read the Nodebench safety report
- How do I install Nodebench?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Nodebench need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Nodebench maintained?
- The last commit was 52 days ago (2026-09-13). The latest release is v2.31.2.
- What can I use instead of Nodebench?
- Servers from other publishers that do the same job: Front-End Checklist MCP server.
- How does Nodebench compare with other MCP servers?
- safety score 66/100 (higher than 23% of 48,255 servers); tools 100 (the typical server has 7); tools that change things 25% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Nodebench
Same job from other publishers: the closest match first, then the best rated.
- Front-End ChecklistReview frontend code and live pages against 386 quality-gated web development rules.not reviewedWidely usedA