Research Lens · MCP server
The usual AI research workflow is copy and paste. You move transcript chunks into a chat window, the model summarises them, and you get something fluent back. Two things go wrong. The model only sees what you happened to paste, so it cannot tell you how many participants raised a theme or whether round two improved on round one. And the output has no citations, so you cannot trace a claim back to who said it.
That is not a model problem. It is an access problem.
These five tools are what an AI assistant calls over MCP. This page runs the identical
functions in your browser so you can read the raw responses without a chat client.
docs/verify_parity.mjs diffs this page's output against the server's, so the
demo cannot drift from the real implementation.
Every excerpt returns as [P14 | R2 | 08:47]. A finding you cannot trace is a finding you cannot defend in a stakeholder review.
pattern_frequency counts distinct participants, because three quotes from one person is not a pattern. It splits by segment for the same reason.
draft_findings ends with a NOT SUPPORTED section: no causal claims, no generalising past the sample. An AI that sounds confident about six participants is a liability in research.
The tools never say what a finding means. That judgment stays with the researcher. This is the line between AI that accelerates research and AI that quietly replaces thinking with plausible text.
The schema takes any study: sessions, segments, rounds, tagged excerpts, SUS scores. Quotes here are paraphrased and anonymised for portfolio use.
TypeScript, Node, @modelcontextprotocol/sdk, stdio transport. The server runs
locally and connects to any MCP client. This page is static: no build step, no dependencies,
no backend.