Connect Claude
The Dialora MCP server is in preview. See Rate Limits before you build on it.
Four ways in — two per app, depending on how you want to authenticate:
| Client | How it connects | Auth | Needs Node.js |
|---|---|---|---|
| Claude Code — Option A | Native streamable HTTP, one command | Sign in | No |
| Claude Code — Option B | Same command plus a header | API key | No |
| Claude Desktop — Option A | Custom connector, added in Settings | Sign in | No |
| Claude Desktop — Option B | mcp-remote stdio bridge | API key | Yes (Node 18+) |
You can connect without an API key. Dialora supports OAuth, so you can add the server URL on its own and sign in when prompted, approving permissions on a consent screen instead of pasting a secret. See Getting Started for what that screen asks you.
Claude Code
Two commands, differing only in whether you pass a key. Take Option A unless you specifically need one.
Option A: Sign in (recommended)
Add the server with no credentials:
claude mcp add --transport http dialora https://api.dialora.ai/mcpThen run claude, type /mcp, select dialora, and choose Authenticate. Your browser opens Dialora’s sign-in and the consent screen; approve, and the tokens are stored for you. Nothing is written to your shell history or your project files.
Option B: Use an API key
Pass the key as a header instead — the right choice for CI, containers, and any machine where an interactive browser sign-in isn’t possible:
claude mcp add --transport http dialora https://api.dialora.ai/mcp \
--header "Authorization: Bearer dlr_live_xxxxxxxxxxxxxxxx"This puts a dlr_live_… secret in your shell history and, depending on the scope you add it at, in a file on disk. Prefer Option A on your own machine.
Either way, run claude and ask it to use Dialora. Verify with /mcp to see the connection and its tool list.
Claude Desktop
Two ways in. Take Option A unless you specifically need to authenticate with an API key.
Option A: Custom connector (recommended)
No Node.js, no config file, no secret to copy — you sign in to Dialora and approve permissions on a consent screen.
- Open Settings → Connectors → Add custom connector.
- Name it
Dialoraand paste the server URL:https://api.dialora.ai/mcp - Keep what Claude detects, with one change — the OAuth client:
| Setting | Choose | Why |
|---|---|---|
| Authentication | Always required (detected) | Every Dialora tool needs a signed-in account — nothing is open access |
| OAuth client | No client ID — register one automatically | Dialora supports Dynamic Client Registration. It does not support Anthropic’s hosted client metadata, so the option marked “Recommended” fails |
| Transport | Streamable HTTP (set from the URL) | Dialora exposes streamable HTTP only — there is no SSE endpoint |
Leave OAuth Client ID and OAuth Client Secret blank.
- Add the connector. Your browser opens Dialora’s sign-in, then the consent screen — pick the account, choose permissions, and approve.
- Start a new chat. Dialora’s tools appear under the connectors (plug) icon.
“Couldn’t register with Dialora’s sign-in service.” You left the OAuth client on Use Anthropic’s hosted client metadata. That option requires the server to read Claude’s client details from a URL Anthropic hosts (CIMD); Dialora registers clients through standard Dynamic Client Registration instead. Go back, pick No client ID — register one automatically, and add the connector again.
No Add custom connector button? Custom connectors are limited to paid Claude plans. Use Option B below, which works on any plan.
Option B: Config file
Use this when you want to authenticate with a dlr_live_… API key — headless setups, shared machines, or anywhere you’d rather not run an interactive sign-in — or when your plan has no custom connector option.
Claude Desktop’s claude_desktop_config.json only starts local stdio servers. A { "type": "http", "url": … } entry — the shape that works in Claude Code and Cursor — is ignored here, so the server silently never appears. And the Connectors UI from Option A has no field for a static Authorization header, which is what an API key needs.
So this path talks to Dialora through mcp-remote, a small stdio→HTTP bridge run by npx.
Two details in the config below are load-bearing. Change either one and the server will fail to connect:
"Authorization:${DIALORA_AUTH}"has no space after the colon, and theBearerprefix lives in theenvblock instead. Claude Desktop on Windows (and Cursor) mangle arguments that contain spaces;mcp-remoteexpands${DIALORA_AUTH}itself, so the space is preserved.PATHis set explicitly. Claude Desktop is launched by your desktop environment, not by a login shell, so it never reads.zshrc/.bashrc/ nvm. Without an explicitPATHit cannot findnpx(or thenodethatnpxneeds) and dies withspawn npx ENOENT. This is by far the most common failure on Linux.
1. Check Node.js
mcp-remote needs Node 18 or newer. In a terminal:
node --version
which npx # macOS / Linux — note this path, you may need it below
where npx # WindowsIf node is missing, install the LTS build from nodejs.org .
2. Open the config file
In Claude Desktop: Settings → Developer → Edit Config. Or edit it directly:
| OS | Config file |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
Claude Desktop is officially released for macOS and Windows. On Linux people run community builds (.deb / AppImage) — those use the same config path and the same JSON, but the PATH problem below bites them hardest because AppImage and Flatpak launchers start with a very small environment.
3. Add Dialora under mcpServers
Pick your OS. Replace dlr_live_xxxxxxxxxxxxxxxx with your key and <you> with your username.
macOS
{
"mcpServers": {
"dialora": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.dialora.ai/mcp",
"--transport", "http-only",
"--header", "Authorization:${DIALORA_AUTH}"
],
"env": {
"DIALORA_AUTH": "Bearer dlr_live_xxxxxxxxxxxxxxxx",
"PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}The PATH above covers Homebrew on Apple Silicon (/opt/homebrew/bin) and Intel (
/usr/local/bin). If which npx printed something else — an nvm, asdf, mise, or Nix path —
put that directory first in PATH, or use the shell-wrapper form below.
If node is managed by nvm, asdf, mise, or Nix
Version managers put node behind a shim whose path changes with the active version, so a hardcoded command goes stale. Run it through a shell instead (macOS and Linux):
{
"mcpServers": {
"dialora": {
"command": "/bin/sh",
"args": [
"-c",
"exec \"$HOME/.nvm/versions/node/v22.14.0/bin/npx\" -y mcp-remote https://api.dialora.ai/mcp --transport http-only --header \"Authorization:$DIALORA_AUTH\""
],
"env": {
"DIALORA_AUTH": "Bearer dlr_live_xxxxxxxxxxxxxxxx",
"HOME": "/home/<you>",
"PATH": "/home/<you>/.nvm/versions/node/v22.14.0/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}4. Restart Claude Desktop
Fully quit Claude Desktop — closing the window is not enough.
- macOS:
Cmd+Q, or right-click the dock icon → Quit. - Windows: right-click the system-tray icon → Quit.
- Linux: quit from the tray icon, or
pkill -f claude.
Reopen it, start a new chat, and the Dialora tools appear under the connectors (plug) icon.
5. Verify
Ask Claude:
“Using Dialora, list my 5 most recent calls.”
If nothing happens, read the MCP log — it names the exact failure:
| OS | Log file |
|---|---|
| macOS | ~/Library/Logs/Claude/mcp-server-dialora.log |
| Windows | %APPDATA%\Claude\logs\mcp-server-dialora.log |
| Linux | ~/.config/Claude/logs/mcp-server-dialora.log |
# macOS / Linux — follow the log while Claude Desktop restarts
tail -n 50 -f ~/Library/Logs/Claude/mcp-server-dialora.log
tail -n 50 -f ~/.config/Claude/logs/mcp-server-dialora.logConfig-file errors, and what fixes them
spawn npx ENOENT / “Server disconnected” right after launch
Claude Desktop cannot find npx. This is the same root cause on all three platforms — the app is launched by the GUI, which does not inherit your shell’s PATH.
- macOS / Linux — set
commandto the absolute path fromwhich npx, and add aPATHentry toenvthat contains thenodebinary directory. - Windows — use
"command": "cmd"with"/c", "npx"inargs. Also runnpm install -g npmonce if%APPDATA%\npmdoes not exist. - Linux, AppImage/Flatpak — also add
HOMEtoenv; the sandboxed launcher may not pass it through.
401 unauthorized even though the key is correct
Almost always the header got split on its space. Confirm your config uses "Authorization:${DIALORA_AUTH}" (no space after the colon) with "DIALORA_AUTH": "Bearer dlr_live_…" in env — not "Authorization: Bearer dlr_live_…" inline in args.
Connects, then hangs or drops
Pin the transport with "--transport", "http-only". Dialora exposes streamable HTTP only, no SSE endpoint; without the flag mcp-remote may probe SSE and stall waiting for a stream that never opens.
Worked before, fails now with an auth or session error
Clear the bridge’s cache and restart Claude Desktop:
rm -rf ~/.mcp-authBehind a corporate proxy or VPN
TLS interception makes mcp-remote fail on certificate validation. Point it at your CA bundle by adding to env:
"NODE_EXTRA_CA_CERTS": "/path/to/corporate-ca.pem"Test the bridge outside Claude Desktop
If the config looks right but Claude still shows nothing, run the exact command yourself — errors that Claude Desktop swallows are printed here:
DIALORA_AUTH="Bearer dlr_live_xxxxxxxxxxxxxxxx" \
npx -y mcp-remote <MCP_URL> --transport http-only \
--header "Authorization:$DIALORA_AUTH" --debugReplace <MCP_URL> with https://api.dialora.ai/mcp. --debug writes a detailed log to ~/.mcp-auth/{server_hash}_debug.log.
Test it
“Using Dialora, list my 5 most recent calls.”
Remember the preview rate limits: one tool call every 15 seconds, so ask for one thing at a time.