Skip to content

Add webmcpevals binary for live WebMCP tool schema loading#20

Merged
andreban merged 5 commits intomainfrom
evals-puppeteer
Feb 22, 2026
Merged

Add webmcpevals binary for live WebMCP tool schema loading#20
andreban merged 5 commits intomainfrom
evals-puppeteer

Conversation

@andreban
Copy link
Member

Introduces a new webmcpevals binary that, instead of loading tool schemas from a local JSON file, launches Chrome Canary and retrieves them live from a page via navigator.modelContextTesting.listTools().

New files:

  • src/bin/webmcpevals.ts: CLI entry point accepting --url and --evals
  • src/browser/webmcp.ts: browser automation via puppeteer-core; launches Chrome Canary with --enable-features=WebMCPTesting, navigates to the URL, calls the WebMCP API, and maps results to Tool[]

Modified files:

  • src/types/config.ts: add WebmcpConfig type (url instead of toolSchemaFile)
  • src/report/report.ts: add renderWebmcpReport and renderWebmcpConfiguration
  • package.json: add puppeteer-core dependency
  • README.md: document webmcpevals usage and arguments

Introduces a new `webmcpevals` binary that, instead of loading tool
schemas from a local JSON file, launches Chrome Canary and retrieves
them live from a page via `navigator.modelContextTesting.listTools()`.

New files:
- src/bin/webmcpevals.ts: CLI entry point accepting --url and --evals
- src/browser/webmcp.ts: browser automation via puppeteer-core;
  launches Chrome Canary with --enable-features=WebMCPTesting,
  navigates to the URL, calls the WebMCP API, and maps results to Tool[]

Modified files:
- src/types/config.ts: add WebmcpConfig type (url instead of toolSchemaFile)
- src/report/report.ts: add renderWebmcpReport and renderWebmcpConfiguration
- package.json: add puppeteer-core dependency
- README.md: document webmcpevals usage and arguments
@Kulikowski Kulikowski self-requested a review February 20, 2026 12:59
Copy link
Contributor

@Kulikowski Kulikowski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

hugozanini and others added 4 commits February 21, 2026 15:46
Added a new section on moving beyond screen scraping with links to an article and code.
Adding 'Moving Beyond Screen Scraping' example
Introduces a new `webmcpevals` binary that, instead of loading tool
schemas from a local JSON file, launches Chrome Canary and retrieves
them live from a page via `navigator.modelContextTesting.listTools()`.

New files:
- src/bin/webmcpevals.ts: CLI entry point accepting --url and --evals
- src/browser/webmcp.ts: browser automation via puppeteer-core;
  launches Chrome Canary with --enable-features=WebMCPTesting,
  navigates to the URL, calls the WebMCP API, and maps results to Tool[]

Modified files:
- src/types/config.ts: add WebmcpConfig type (url instead of toolSchemaFile)
- src/report/report.ts: add renderWebmcpReport and renderWebmcpConfiguration
- package.json: add puppeteer-core dependency
- README.md: document webmcpevals usage and arguments
@andreban andreban merged commit 3291005 into main Feb 22, 2026
2 checks passed
@beaufortfrancois beaufortfrancois deleted the evals-puppeteer branch February 25, 2026 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants