The MCP server is a module

The Model Context Protocol server — the mesh tool surface external assistants call (get, search, create, update, render_area, the LSP and chunk tools) and the /mcp HTTP transport that carries them — now ships as MeshWeaver.Mcp instead of being compiled into every portal.

Publishing an MCP surface is a deployment decision: it opens the mesh to any client holding an API token. Listing the DLL is now that decision. A portal that lists it is unchanged — same /mcp route, same Bearer-only McpAuth gate, same Mcp configuration section, same tools. A portal that delists it answers 404 on /mcp and carries no server at all.

The REST mirror at /api/mesh/* is deliberately not part of the module and keeps working either way, together with everything the two surfaces share: the per-caller session hub both route requests onto, the Mcp:BaseUrl used to compose links back into the UI, and the API-token authentication itself. So the co-hosted Claude Code and Copilot harnesses, navigate_to links, and a server-side renderer reading through /api/mesh all keep their behaviour when MCP is delisted.

Reconnecting…
The connection to the server was interrupted. Trying to restore it…
Trying again…
The connection could not be restored. Reloading the page…
The server was updated. Reloading the page to pick up the latest version.