Releases: HackInvent/play-webmcp
Release list
0.5.0 — Play 2.8 and 2.9 support
Play 2.8 and 2.9 applications can now add WebMCP without migrating to Play 3. Java and Scala sites use the same Twirl helpers and browser runtime, with a separate artifact for each Play line.
| Play version | Dependency artifact | Scala | Java |
|---|---|---|---|
| 3.0.0–3.0.11 | play-webmcp |
2.13, 3 | 11, 17, 21 |
| 2.9.0–2.9.11 | play-webmcp-play29 |
2.13, 3 | 11, 17, 21 |
| 2.8.0–2.8.22 | play-webmcp-play28 |
2.12, 2.13 | 8, 11 |
All artifacts use version 0.5.0 and group io.github.alexusel. Choose exactly one artifact for your Play line. Keep your existing compatible Play, Scala, and sbt setup. Installation checks verify that adding the module preserves the application's Play, Scala, Twirl, JSON, and Akka/Pekko dependencies.
The Play 2.8 variants are built against Play 2.8.0 with Java 8 bytecode. The Play 2.9 and Play 3 variants use Java 11 bytecode. The public asset paths stay lib/play-webmcp/play-webmcp.js and lib/play-webmcp/play-webmcp.global.js for all variants.
Validation includes all listed Play patch releases, minimum Scala versions and older sbt builds, Java and Scala applications, and native Chromium scenarios at / and /shop. The tests cover ordinary forms, CSRF, tool calls, component cleanup, cancellation, and failed requests. CI run.
See the English README for dependency lines, prerequisites, examples, and the exact test matrix. Upgrading an existing installation requires cleaning the extracted WebJar assets before rebuilding.
This is an experimental WebMCP release. Browser and agent support is separate from Play compatibility. Play 2.0–2.7 and Play 1.x are outside this release's JVM compatibility range.
Assets include binary, source, and documentation JARs plus POMs for all six variants; the two standalone browser runtimes; and SHA256SUMS. The same artifacts are distributed through the repository's public Maven branch.
0.4.0 — Integration with existing Play sites
Add WebMCP to an existing Play 3.0 site while keeping its JavaScript and asset setup.
- A new classic script,
play-webmcp.global.js, exposeswindow.PlayWebMcp.registerTools. Both runtime files are generated from the same implementation and support component roots, cancellation, and cleanup. - The Java example keeps classic scripts and serves assets through
Assets.at. The Scala example uses ES modules and an injectedAssetsFinder. - Browser checks cover both loading modes at
/and/shop, preserve existing global functions, and exercise native tool calls and ordinary forms. - The English README explains loading order, existing asset routes, separate frontend pipelines, and the
AssetsFinderprefix needed for a site under/shop. - Includes the example support-handler fixes committed after 0.3.0: delayed responses preserve the latest outcome, cancelled calls avoid new side effects, and failed sends no longer leave an old success displayed.
Validation: all 26 CI checks passed, including installation across Play 3.0.0–3.0.11, both Scala families, Java 11/17/21, and the older sbt 1.9.9 setup with Play 3.0.0 and Scala 2.13.12/3.3.1. The suite includes 46 JavaScript unit tests and 16 browser scenarios.
Install with the English integration guide. Upgrade the dependency to 0.4.0, then run sbt clean update before rebuilding. Existing ES module imports and helper calls remain compatible.
Both JavaScript files are attached for applications that distribute frontend assets separately. Download the selected file and serve it through your own asset pipeline. Keep it at the same version as the JVM dependency.
The classic file still uses modern JavaScript. WebMCP requires a compatible browser and agent. The JVM module targets Play 3.0; Play 2.x applications need migration first. Browser and agent limitations are documented in the README, with no claim of a test using a ChatGPT account.
0.3.0 — Tools for dynamic view components
Register tools for individual view components with registerTools(handlers, { root }). A cart or search panel can now replace its HTML and register its new tools while preserving the rest of the page's tools.
- Each component has its own cleanup through
await tools.dispose()and optionalAbortSignal. - Omitting
rootpreserves the whole-document behavior. Tool names remain unique across the page. - Native Chromium tests cover component replacement and independent cleanup, custom Java
/staticand Scala/assetsroutes, and deployment under/shop. - The English README includes an integration example, a lifecycle diagram, and instructions for updating the dependency.
Upgrade the dependency to 0.3.0, then run sbt clean update before rebuilding to remove any older extracted WebJar files. Existing helpers and the public runtime path remain compatible.
Install using the resolver and dependency in the English guide. The same JARs support Java and Scala applications and target Java 11.
Validation: all 26 CI jobs passed, including independent installation across Play 3.0.0–3.0.11, both Scala families, and Java 11/17/21 checks. The runtime has 32 passing unit tests; 12 native-browser scenarios passed across both applications and deployment paths.
WebMCP remains experimental. Browser and agent support are documented separately in the README; no test with a ChatGPT account is claimed.
0.2.0 — Add WebMCP to existing Play 3 sites
Add WebMCP to an existing Play Java or Scala site with one sbt dependency, tool metadata in a view, and a JavaScript handler.
- Java 11 support; published against the Play 3.0.0 APIs with Scala 2.13.12 and 3.3.1.
- The application keeps its Play version and Scala dependencies. No WebMCP Guice module, sbt plugin, or additional server is required.
- Examples load the runtime through the application's asset routes and work at both / and /shop.
- The same packaged JARs are tested in independent Java and Scala applications across every stable Play version from 3.0.0 to 3.0.11, with minimum Scala versions and Java 11/17/21 checks.
- Includes the metadata validation fixes from main that were not in the 0.1.0 artifacts.
Install with the resolver and dependency in the English guide: https://github.com/HackInvent/play-webmcp#installation
Existing 0.1.0 helper calls and the public runtime path remain compatible. Update the dependency version to 0.2.0 and rebuild.
WebMCP remains experimental. Browser and agent support are documented separately in the README; no test with a ChatGPT account is claimed.
0.1.0 — WebMCP pour Play Java et Scala
Première version expérimentale de play-webmcp pour Play Framework 3.
- Helpers Twirl Java et Scala : outils impératifs, formulaires déclaratifs et échappement HTML/JSON.
- Runtime navigateur sans dépendance fournisseur, avec détection de WebMCP et nettoyage des outils.
- Applications Java et Scala exécutables, avec recherche, confirmation, validation serveur et CSRF.
- Tests natifs dans Chromium et CI pour Play 3.0.10/3.0.11, Java 17/21 et Scala 2.13/3.
- Installation directe avec sbt depuis le dépôt Maven public du projet ; JAR également joints à cette release.
Installation, prérequis, schémas et compatibilité ChatGPT/Chrome/Edge : https://github.com/HackInvent/play-webmcp#readme
WebMCP reste expérimental. Le support des agents dépend de leurs versions et de leur accès au produit. La compatibilité ChatGPT est documentée via l'API impérative ; aucun test avec un compte ChatGPT n'est revendiqué.