---
title: "Upgrading"
manual: "WebMCP tool for TYPO3"
version: "0.4"
permalink: "https://docs.typo3.org/permalink/neoblack/webmcp:upgrading@0.4"
source: "Upgrading/Index.rst"
rendered: "2026-10-07T22:31:54+00:00"
---

> [!WARNING]
> **Experimental.** This extension is experimental and not yet ready for
> production use. It is built on top of
> [WebMCP](https://github.com/webmachinelearning/webmcp), which is itself
> an experimental, early-stage proposal. Both the underlying specification
> and this extension's API may change or break at any time without notice.
> Use at your own risk.

# Upgrading {#upgrading}

-   [From 0.3 to 0.4](https://docs.typo3.org/permalink/neoblack/webmcp:from-0-3-to-0-4@0.4)

## From 0.3 to 0.4 {#from-0-3-to-0-4}

Version 0.4 aligns the runtime with the WebMCP specification draft of
2026-10-02. Requirements are unchanged (TYPO3 14.3+, PHP 8.2+).

### What changes {#what-changes}

-   **Registration.** The runtime no longer calls `provideContext()`, which the
    specification removed. Each tool is registered individually with
    `registerTool()`, so tools appear one after another instead of
    all at once. If one registration fails, only that tool is missing and the
    console shows one warning naming it.
-   **Lifecycle.** Tools are unregistered on `pagehide` and registered again
    when the page is restored from the back/forward cache.
-   **Iframes.** Tools are no longer registered when the page is embedded in an
    iframe.
-   **Output cap.** The text output of a tool call is limited to 1,500
    characters by default.
-   **New annotation.** Every manifest now also carries
    `annotations.consequentialHint` (`true` for `mailto`).

### Do I need to act? {#do-i-need-to-act}

-   **Tools built on the four primitives:** no action required.
-   **Escape-hatch modules that call** `provideContext()` **themselves:**
    replace the call with one `registerTool(tool, { signal })` per tool.
    `provideContext()` does not exist in current browsers.
-   **Tools with long text output** (large `static` lists, high search
    limits): check whether the output exceeds 1,500 characters. Shorten it or
    set [outputLimit](https://docs.typo3.org/permalink/neoblack/webmcp:confval-dataprocessor-outputlimit@0.4) (`0` disables the
    cap).
-   **Embedded pages:** if you relied on tools inside an iframe, that no longer
    works — agents do not discover tools in iframes anyway.
-   **Check your log** after the first page render: the data processor now
    warns about tool or parameter names over 30 characters and descriptions over
    the recommended sizes (see [Writing tools](https://docs.typo3.org/permalink/neoblack/webmcp:developer@0.4)).

### New, optional settings {#new-optional-settings}

-   [legacyNavigatorFallback](https://docs.typo3.org/permalink/neoblack/webmcp:confval-dataprocessor-legacynavigatorfallback@0.4)
    — set to `0` to stop using the deprecated `navigator.modelContext`.
-   [outputLimit](https://docs.typo3.org/permalink/neoblack/webmcp:confval-dataprocessor-outputlimit@0.4) — the output cap.
-   Manifest arguments `consequential` and `debugging` (see
    [Writing tools](https://docs.typo3.org/permalink/neoblack/webmcp:developer@0.4)).
