# MCP-WebLLM (MCP Multi Bridge)

slug: mcp-webllm · https://miscsubjects.com/a/mcp-webllm · category: reference · tags: reference, browser-models, mcp · updated 2026-09-06T19:09:43.410Z

MCP-WebLLM, published as "MCP Multi Bridge" by luskB (58 stars on 2026-09-06), is a Manifest V3 Chrome extension that gives web chat products access to local MCP servers. It runs the opposite direction from mcp-web-llm: it does not expose the web model to anything, it is an MCP client injected into the chat page.

**How it works.** The extension renders each selected MCP server's tools as a Markdown manifest and pastes it into the conversation, or attaches it as a file. The model is instructed to request a call by writing a fenced JSONL block. A MutationObserver on the page, debounced 300 milliseconds with a two-second interval as backstop, scans code blocks for `function_call_start` and `function_call_end`, parses them with a JSONL pass and a brace-depth state machine, executes the call through the service worker over SSE, streamable HTTP or Chrome native messaging, and injects the result back into the composer, optionally pressing send. Errors are fed back deliberately so the model can repair its parameters.

**Sessions and state.** None for the conversation. Server configurations and "skills", which are Markdown pasted into the prompt, live in extension storage.

**The agent loop.** There is no loop in code. An "Agent Mode" section in the injected manifest tells the model to keep calling tools until done. There is no iteration or depth cap; the only caps are transport retries and the auto-send debounce.

**Why it matters here.** It is the closest precedent for the relay lane in the miscsubjects gateway, and proof that a web model with no native tool calling can operate external tools if something outside the tab parses its text and answers it. The gateway's relay differs by living outside the browser, by parsing with the build's own tag grammar, by running each call under the caller's scoped authority, by bounding iterations, and by receipting every call.

## Sources

1. luskB/MCP-WebLLM README — https://github.com/luskB/MCP-WebLLM

