Health: ActiveRecent health check succeeded.Last checked 8/11/2026, 12:02:11 AM
Nodebench
Enrichment pendingWe havenβt run our AI enrichment pass on this listing yet, so the overview, use cases, and FAQ below may be sparse or missing. We work through the catalog over time β check back soon.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
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:
Agents keeps ask, explicit swarm launch, active work, approvals, sources,
traces, receipts, exports, and provenance while removing projected metrics,
synthetic fallbacks, duplicate actions, and local-only controls.
Generated code remains copyable and exportable but never executes inside the
signed-in app origin. Runtime cards accept successful structured tool output,
not assistant prose, guessed search fields, or incomplete/error states.
Canonical owner-scoped streaming remains; an unreferenced bearer-stream
component and HTTP route were removed instead of retained as a second path.
Home, Reports, Chat, Inbox, and Me use live runtime data, owner-scoped where
private, or honest loading, empty, not-found, and unmeasured states instead of
reachable product fixtures. Desktop and mobile now share the same Inbox and
Me component trees; duplicate queue/profile renders and their hard-coded plan,
usage, connector, and local-draft projections were deleted.
Pipeline launches and schedules require an authenticated server identity,
while guest history, detail, bundle, stream, and evaluation reads require an
anonymous-session possession credential. Browser-supplied owner keys are no
longer an authority boundary, and trusted cron or MCP work stays on internal
contracts.
Authenticated launches consume durable per-owner admission: four units per
ten minutes and thirty per day, with composed runs costing two units. Server
input bounds and per-owner schedule caps close the remaining cost-abuse path.
Fresh pipeline attempts and recurring schedule occurrences are isolated by
durable attempt identities and execution-generation fences, so retries can
resume the same attempt without stale or overlapping workers rewriting it.
Research distinguishes sources consulted from citations actually bound in
the synthesis. Missing, malformed, or unbound evidence cannot be promoted to
a verified claim, and chat no longer injects citation markers into prose.
Operator telemetry and maintenance are deferred until deliberate disclosure
and require server-confirmed operator access.
Task sessions, traces, steps, evidence, approvals, swarms, and operational
history are owner-scoped. The unreachable parallel timeline, kanban, hook,
and public orchestrator were removed; due diligence retains only a bounded,
owner-checked internal task substrate. Unused public due-diligence, investor,
demo, and evaluation entrypoints were internalized or removed, and retained
job, branch, memo, and catch-path writes require the exact owner chain. Raw
orchestrator writes use internal contracts, MCP document and spreadsheet
operations require exact object ownership, and a TRACE completion fails
closed unless its receipt persists with an exact output hash.
Release evidence is intentionally pending. The source PR must merge through the
required CI gates first; a follow-up evidence-seal PR must then record the
canonical squash SHA, exact-revision checks, preview assertions, production
deployment revision, and direct production browser verification before this
section can be described as shipped.
What Shipped
five-surface web app across Home, Reports, Chat, Inbox, and Me
separate deep-work Workspace shell at nodebench.workspace
typed search and reporting pipeline
hosted public research MCP for external apps and agents:
https://nodebench-mcp-unified.onrender.com?profile=public-research
Pi-AI pipeline lane on Reports with code-gen, design-gen, research,
composed runs, schedules, streaming previews, eval scorecard, and MCP HTTP
bridge
live SSE streaming with saved runtime state
Convex-backed product state for sessions, reports, entities, nudges, files,
and related objects
shared-context handoff and delegation plumbing
local and deployed server runtime for search, streaming, voice, and shared
context routes
nodebench-mcp, nodebench-mcp-power, and nodebench-mcp-admin
distribution lanes
builder-facing Oracle, dogfood, eval, replay, and control-plane
infrastructure
Hosted Public Research MCP
NodeBench can be used as a public research memory and tool server from any
agent or app without forcing signup before the first useful result.
x-nodebench-client-id lets NodeBench attribute anonymous usage and estimated
costs without requiring a NodeBench token. Do not put private email text,
resume text, API keys, or user secrets in this header.
Progressive Sign-In And Linking
The intended user flow is:
text
First public dossier works without signup
-> show sources, freshness, and confidence
-> offer "Link NodeBench" after value is visible
-> linked users get stable history, higher budgets, team usage, webhooks,
token management, billing controls, and reusable private workspace context
Do not block public-source research behind login. Promote sign-in when the user
wants persistence, shared team memory, budget controls, private workspace
linking, or API/MCP tokens.
See MCP_TOOL_PROFILES.md for the full
profile list, tool catalog, account attribution, and cost tracking contract.
Product At A Glance
text
USER SURFACES
-------------
Home -> start quickly
Reports -> reusable report memory
Chat -> answer, sources, trace, follow-ups
Inbox -> captures, nudges, automations, alerts, unassigned items
Me -> operator context, permissions, controls
BACKEND
-------
Convex tables and product state for sessions, reports, entities, nudges,
files, shared context, and evaluation artifacts
RUNTIME
-------
search pipeline
-> answer packet
-> saved report
-> tracked entity / tracked theme / follow-up task
-> nudge or prep brief
-> resumed chat or reopened report
COMPOUNDING LOOP
----------------
question
-> answer
-> saved report
-> watch item
-> useful nudge
-> better next run
DISTRIBUTION
------------
nodebenchai.com
nodebench.workspace
nodebench-mcp
nodebench-mcp-power
nodebench-mcp-admin
Event Intelligence Serving Model
Event serving extends the same budgeted search route used by the main app and
MCP runtime. NodeBench treats search as a memory-building operation with a
budget. For events, NodeBench checks the event corpus and workspace memory
before live search, then persists useful results as entities, claims, sources,
and workspace context.
ScratchNode is the lightweight live-event sidecar for this model: a disposable
room that turns public chat and sourced /ask answers into a public wiki while
keeping attendee notes private. It complements Luma, Slack, Eventbrite, and
other event surfaces instead of replacing them; the explicit handoff to
NodeBench opens https://nodebenchai.com/events/:eventSlug/private with
private-note continuation context and no URL-borne ownerKey.
The event flow is:
text
Before event
-> build event corpus
During event
-> capture messy notes instantly
After event
-> turn captures into report, cards, follow-ups, and reusable memory
The product model is:
text
ScratchNode sidecar room + public event corpus + private NodeBench continuation
Event corpus and capture data stay separated:
Shared event corpus = public event info, speakers, sponsors, company pages,
sessions, and public source cache.
Private captures = what a user personally heard, wrote, recorded, or
photographed; ScratchNode private notes never enter the public feed, public
wiki, or public /ask cache.
Team/org memory = shared only inside the fund, company, or workspace.
Event aggregate insights = opt-in or anonymized only.
During the event, most captures should hit the event corpus first and avoid paid
search:
text
voice memo / text / screenshot
-> captureRouter
-> active event corpus
-> entity and claim extraction
-> active event session attachment
-> budget policy
-> ack + next action
Example mobile ack:
text
Saved to Ship Demo Day session
Detected 1 person | 1 company | 2 claims | 1 follow-up
Using event corpus | 0 paid calls
After the event, the report opens in nodebench.workspace:
text
Brief -> post-event memo
Cards -> people, companies, products, themes
Notebook -> raw notes, transcripts, screenshot OCR, cleaned notes
Sources -> field notes, public evidence, verification status
Chat -> follow-up questions and deeper refreshes
Map -> graph view later
NodeBench is designed around a few product realities:
A useful answer should not disappear after one chat turn.
Saved work should become reusable memory, not a dead archive row.
The product should bring the user back only when something meaningful
changes.
The system should gradually learn how the user works without forcing a heavy
onboarding flow.
Operator context should improve future runs without turning the system into
corporate-speak or fake-agreeable sludge.
That drives the current design:
answer-first execution
advisor mode by design via dynamic routing:
fast executive lane for routine work
deeper advisor lane for ambiguity, planning, and harder reasoning
similar in spirit to Claude Code's official opusplan split:
stronger planning lane, cheaper execution lane
saved artifacts as first-class objects
visible sources and traceability
a five-page loop instead of five unrelated tabs
future Harness v2 work focused on specification, operator context, and
compounding behavior
Plain English:
text
NodeBench should not spend the most expensive reasoning path on every request.
It should move fast by default, then go deeper when the task, evidence, or user
request justifies it.
The detailed implementation, verification, and evaluation plan for this mode
lives in:
NodeBench should not feel like five separate destinations.
The intended product behavior is:
text
Home
-> start quickly
Reports
-> turn that artifact into reusable memory
Chat
-> do the work
-> create the first useful artifact
Inbox
-> triage captures, nudges, automations, alerts, and unassigned items
Me
-> improve how the next run is handled
Workspace
-> open deep Brief / Cards / Notebook / Sources / Chat / Map work
-> lives at nodebench.workspace, not in the operating tab bar
Next Home or Chat run
-> starts with more context than before
The shortest version of the compounding loop is:
text
question
-> answer
-> saved report
-> watch item
-> useful nudge
-> better next run
Plain-English artifact flow:
text
input
-> answer packet
-> saved report
-> tracked entity / tracked theme / follow-up task
-> nudge or prep brief
-> resumed report or resumed chat
-> user correction or confirmation
-> updated operator context
-> better next run
What each page contributes:
Home starts the run with the least friction possible
Reports turns those into a durable report the user can reopen, refresh, and
reuse
Chat creates the answer, sources, trace, entities, and next actions
Inbox collects nudges, captures, automations, alerts, and unassigned items
Me stores the operator context that improves the next answer
ship Layer 0 operator context so the system can learn useful workflow
patterns without forcing a heavy onboarding flow
support permissioned transcript ingestion from NodeBench chats first, then
optional external logs such as Claude Code JSONL transcripts for
nodebench-mcp
add style-drift guardrails so the system learns judgment and workflow
without overfitting to corporate voice, filler, or sycophancy
add anticipatory prep behavior so the system can prepare the user before
important interactions, not only answer after the fact
make saved reports behave like reusable memory, not storage
keep Nudges as an Inbox section with at least one working daily trigger
make Me clearly improve future runs by exposing what context is being
used and why
finish the nodebench-mcp v3 cut-and-split plan so default runtime,
power runtime, and admin runtime are clearly separated
instrument real latency, real cost, real artifact completion, and real
reuse across both web and MCP flows
keep README, runtime behavior, and exposed tool counts in sync so the
public story matches the actual system
keep dogfood, eval, and builder-control infrastructure as internal
leverage instead of letting it leak into the main user-facing product
# Claude Code
claude mcp add nodebench -- npx -y nodebench-mcp
# Claude Code power lane
claude mcp add nodebench-power -- npx -y nodebench-mcp-power
# Claude Code admin lane
claude mcp add nodebench-admin -- npx -y nodebench-mcp-admin
# Cursor
npx nodebench-mcp --preset cursor
# Generic MCP client
npx nodebench-mcp
Local development
bash
git clone https://github.com/HomenShum/nodebench-ai.git
cd nodebench-ai
npm install
cp .env.example .env.local
# Frontend + Convex + voice server
npm run dev
# Production build
npm run build
The notebook and diligence stack in this repo are a good example of a common
product engineering tradeoff:
the best user experience is one notebook that feels continuous
the safest current runtime is still layered and block-addressable underneath
For NodeBench, that means:
founder is a trait and diligence block, not a permanent sixth tab
diligence should use one generic pipeline, not many narrow *Identify.ts
features
the runtime should stay scratchpad-first -> structuring pass -> deterministic merge
user-owned prose should feel local-first and calm while typing
live agent output should arrive as overlays or decorations first, not as
direct document mutations
accepted agent output should become frozen, user-owned notebook content
provenance should stay available, but secondary to the reading and writing
flow
Why the notebook does not use one giant live editor model yet:
collaboration is more reliable when the system can address bounded sections
provenance, evidence, and contribution logs need stable attachment points
background agent updates should not compete with user keystrokes
deterministic section-level merge is easier to reason about than whole-page
mutation churn
The practical rule in this repo is:
text
UX should feel monolithic.
Runtime should stay layered.
Typing should be local-first.
Agent output should be overlay-first.
Accepted output should become owned prose.
Current notebook refactor lessons:
hide the block machinery from the reading path
keep chrome quiet and move metadata to hover or focus
isolate the notebook surface from page-level re-render churn
favor one memoized notebook boundary over many inline object props
treat live diligence as read-only reference overlay until the user accepts it
when accepted, materialize a frozen notebook snapshot with explicit provenance
anchor live overlays at the notebook surface, not inside the first editable row
let Convex projection rows carry real source metadata so the UI is not forced to reconstruct trust state from prose alone
use one generic projection producer for overlays: report save writes the same structured rows that page-load backfill and manual refresh re-run
when moving beyond report-backed overlays, stream raw scratchpad only in a secondary rail and emit structured projection rows on checkpoint rather than dumping scratchpad prose into the notebook body
if checkpoint structure comes from an LLM, keep it block-scoped and schema-bound: scratchpad checkpoint -> JSON -> validation/repair -> deterministic fallback -> projection row
let the model structure intermediate JSON, but keep merge, persistence, and notebook ownership deterministic
ship generic diligence primitives first, then block-specific renderers
For students reading the code, the most relevant docs are:
NodeBench ships with a comprehensive evaluation harness that proves correctness
across 32+ scenarios, 9 user personas, and 9 feature categories. This is not
hand-wavy "it works" β it is measured, versioned, and reproducible.
Latest Published Run Results
Pi-AI pipeline cascade: merged to main on 2026-04-30 at
2a541037874c0f8c675ab393d5c08f50123cf6d2.
Note: The only outstanding item is p95 latency optimization (174s vs 90s
target) β a performance enhancement, not a correctness blocker. The system is
production-ready for all quality scenarios.
Evaluation Coverage
Capability Eval β 32 Persona Scenarios
Persona
Example Query
Status
JPM Startup Banker
"DISCO β worth reaching out? Fastest debrief"
β 100%
Early Stage VC
"OpenAutoGLM β what's the wedge?"
β 100%
CTO Tech Lead
"QuickJS β do I have exposure?"
β 100%
Enterprise Exec
"Gemini 3 β procurement next step?"
β 100%
Ecosystem Partner
"SoundCloud VPN β who benefits?"
β 100%
Founder Strategy
"Salesforce Agentforce β counter-positioning?"
β 100%
Academic R&D
"RyR2/Alzheimer's β literature anchor?"
β 100%
Quant Analyst
"DISCO β extract funding signal"
β 100%
Product Designer
"DISCO β schema-dense UI card JSON"
β 100%
Sales Engineer
"DISCO β share-ready outbound summary"
β 100%
Expanded Feature Breadth β 31 Scenarios
Category
Count
Pass Rate
Calendar
3
100% β
Disclosure
4
100% β
Document
3
100% β
Hybrid
4
100% β
Media
3
100% β
Skills
4
100% β
Spreadsheet
3
100% β
Tools
4
100% β
Web
3
100% β
Answer Control β 8 Dimensions
Entity resolution: 100% β
Retrieval relevance: 100% β
Claim support: 100% β
Final response quality: 100% β
Trajectory quality: 100% β
Actionability: 100% β
Artifact decision quality: 100% β
Ambiguity recovery: 100% β
How to Verify
Run the full production evaluation suite:
bash
# Full 8-phase evaluation (typecheck β build β capability β expanded β
# answer-control β dogfood β notebook β history)
npm run eval
# Quick verification (3 scenarios)
npm run eval:quick-slice
# Individual lanes
npm run eval:capability # 32 persona scenarios
npm run eval:feature-breadth # 31 feature scenarios
npm run eval:retention # Wiki continuity suite
All artifacts are versioned in docs/architecture/benchmarks/:
full-stack-eval-latest.md β aggregate summary
comprehensive-eval-*.md β capability results
expanded-eval-*.md β feature breadth results
product-answer-control-eval-*.md β answer control results
What "Production Ready" Means Here
Deterministic gates pass β no regressions in core correctness
Add the following block to your claude_desktop_config.json under mcpServers: "mcpServers": { "nodebench": { "command": "npx", "args": ["-y", "nodebench"] } }
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
GitHub stars14
GitHub Star CountTotal stargazers on GitHub representing community popularity (14 stars).
Last commit6d ago
Last Repository CommitThe most recent commit or push recorded for this server's GitHub repository.Last commit on Aug 4, 2026
npm downloads13/mo
Monthly npm DownloadsAverage monthly package installs recorded from npm registry statistics.
44Quality signal: Fair Β· 44/100How this signal is calculated βΎ
Server availabilityNot measured
Not scored for repo-hosted servers β we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.
Verified ownership10/20
Documentation & tools16/30
Adoption & activity7/15
Community engagement0/10
A guidance signal from public completeness & health data β not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.
β Spotlight Slot
Feature Your MCP Server
Get maximum visibility for your server across our directory, search results, and detail pages.