Inspiration

CampusVerify was originally built to make research participation and survey distribution more accessible, particularly within campus communities. Researchers can create surveys, target respondents, collect responses, and analyze their results through the existing platform.

For the WebMCP Challenge, I wanted to explore a different question: What would happen if an AI agent could actually work with a researcher inside the research platform, rather than simply acting as a chatbot beside it?

This led me to the idea of a Human + Agent Research Workspace, where the researcher provides the objective and the AI agent can operate research tools while the human remains in control of important decisions.

What it does

The competition version of CampusVerify adds a browser-facing WebMCP layer and a dedicated Human + Agent Research Workspace.

A researcher can give the agent a research objective, and the agent can use CampusVerify's WebMCP tools to:

  • Understand the current research context.
  • Review the researcher's existing surveys.
  • Propose and revise survey drafts.
  • Propose respondent targeting and estimate audience reach.
  • Request human approval before publishing.
  • Publish an approved survey.
  • Monitor survey progress.
  • Analyze aggregate question results.
  • Compare respondent subgroups.
  • Save an approved analysis view.
  • Prepare an existing CampusVerify export for human review.

The agent does not have unrestricted control. Consequential actions require explicit human approval.

For example, before publishing a survey, the researcher sees the proposed questions, targeting, response goal, visibility, and other relevant details. The researcher can edit the proposal and must explicitly approve it before publication.

The publication approval is also bound to the exact draft being approved. If the draft changes, the previous approval becomes invalid.

How I built it

CampusVerify existed before the WebMCP Challenge, so I treated the WebMCP work as an extension of the existing application.

I implemented a browser-facing WebMCP layer using the W3C Web Model Context API through document.modelContext.registerTool() without adding an external WebMCP npm dependency.

I created 13 purpose-built WebMCP tools covering research context, survey management, targeting, analysis, publication approval, saved analysis views, and report preparation.

The WebMCP layer reuses CampusVerify's existing authenticated application infrastructure, including its existing survey functionality, ownership checks, database policies, and export functionality.

I also built a dedicated workspace interface that makes the human-agent collaboration visible through draft review, targeting proposals, tool activity, approval cards, progress monitoring, analysis results, and report preparation.

Security was treated as part of the implementation. The tools operate using the authenticated researcher rather than accepting an arbitrary user ID from the agent. Participant identities and individual contact information are not exposed through the WebMCP tools, and analysis is returned in aggregate form.

Challenges I ran into

The biggest challenge was integrating WebMCP into an existing application without disrupting the functionality that was already working.

I also had to determine where an AI agent should have freedom to act and where the human should remain in control. Publishing a survey is a substantial action, so I designed an explicit approval workflow instead of allowing the agent to publish automatically.

Another challenge was protecting the boundary between untrusted research content and agent instructions. Survey and response text is treated as untrusted data, and the tools minimise the information returned to the agent.

Live verification required careful testing across the available browser environment. I validated the WebMCP registration, schemas, authentication boundaries, tool execution paths, typechecking, automated tests, and production builds, and also manually exercised the exposed tools through Chrome's WebMCP testing environment.

Accomplishments that I am proud of

I am proud that the competition implementation goes beyond adding a chatbot to an existing survey application.

The agent can interact with actual CampusVerify research functionality through purpose-built browser tools, while the researcher remains involved throughout the workflow.

I implemented 13 WebMCP tools and an explicit human approval system for consequential operations. Publication approvals are single-use and tied to the exact draft that the researcher approved, preventing an outdated approval from being reused after the draft changes.

I also maintained the existing CampusVerify application rather than replacing its core survey and analysis systems.

What I learned

I learned that making an application AI-powered and making it agent-accessible are two different problems.

An agent needs clearly defined capabilities, structured inputs and outputs, authentication boundaries, data minimization, and safeguards around actions that have real consequences.

I also learned that human-agent collaboration works better when the application itself communicates what the agent is doing. Instead of hiding the interaction behind a chatbot, the workspace exposes proposals, tool activity, approvals, progress, and analysis so the researcher can understand and intervene.

Most importantly, I learned that the human should remain the decision-maker when an agent is about to perform an important action.

What's next for CampusVerify

The next step is to validate the Human + Agent Research Workspace with researchers using real research workflows.

I want to learn which research tasks benefit most from agent assistance, where researchers want more control, and which repetitive parts of the research process can safely be delegated to agents.

I also plan to continue improving the WebMCP experience as browser and agent support for the standard develops.

The long-term goal is for CampusVerify to become a research workspace where researchers can collaborate with AI agents throughout the research lifecycle while retaining meaningful control over their studies, data, and decisions.

Built With

Share this project:

Updates

Submission history