Munin with Claude Desktop.
Claude Desktop adds a remote MCP server in about ninety seconds — Settings, Connectors, one HTTPS URL. The part that catches people out is that the connection is made from Anthropic's cloud, not from your laptop. Here is what that means for a self-hosted install, and the two routes that both work.

There is a particular half hour I would like to give you back. You have Munin running. You have Claude Desktop open. You paste the server URL into the connector dialog, it fails, and you spend the next thirty minutes checking the token, the path, the port, the firewall, your own sanity. The token is fine. The path is fine. The reason it failed is that the machine trying to reach your server is not the machine you are sitting at.
Can Claude Desktop connect to a CRM?
Yes. Claude Desktop adds remote MCP servers as custom connectors, on the Free, Pro, Max, Team, and Enterprise plans. Point one at Munin and Claude gains the CRM, helpdesk, knowledge base, CMS, outreach, and analytics tools your API key has scope for — 204 of them at a single endpoint. Free accounts are limited to one custom connector.
The connector is configured through your Claude account rather than a file on disk, which is what makes it a ninety-second job for someone who does not want to open a terminal.
How do you add Munin to Claude Desktop?
Mint the key first. In the Munin dashboard, go to Settings → API keys and create one scoped to what Claude should be allowed to do. It starts with mn_admin_ and you see it exactly once.
Then, in Claude Desktop, open Settings → Connectors, click Add, choose Add custom connector, and give it the Munin Cloud MCP URL:
https://mcp.getmunin.com
Complete authentication when prompted. Claude's Advanced settings on that dialog takes an OAuth Client ID and Client Secret if your server issues them; Munin's own Connect Claude guide walks through the key it expects. On Team and Enterprise plans only an Owner can add the connector, under Organization settings → Connectors; members then connect to it individually from their own Connectors page.
Adding it does not switch it on everywhere. In the composer, use the + button, open Connectors, and toggle Munin on for that conversation. Then ask it what Munin tools it has. If the list comes back, you are done.
One key per machine
Every Munin key is single-org, so issue a separate one for each machine and each person. Revoking a laptop then costs you nothing else.
Pick the narrowest scope that does the job while you are there — a key that can search the knowledge base and read contacts is enough for most of what people actually ask Claude to do.
Why won't the custom connector reach my self-hosted Munin?
Because Claude connects to your MCP server from Anthropic's cloud infrastructure, not from your local device — and Anthropic documents this as true across claude.ai, Claude Desktop, Cowork, and the mobile apps alike. A server on localhost, on your LAN, behind a VPN, or behind a corporate firewall will not connect, even though your browser reaches it perfectly.
So http://localhost:3001/mcp is the right MCP URL for a self-hosted Munin and the wrong thing to paste into a custom connector dialog. Anthropic's own note on this is unambiguous: the connection originates from their servers, not your machine's network interface.
- Munin Cloud, or a Munin you host on the public internetUse a custom connector. Paste the HTTPS URL, authenticate, done. This is the route that works on every Claude surface — desktop, web, mobile — because the connection is brokered through your Claude account rather than your network.
- Self-hosted behind a firewall, and you want to keep it that wayAllowlist Anthropic's inbound IP ranges so the connector can reach you. The current ranges are published on the Anthropic IP addresses page; this is the supported way to expose a private server to a connector without putting it on the open internet.
- Self-hosted on the machine you are sitting atUse Claude Desktop's local MCP server mechanism instead — a separate path that does use your own network. It launches a subprocess and speaks stdio to it, so the usual pattern is a small local bridge that turns that stdio pipe into HTTP requests against your install.
Where is the local config file?
On macOS, ~/Library/Application Support/Claude/claude_desktop_config.json. On Windows, %APPDATA%\Claude\claude_desktop_config.json. You do not have to go looking for it: Settings → Developer → Edit Config opens it in your editor and creates it if it is not there yet.
This is the mechanism that runs on your own network, and the one thing worth knowing about it is that it is not available in Cowork or on claude.ai — it is a Claude Desktop feature. It also launches processes, so use absolute paths and restart the app after editing. The MCP local-server guide is the reference to keep open while you do it.
What is it actually good for once it is connected?
The things nobody drew a screen for, mostly:
- 01Questions that cross two modules. "Which contacts opened a support thread in the last fortnight and have an open deal?" One question, two modules, no export.
- 02Answering with what your team already wrote.
kb_searchfinds the answer somebody gave in March, and the reply cites it instead of reinventing it. - 03Drafting outreach that waits. Build a campaign proposal from a segment. The consent check runs, the draft lands in a review queue, and a person decides whether it leaves the building.
- 04Reading the week. Ask what came up repeatedly in conversations since Monday, then file the recurring one as a knowledge-base draft.
What stops Claude doing something you did not approve?
Two layers, and they are worth understanding separately because only one of them is yours to configure.
The first is Claude's. Tool calls surface for approval, and you can enable or disable individual tools per connector in its settings, or per conversation from the tools menu. Anthropic's own advice is to reserve "Allow always" for tools you trust to run unsupervised — which, for anything that writes to a customer record, is advice worth taking literally.
The second is Munin's, and it holds no matter which client is connected. Cheap reversible actions — tagging a conversation, titling a thread, updating a field — write directly. Irreversible ones can only be proposed: publishing a knowledge article, merging two contacts, sending outreach. Those land in a review queue and stay there until a person clears them. The destructive verb is not in the agent's hands to begin with, so the guarantee survives someone turning approvals off at three in the afternoon. Agents propose, humans decide is a statement about which tools exist, not a promise about how carefully anyone clicks.
Research is the exception to read twice
Anthropic documents that during Research, Claude can invoke tools from your connectors automatically without further approval, and advises disabling tools that write to external applications before you use it.
On a connector wired to your customer record, that is the setting to check first. Munin's propose-only tools still cannot send or publish anything on their own — but the tools that do write directly are worth turning off for that mode.
Is Claude Desktop better than the dashboard?
For asking and drafting, usually. For working a queue, no — a list beats a conversation when the job is scanning forty things and deciding on each one, which is exactly what the review queue in the dashboard is for.
What is useful about the connector is not that it replaces a surface. It is that the same endpoint serves all of them. The operator in Claude Desktop, the developer in Cursor, the terminal in Claude Code, the scheduled skill running at six in the morning — one tool catalogue, one customer record, one audit log. The catalogue is the canonical surface, and the client is a matter of taste.
Who should not set this up?
Teams with a hard data-residency line they cannot move. Munin Cloud is EU-hosted, and connecting any third-party model means customer data passes through that provider's infrastructure — a boundary that is worth reading your DPA about before you enable the connector, not after. Munin has no SLA timers, CSAT surveys, or agent-performance dashboards either; if you are staffing a desk that reports on those, Zendesk and Intercom have spent well over a decade building them and you should buy one.
For everyone else, the arithmetic is the good kind. The team that benefits most here is the one where the person asking the question is also the person who acts on the answer — founders, two-person support teams, operations people who know which accounts are wobbling and have never had a way to ask the database about it directly. That person now types one sentence and gets an answer that spans six modules, with every write shown to them before it happens and the irreversible ones held for review regardless. Self-hosting keeps all of it inside your own network under MIT, and Munin Cloud starts free. The connector is ninety seconds of setup; the thing it removes is the tab-switching that used to sit between a question and its answer.
Frequently asked questions
How do I add a custom connector in Claude Desktop? Settings → Connectors → Add → Add custom connector, then paste the remote MCP server's HTTPS URL and authenticate. Advanced settings takes an OAuth Client ID and Secret if the server uses them. On Team and Enterprise plans an Owner adds it for the organisation first, and members connect individually.
Do custom connectors work on the free Claude plan? Yes. Custom connectors are available on Free, Pro, Max, Team, and Enterprise, on both Claude Desktop and claude.ai. Free accounts are limited to one custom connector at a time.
Why does my localhost MCP server fail in Claude Desktop? Because custom connectors are brokered from Anthropic's cloud rather than your machine, so the server has to be reachable over the public internet. Either allowlist Anthropic's published IP ranges, or use Claude Desktop's separate local MCP server mechanism, which does run on your own network.
Where is claude_desktop_config.json?
~/Library/Application Support/Claude/claude_desktop_config.json on macOS and %APPDATA%\Claude\claude_desktop_config.json on Windows. Settings → Developer → Edit Config opens it and creates it if it does not exist. Restart Claude Desktop after editing.
Can I edit a custom connector after adding it? No. Remove it and add it again with the updated details. That is worth knowing before you paste a URL you are unsure about.
Will Claude change customer data without asking? Tool calls surface for approval, and you can disable individual tools per connector. Separately, Munin only lets an agent propose the irreversible actions — publishing knowledge articles, merging contacts, sending outreach — so those wait in a review queue whatever the client allows. Check your tool settings before using Research, which can invoke connector tools automatically.
Does this work with ChatGPT, Cursor, or Claude Code too? Yes. Munin serves standard MCP with no client-specific behaviour, so the same endpoint and the same audit log serve Claude Code, Cursor, ChatGPT, Gemini, and a runner you write yourself.
The short version
- Settings → Connectors → Add custom connector, paste
https://mcp.getmunin.com, authenticate, toggle it on in the conversation. Available on Free through Enterprise; Free gets one connector. - Custom connectors are brokered from Anthropic's cloud, so the server must be reachable over the public internet — a localhost or LAN install will not connect.
- Self-hosting behind a firewall: allowlist Anthropic's published IP ranges, or use Claude Desktop's local MCP server mechanism, which does use your own network.
- Scope the key and issue one per machine. Claude surfaces tool calls for approval, and Munin holds publishes, merges, and outreach in a review queue regardless of client.
- Check which tools are enabled before using Research — it can invoke connector tools without asking each time.
Add the connector, then ask which customers went quiet this month. Munin Cloud is free to start on, and the MCP tool reference lists everything Claude will have to work with.
The connector is one URL. Knowing which machine dials it is the whole job.