Haruno Knowledge base

Adding your own connector

In the advanced view you can add a server of your own by its web address, so Haruno gets extra tools. It works in the isolated space, and a server Haruno cannot use says why on its row.

  • Mac appAvailableAdvanced view only. Scheduled tasks never use these servers.
  • Windows appAvailableAdvanced view only. Works in the sandbox. Not used by scheduled tasks or hooks.

What you can add

You can give Haruno extra tools from a server that you or a service run, reached by its web address. The app lists these under Custom MCP servers, at the end of Settings ▸ Connectors.

The card has no servers yet.
The Custom MCP servers card in Settings, Connectors. It says Not connected and has a wide + Add server button.The Custom MCP servers card in Settings, Connectors. It says Not connected and has a wide + Add server button.
Advanced view only

The card shows only in the advanced view. Do not promise this to a customer who uses the normal view.

Haruno always does its work in an isolated space, and your own servers work there. Haruno reaches the server for you. The server's address, header value and sign-in stay in the app on the PC and are never handed to the isolated space.

What is asked

  1. Add a server
    In Custom MCP servers, choose + Add server. Give it a Name and its Server URL.
  2. Say how it signs you in

    Under Authentication choose None, Header or OAuth. Header asks for a header name and a value, such as a key. OAuth opens your browser to sign in. For most servers just press Connect.

    The Add MCP server dialog. Demo values only.
    The Add MCP server dialog with a name, a server address and Header authentication chosen. The header name is filled in and the header value is empty.The Add MCP server dialog with a name, a server address and Header authentication chosen. The header name is filled in and the header value is empty.
  3. Connect
    Choose Connect. Haruno checks the address and lists what the server offers. Save stays off until this works. A failure says why, for example that the server could not be reached.
  4. Choose what Haruno may use, then save

    Each tool can be On, Off or Confirm. Haruno is offered only the tools set to On or Confirm. A tool set to Off is not offered, and a call for it is refused. Choose Save.

    After Connect, every tool the server offers starts as On.
    The same dialog after Connect. A Tools list shows one tool, Read, with On, Off and Confirm choices and On chosen.The same dialog after Connect. A Tools list shows one tool, Read, with On, Off and Confirm choices and On chosen.

Each saved server has a switch, a re-check button, Edit and Remove. Remove deletes the server and the value Haruno saved for it. Under the name, a count such as 2/3 tools says how many of the server's tools Haruno is offered. It changes as soon as you change a tool.

When a server cannot be used

A server that is switched on but cannot be used in a chat says why on its row, instead of a plain Connected. The message is updated when a chat starts. A successful check in Settings clears it. A server that is switched off shows none of these.

The row saysWhat it means
This server uses the old SSE transport, which is not supported in secure mode.The server only speaks an older way of connecting, which Haruno does not support.
Sign in to this server again to use it in secure mode.The sign-in was lost or has run out. Sign in to the server again in Settings.
Haruno could not connect to this server for the secure session.The connection failed for another reason. Check that the server is running, then check it again.
The saved sign-in details for this server could not be read. Edit the server and enter them again.Haruno could not read the header value it saved. Edit the server and type the value again.
This name is already used by a built-in connection. Rename the server.Give the server another name.
None of this server's tools is turned on, so the session does not use it. Turn a tool on or set it to Confirm.Every tool is set to Off. Set one to On or Confirm.

If the app itself is too old to reach custom servers, the row says that this version cannot reach them and to update Haruno. The card also shows one note saying the same.

If a sign-in runs out in the middle of a long chat, Haruno gets a plain error that says to sign in to the server again. The chat does not hang. A call that takes too long or returns too much also ends in a plain error.

What needs your approval

Every tool starts as On, so Haruno uses it without asking. Set anything that sends or changes something to Confirm. Haruno then asks each time, and the card usually offers only Allow once or Deny. A tool that appears later on the server starts as Off.

Your own servers are used in chats you are in. A scheduled task or a hook does not get them, because nobody is there to sign in or to confirm.

Last updated · PR #2944 · View this version on GitHub

History (1 version)
  1. Internal knowledge base for staff: site, reader keys, assistant, 197 pages and the PR rule (#2944)
    What changed
    @@ -0,0 +1,66 @@
    +---
    +title: Adding your own connector
    +summary: In the advanced view you can add a server of your own by its web address, so Haruno gets extra tools. It works in the isolated space, and a server Haruno cannot use says why on its row.
    +feature: custom-mcp-servers
    +covers:
    +  - windows-client/Haruno.Desktop.Services/CustomMcpServersService.cs
    +  - windows-client/Haruno.Desktop.ViewModels/AddMcpServerDialogViewModel.cs
    +  - windows-client/haruno-webview/Host/WebSettingsCustomMcpCommands.cs
    +  - windows-client/haruno-webview/Host/Contracts/WebCustomMcpContracts.cs
    +  - windows-client/Haruno.Desktop.Services/Sandbox/CustomMcpSessionWiring.cs
    +  - windows-client/docs/sandbox-custom-mcp.md
    +---
    +
    +## What you can add
    +
    +You can give Haruno extra tools from a server that you or a service run, reached by its web address. The app lists these under <Ui>Custom MCP servers</Ui>, at the end of <Ui>Settings ▸ Connectors</Ui>.
    +
    +<Shot src="/m/4204dbd8ba16-windows-connector-custom-card-light.png" dark="/m/707c7126b3bc-windows-connector-custom-card-dark.png" alt="The Custom MCP servers card in Settings, Connectors. It says Not connected and has a wide + Add server button." caption="The card has no servers yet." />
    +
    +<Callout variant="warning" title="Advanced view only">
    +The card shows only in the advanced view. Do not promise this to a customer who uses the normal view.
    +</Callout>
    +
    +Haruno always does its work in an isolated space, and your own servers work there. Haruno reaches the server for you. The server's address, header value and sign-in stay in the app on the PC and are never handed to the isolated space.
    +
    +## What is asked
    +
    +<Steps>
    +<Step title="Add a server">In <Ui>Custom MCP servers</Ui>, choose <Ui>+ Add server</Ui>. Give it a <Ui>Name</Ui> and its <Ui>Server URL</Ui>.</Step>
    +<Step title="Say how it signs you in">
    +Under <Ui>Authentication</Ui> choose **None**, **Header** or **OAuth**. Header asks for a header name and a value, such as a key. OAuth opens your browser to sign in. For most servers just press Connect.
    +
    +<Shot src="/m/ceed650e51d1-windows-connector-custom-form-light.png" dark="/m/4cc18a6cc86c-windows-connector-custom-form-dark.png" alt="The Add MCP server dialog with a name, a server address and Header authentication chosen. The header name is filled in and the header value is empty." caption="The Add MCP server dialog. Demo values only." />
    +</Step>
    +<Step title="Connect">Choose <Ui>Connect</Ui>. Haruno checks the address and lists what the server offers. <Ui>Save</Ui> stays off until this works. A failure says why, for example that the server could not be reached.</Step>
    +<Step title="Choose what Haruno may use, then save">
    +Each tool can be **On**, **Off** or **Confirm**. Haruno is offered only the tools set to **On** or **Confirm**. A tool set to **Off** is not offered, and a call for it is refused. Choose <Ui>Save</Ui>.
    +
    +<Shot src="/m/57eb2e4dd02f-windows-connector-custom-tools-light.png" dark="/m/e528c31dcae9-windows-connector-custom-tools-dark.png" alt="The same dialog after Connect. A Tools list shows one tool, Read, with On, Off and Confirm choices and On chosen." caption="After Connect, every tool the server offers starts as On." />
    +</Step>
    +</Steps>
    +
    +Each saved server has a switch, a re-check button, <Ui>Edit</Ui> and <Ui>Remove</Ui>. Remove deletes the server and the value Haruno saved for it. Under the name, a count such as **2/3 tools** says how many of the server's tools Haruno is offered. It changes as soon as you change a tool.
    +
    +## When a server cannot be used
    +
    +A server that is switched on but cannot be used in a chat says why on its row, instead of a plain **Connected**. The message is updated when a chat starts. A successful check in Settings clears it. A server that is switched off shows none of these.
    +
    +| The row says | What it means |
    +|---|---|
    +| **This server uses the old SSE transport, which is not supported in secure mode.** | The server only speaks an older way of connecting, which Haruno does not support. |
    +| **Sign in to this server again to use it in secure mode.** | The sign-in was lost or has run out. Sign in to the server again in Settings. |
    +| **Haruno could not connect to this server for the secure session.** | The connection failed for another reason. Check that the server is running, then check it again. |
    +| **The saved sign-in details for this server could not be read. Edit the server and enter them again.** | Haruno could not read the header value it saved. Edit the server and type the value again. |
    +| **This name is already used by a built-in connection. Rename the server.** | Give the server another name. |
    +| **None of this server's tools is turned on, so the session does not use it. Turn a tool on or set it to Confirm.** | Every tool is set to **Off**. Set one to **On** or **Confirm**. |
    +
    +If the app itself is too old to reach custom servers, the row says that this version cannot reach them and to update Haruno. The card also shows one note saying the same.
    +
    +If a sign-in runs out in the middle of a long chat, Haruno gets a plain error that says to sign in to the server again. The chat does not hang. A call that takes too long or returns too much also ends in a plain error.
    +
    +## What needs your approval
    +
    +Every tool starts as **On**, so Haruno uses it without asking. Set anything that sends or changes something to **Confirm**. Haruno then asks each time, and the card usually offers only **Allow once** or **Deny**. A tool that appears later on the server starts as **Off**.
    +
    +Your own servers are used in chats you are in. A scheduled task or a hook does not get them, because nobody is there to sign in or to confirm.