Inspiration

Learning DAX is rarely just a syntax problem. The difficult part is building the mental model needed to reason about filter context, CALCULATE, and how filters change during evaluation.

AI can explain these concepts, but there is a deeper problem with conventional AI tutoring: if the same AI that helps the learner is also allowed to decide whether learning happened, assistance and evidence become blurred.

Learning World started from a simple principle:

AI can help the learner. AI cannot become the learner.

The WebMCP Challenge gave us a way to explore that principle through a real product rather than a chatbot demo. Instead of giving an agent unrestricted control over the learning experience, Learning World exposes live educational state and a small set of bounded capabilities through WebMCP.

The result is an architecture where intelligence can adapt how it helps while Learning World remains authoritative over what counts as learning.

Adaptive assistance. Fixed evidence standard.

What it does

Learning World — DAX Mission is an interactive learning experience focused on Power BI / DAX CALCULATE and filter context.

The learner works through a sequence of 12 original exercises covering 8 skills and a final transfer challenge.

For each exercise, the learner predicts the result of a DAX expression. Learning World evaluates that attempt deterministically against the exercise rules and expected result.

When an attempt is incorrect, the Active Learning Coach can observe the current learner state through WebMCP and dynamically choose one of three bounded interventions:

  • Socratic guidance
  • Explanation
  • Filter Trace

The learner does not choose a tutoring mode.

The agent chooses the intervention based on the live learning context.

For example, in one observed run the coach selected Filter Trace for one incorrect attempt, Explanation for another, and Socratic guidance later. This is not a hard-coded sequence: the intervention is selected dynamically from the current state.

Most importantly, assistance never creates learning evidence.

Only evaluated learner attempts can establish skills, mastery, transfer, or mission completion.

The agent adapts. The evidence does not.

How we built it

Learning World is built with React, TypeScript, and Vite and deployed on Netlify.

The application owns the authoritative Learning State: the current exercise, filter context, attempt history, learning progress, deterministic evaluation, evidence, mastery, and completion.

WebMCP exposes a standardized capability surface with exactly seven bounded tools.

Observe learning state

get_current_exercise

inspect_filter_context

get_attempt_history

get_learning_progress

Provide assistance

request_socratic_intervention

request_explanation

request_filter_trace

The WebMCP layer contains no capability for submitting an attempt, granting a skill, marking mastery, or completing the mission.

The embedded Active Learning Coach uses the same bounded capability model. After an incorrect learner attempt, a server-side Netlify Function calls the OpenAI Responses API using structured output. The model selects which assistance capability is most appropriate; it does not decide whether the learner is correct and it does not generate authoritative learning evidence.

The client then invokes the selected bounded capability through WebMCP, and Learning World renders the governed intervention.

We also validated the application using the browser's native WebMCP implementation. The same structured surface can therefore be discovered and used by compatible AI agents without transferring ownership of Learning State to those agents.

This creates two deliberately separate paths:

Adaptive assistance: Learning World → WebMCP → AI Agent → WebMCP → Learning World → Learner.

Authoritative evidence: Learner → Learning World → Evidence & Mastery.

That separation is the core of the project.

Challenges we ran into

The biggest challenge was avoiding the easiest implementation: building another AI tutor wrapped around a learning interface.

We wanted WebMCP to be structurally important rather than a decorative integration.

That meant defining a strict authority boundary between what an agent may observe or invoke and what only Learning World may determine.

Another challenge was designing adaptive assistance without turning Filter Trace, Explanation, and Socratic guidance into a predetermined workflow. The coach needed enough structured state to make a meaningful choice while remaining bounded by the capabilities exposed by the application.

We also had to make the deterministic learning loop and the agentic assistance loop work together without coupling them. If agent assistance is unavailable, the authoritative learning path still remains intact: learners can attempt exercises, receive deterministic evaluation, establish evidence, and progress through the mission.

Finally, communicating that architecture visually was a challenge of its own. The final design makes the distinction explicit: purple represents adaptive WebMCP assistance; green represents authoritative evidence.

Accomplishments that we're proud of

We are proud that WebMCP is not an add-on to the project — it defines the boundary between Learning World and intelligence.

The finished mission contains 12 exercises, 8 modeled skills, deterministic evaluation, attempt history, adaptive intervention selection, evidence tracking, mastery, and a transfer requirement.

The Active Learning Coach can dynamically select among three different intervention capabilities while operating through the same bounded WebMCP surface exposed to compatible agents.

At the same time, none of the seven WebMCP capabilities can manufacture evidence or modify authoritative learner outcomes.

That gives us the result we wanted from the beginning:

The agent can help. Only the learner can prove it.

What we learned

We learned that WebMCP becomes especially powerful when a web application exposes meaningful domain capabilities rather than asking an agent to infer everything from pixels, text, or generic page controls.

In Learning World, the agent does not need to guess what exercise is active, reconstruct the learner's history from the interface, or invent its own mechanism for helping. Those concepts are exposed explicitly through structured capabilities.

We also learned that deterministic systems and AI do not have to compete for control.

They can have different responsibilities.

AI is useful where adaptation and contextual judgment matter.

Deterministic logic is useful where correctness, evidence, and reproducibility matter.

WebMCP provides the interface through which those responsibilities can coexist without collapsing into one another.

What's next for Learning World — DAX Mission

The next step is to expand Learning World with additional bounded learning missions while preserving the same core principle: adaptive intelligence around an authoritative learning state.

For DAX, that means more original scenarios, additional concepts, richer transfer exercises, and persistent learner progress across sessions.

We also want to explore the same WebMCP capability model with additional compatible agents, so different forms of intelligence can assist the learner through the same standardized surface without changing the evidence standard underneath.

The long-term direction remains simple:

The tutor can evolve. The learning must remain trustworthy.

Built With

Share this project:

Updates