NOVA LAB
NOVA LAB is a scientific laboratory built for the agentic web.
The idea started with a simple question: what happens when an AI agent can do more than read a website or generate an answer? What if the website itself exposed executable capabilities that the agent could discover and operate?
NOVA explores that idea through scientific experimentation.
Instead of building an AI chatbot that tells a user what an experiment might show, NOVA provides a stateful environment where an external agent can design an experiment, request human authorization, execute it, retrieve persisted observations, analyze the evidence, save a finding, and replicate the experiment.
The current demonstration uses plant growth as the experimental domain. The experiment can vary environmental conditions such as temperature and water and measure simulated plant-growth outcomes.
How it works
The interaction begins outside NOVA. A user gives an external agent a scientific question such as:
Investigate what environmental conditions maximize plant growth. Don't assume the answer—design and test an experiment.
The agent discovers NOVA's capabilities through WebMCP rather than being given a private NOVA-specific API integration.
NOVA exposes six WebMCP tools:
create_experimentrun_experimentget_resultsanalyze_resultssave_findingreplicate_experiment
The resulting flow is:
Human → External Agent → WebMCP → NOVA → Experiment → Evidence → Analysis → Replication
NOVA owns the state and execution. The external agent provides reasoning and orchestration.
Human authorization
Experiments cannot simply be executed because an agent requested them.
Creating an experiment places it into an AWAITING_APPROVAL state. A human must approve it before execution is authorized. This authorization boundary is enforced by the server and state machine, not by relying on the agent to behave correctly.
The experiment then progresses through:
DRAFT → AWAITING_APPROVAL → APPROVED → RUNNING → COMPLETED → ANALYZED → REPLICATED
Rejected experiments can return to the draft state for revision.
Evidence, not fabricated answers
NOVA persists the experiment and its observations rather than generating a result only for display.
The current simulation produces synthetic experimental observations using deterministic simulation with stochastic noise. This is explicitly disclosed in the application.
After execution, the agent can retrieve the persisted observations and request statistical analysis. NOVA calculates effects, confidence intervals, p-values, interaction effects, and condition means from the stored observations.
The experiment can then be independently replicated using a new seed. The replication evaluates whether the direction of the result is consistent, whether confidence intervals overlap, and whether the relative effect difference remains below the defined threshold.
Provenance
NOVA preserves provenance throughout the experiment lifecycle, including experiment IDs, simulation version, seeds, timestamps, observations, analysis records, findings, replications, and state-transition events.
This makes it possible to trace a conclusion back to the experiment and measurements that produced it.
Why WebMCP
The interesting part of NOVA is not simply that it can simulate plant growth.
The project explores a different interaction model for the web: a website can expose meaningful capabilities that an external agent can discover and execute.
The agent does not need to be given NOVA's internal implementation or a custom integration created specifically for the demonstration. It encounters the website and its exposed capabilities through WebMCP.
That allows the website to remain responsible for its own state, validation, authorization, execution, persistence, and evidence while the external agent handles reasoning and orchestration.
What I learned
Building NOVA required thinking about a website as more than a collection of pages and API endpoints. The WebMCP layer became a capability boundary between the external agent and the application.
I also learned that exposing tools is not enough by itself. Each tool has to connect to the same application logic used by the website, preserve authorization rules, validate inputs, produce persistent state changes, and leave an auditable event trail.
The most important design decision was therefore keeping the WebMCP tools thin: they expose capabilities, while the server remains the source of truth for scientific state and authorization.
Challenges
The hardest parts were making the system genuinely stateful and ensuring that an agent could not bypass the experiment lifecycle.
A successful tool call had to correspond to a real application operation rather than a simulated response. This meant connecting WebMCP execution to validation, authorization, the experiment state machine, PostgreSQL persistence, statistical analysis, and provenance.
Another challenge was making the synthetic simulation useful for experimentation without presenting synthetic results as real scientific measurements. NOVA therefore labels its generated observations and preserves the simulation version and seed as part of the experimental provenance.
NOVA is intentionally a constrained scientific demonstration, but the underlying interaction model is the focus: an external agent discovers and operates an executable, stateful environment exposed by the web.
Built With
- docker
- neon
- next.js
- postgresql
- prisma
- react
- typescript
- vercel
- webmcp
Log in or sign up for Devpost to join the conversation.