What we built

Slip2Form is a WebMCP-enabled tax form intake prototype.

The core idea is simple: the website does not provide the AI. The user brings their own AI assistant, and the website exposes safe, structured actions that the AI can use.

In this demo, a user can give a tax slip to their AI assistant and ask it to fill the current page using only clearly supported information. The AI discovers the WebMCP tools exposed by Slip2Form and uses them to update the live form directly.

Why WebMCP fits

This is a good fit for WebMCP because the problem is not understanding the tax slip. AI can already do that. The harder problem is getting the extracted information into a live website safely and reliably without copy-paste or brittle browser automation.

Instead of making the AI hunt for inputs and simulate clicks, Slip2Form exposes semantic tools such as set_full_name, set_date_of_birth, set_employment_income, set_income_tax_deducted, and set_rrsp_deduction. That gives the AI a structured interface to the page rather than a purely visual one.

How the experience works

The experience is collaborative rather than fully automated:

  • AI-generated changes are clearly identified.
  • The user can review highlighted updates before trusting them.
  • Any field can still be edited manually.
  • The form remains usable without AI assistance.
  • Uncertain values should be left blank rather than guessed.

This creates a shared-control workflow: the AI handles repetitive form-filling, while the human keeps final authority.

Slip2Form is a prototype for tax-information intake. It does not prepare a full tax return, file with the CRA, or provide tax advice.

How we built it

Slip2Form is built with Next.js, React, TypeScript, and Tailwind CSS.

The page registers WebMCP tools in the browser and routes agent actions into the same application-state update path used by manual input. That means human edits and AI edits share the same source of truth, which keeps the form behavior predictable and makes review states easy to show.

Challenges

One challenge was designing tools for agents instead of exposing raw UI controls. A tool like click_the_second_input would just reproduce fragile browser automation. A tool like set_employment_income communicates actual business intent.

Another challenge was working with a new interaction model. WebMCP is still evolving, and getting an AI tool to connect cleanly to the page is not always frictionless yet. In practice, there can be issues around browser support, tool discovery, connection state, and whether a problem comes from the website itself or from the surrounding MCP tooling.

That meant part of the work was not just building the form, but making the tool interface inspectable, structured, and reliable enough to debug. We used semantic tool definitions, clear input schemas, and visible on-page review states so we could separate product behavior from connection or tooling issues.

Another challenge was preserving human control. In a sensitive workflow like tax intake, it is not enough to auto-fill fields. The interface needs to make every AI change visible, reviewable, and reversible.

What we learned

The main lesson is that an agent-ready website is not just a normal website plus a chatbot. It has two interfaces:

  • a human interface with labels, inputs, validation, and review
  • an agent interface with semantic tools, schemas, and structured actions

Both should operate on the same underlying application logic.

The best experience here is not full automation. In a workflow like tax intake, the stronger pattern is visible collaboration: the agent does the repetitive work, the interface makes every action transparent, and the human remains responsible for the final decision.

What’s next

Slip2Form is only a prototype, but the pattern extends beyond taxes. The same approach could support insurance applications, government-benefit forms, medical intake, school registration, visa applications, and employment onboarding.

The broader vision is a web where users no longer have to manually transfer information that their AI can already understand, and websites no longer have to build and host their own AI assistant just to participate in that workflow.

Built With

Share this project:

Updates

Submission history