What WebMCP is
WebMCP is a proposed web standard from the W3C Web Machine Learning community group, with an early implementation in Chrome. A page registers named tools with typed inputs through document.modelContext. Agents in the browser discover those tools and call them like function calls, instead of guessing where to click.
For a resume builder, the difference is reliability. The agent does not need to find the Add experience button or wait for a form to render. It calls add-section-entry with a company, title, dates, and bullet points, and the app validates the input and returns a clear error if something is wrong.
What an autonomous agent session looks like
-
The agent reads the workspace
get-workspacereturns the saved resumes and their completion. The agent can start from an existing resume withget-resumeor create a new one. -
It creates a version for the job
create-resumeopens a fresh draft named for the role, such as “Backend Engineer, Acme”. Keeping one version per application is the normal way to use the app. -
It writes the content
update-personal-info,update-summary, andadd-section-entryfill in contact details, a summary tuned to the job description, work history, projects, and skills. Each call renders immediately in the editor. -
It styles the page
recommend-templatesranks the 25 templates for the target job and explains why;set-appearanceapplies the choice with its designed fonts and accent color, or sets A4 or Letter paper.reorder-sections,rename-section, andset-section-visibilityshape the layout for this application. -
You review and save the PDF
export-pdfopens the preview and the browser print dialog. You check the result and choose Save as PDF. On the Android and iOS apps the PDF downloads directly.
The full tool catalog
Every control in the editor has a matching tool. Resume tools accept an optional resumeId and otherwise act on the resume that is open. Tools use the same actions as the buttons in the interface, so agent edits autosave, appear in undo history, and look exactly like edits you make yourself. While an agent works, the editor shows what it is doing and follows it to the section it is editing.
| Tool | What the agent can do |
|---|---|
get-workspace | List saved resumes, their progress, and where the user is in the app. |
get-resume | Read one resume in full, with the ids every editing tool needs. |
create-resume | Create a new resume, select it, and open the editor. |
create-sample-resume | Create a filled-in sample resume to start from. |
import-resume | Create a complete resume from one JSON document in a single call. |
duplicate-resume | Copy a resume so it can be tailored for one job. |
update-resume-details | Rename a resume or change its dashboard note. |
delete-resume | Delete a resume the agent no longer needs. |
set-builder-step | Move the editor to a specific section. |
open-editor-panel | Switch the editor between content, sections, and appearance. |
open-preview | Open the full-page print preview. |
go-to-dashboard | Return to the resume list. |
undo | Undo the last change, made by the user or the agent. |
redo | Redo the last undone change. |
update-personal-info | Set the name, email, phone, photo, and profile links. |
update-summary | Write or replace the professional summary. |
update-awards | Write or replace the awards content. |
add-section-entry | Add one or many jobs, degrees, projects, skills, certifications, or languages. |
update-section-entry | Edit any field of an existing entry. |
delete-section-entry | Remove one entry. |
move-section-entry | Change the order of entries within a section. |
duplicate-section-entry | Copy an entry to use as a starting point. |
add-link | Add a profile link, or a link on a project. |
update-link | Edit a link title or URL. |
delete-link | Remove a link. |
move-link | Reorder links. |
set-section-visibility | Show, hide, or restore a resume section. |
rename-section | Change the heading a section shows. |
reorder-sections | Set the order sections appear in. |
remove-section | Take a section out of the layout, keeping its content. |
recommend-templates | Rank templates for a job title, industry, region, and ATS needs, with reasons. |
list-templates | Describe every template: best-fit roles, ATS rating, layout, pages, and photo support. |
open-template-explorer | Open the visual template explorer, optionally to restyle a resume. |
set-appearance | Switch template, page size, fonts, and accent color. |
export-pdf | Open the preview and start the Save-as-PDF flow for the user to confirm. |
export-resume | Return the resume as portable JSON. |
get-live-session | Check a live session: whether the user has joined and where they are. |
Field reference for resume sections
add-section-entry and update-section-entry take a section name and an entry object. Dates are display strings such as Aug 2021, 2020, or Present. Descriptions accept plain text or simple HTML (paragraphs, lists, bold, italic, and links); anything else is removed.
| Section | Required | Optional |
|---|---|---|
experience | company, title | location, startDate, endDate, description |
education | institution | degree, location, startDate, endDate, description |
projects | title | description, skills (list), startDate, endDate, links (title and url) |
skills | name | category |
certifications | name | issuer, date, url |
languages | name | proficiency: Basic, Conversational, Proficient, or Fluent |
set-appearance accepts the templates tenali, tenali-classic, oslo, vienna, kyoto, geneva, austin, zurich, sydney, berlin, boston, london, toronto, helsinki, dublin, lisbon, milan, singapore, chicago, amsterdam, seattle, denver, madrid, copenhagen, paris, the page sizes A4 and Letter, and a hex accent color such as #004aad. Call list-templates for each template's best-fit roles, ATS rating, layout, and page guidance.
When an input is invalid, a tool returns a result whose text starts with Error: and lists the accepted values, so the agent can correct the call and retry. The tool definitions and validation live in src/features/webmcp/tools.ts on GitHub.
How to try it
In Chrome, enable chrome://flags/#enable-webmcp-testing, reload Resume Maker 9000, and use an agent or the Model Context Tool Inspector extension to list and call the tools. In browsers without native WebMCP, the app installs a compatible document.modelContext itself, so automation harnesses that can run JavaScript in the page can call the same tools.
agent-browser open https://resumes.byanr.com/
agent-browser webmcp list
agent-browser webmcp invoke create-resume --params '{"name":"Backend Engineer, Acme"}'
agent-browser webmcp invoke add-section-entry --params '{"section":"skills","entry":{"name":"Go","category":"Languages"}}'
agent-browser webmcp invoke export-pdf --params '{}'
Watch the agent work, live, in your own browser
Agents usually drive a separate headless browser, which normally means you only see the result at the end. A live session connects that browser to yours so you watch every edit as it happens, and anything you change flows back to the agent. There is no remote server involved: the two browsers talk through a small relay that runs on your own computer.
-
The agent starts the relay
From the repository, the agent runs
node scripts/live-relay.mjs --resume <resumeId>. It listens only on127.0.0.1, creates a one-time token, prints an agent link and a user link, and opens the user link in your default browser. -
Both browsers join
The agent opens its link in its headless browser, launched with
--disable-features=LocalNetworkAccessChecksso Chrome lets a website reach the relay. The token travels in the part of the link after#, which browsers never send to a web server, and the app removes it from the address bar. -
Edits flow both ways
Every change is sent as the same command the editor already uses. The relay puts commands in one order and both browsers apply them in that order, so the resume stays identical even when you and the agent type at the same moment. Each person keeps their own view, and a badge shows where the other one is.
The agent can call get-live-session to see whether you have joined and which section you are looking at, and get-resume to read your latest edits.
What to know before you hand it to an agent
Resume Maker 9000 does not include its own language model. The agent you bring writes the content, and you are responsible for checking that it is accurate. Native WebMCP is still experimental in browsers, and the final Save as PDF step on the website needs a person to confirm the print dialog. The app does not score resumes or guarantee how applicant tracking systems read them.
Common questions
Can an AI agent build a resume by itself in Resume Maker 9000?
Yes. Through WebMCP, an agent can create a resume, fill every section, choose a template, and open the preview without a person clicking through the editor. The last Save as PDF step in the browser print dialog needs a person to confirm it.
Which AI agents work with it?
Any agent that can call WebMCP tools in the page, such as agents in a Chrome build with WebMCP enabled or browser automation tools like agent-browser. Harnesses that can run JavaScript in the page can use the built-in fallback model context.
Does my resume data leave my browser?
The app itself stores resumes in local browser storage and does not upload them. An AI agent you connect may send content to its own model provider, so check that agent’s privacy terms.
Can an agent tailor a different resume for each job?
Yes. An agent can read an existing resume, create a new version named for the role, and rewrite the summary, bullet points, skills, and section order for that job description.
Can I watch the agent edit my resume in my own browser?
Yes. Start a live session with the local relay in the repository. The agent works in its own browser, you see every change in yours, and your edits flow back to the agent. The two browsers talk through the relay on your computer, not a remote server.
Is WebMCP the same as MCP?
They are related. The Model Context Protocol connects agents to tools on servers. WebMCP brings the same tool idea to web pages, so a site can expose tools directly to agents in the browser.
Start a resume draft
Open the builder, start blank or inspect the fictional sample, and save a PDF when the preview is ready.
Open Resume Maker 9000