MCP support
Loach speaks the Model Context Protocol (MCP) over the Streamable HTTP transport. Register one or more servers in Settings → MCP and their tools become available to the model during a chat — bringing structured external capabilities into the conversation.
What is MCP?
MCP is an open protocol that lets models call structured tools served by a separate process. Where Web fetch just hands the model a page of text, an MCP server can expose typed tools (“list files in this repo”, “search this database”, “send this email”) that the model calls with arguments and gets typed results back. The integration is provider-agnostic from Loach’s point of view — whichever model you are chatting with can use the tools, as long as it supports tool calls.
Registering a server
Each MCP entry has:
- Name — a display label.
- URL — an
https://…endpoint. - Headers — an optional key/value map (typically
Authorization). - Enabled toggle — disable a server without deleting it.
- Test connection — runs the
initialize+tools/listhandshake against the endpoint without persisting it, and reports back the server name, protocol version and tool list. Use this before saving.
Safety guards
URLs are validated, headers are checked for size and disallowed characters, and per-request bodies are capped so a misconfigured or malicious server cannot exhaust the app. Each request also has a sensible timeout, so a hung server does not freeze the chat.
If a single server advertises the same tool name more than once, the duplicates are de-duped at registration so a chat never sees colliding entries from the same source.
Private Chat deliberately does not expose MCP tools — a tool call inside that surface could side-channel the conversation out to a third party, which would defeat the “leaves no trace” promise.
Tools only show up to models that advertise tool-use capability. Hosted models from major providers typically support this; many local Ollama models do too. Check the capability tags in the Models editor if you are unsure.