Connect clients

Any MCP client that supports remote servers over HTTP can connect to Chatway. Point it at the Chatway MCP endpoint and complete the sign-in prompt — there is no client ID or secret to create, because Chatway registers your client automatically.

Server URL

https://mcp.chatway.app/mcp

Chatway recognises Claude, ChatGPT, Cursor, Codex, Gemini, Grok, VS Code, OpenCode, Manus, Muse, Devin, Cline, and Goose, and labels the connection with that name so you can tell your connections apart. Any other client is recorded as a custom integration.

Before you start

During sign-in you choose four things. It helps to know them in advance:

Choice Notes
Connection name How this connection appears in Chatway. Use something like "Claude – support triage".
Widgets & channels Which inboxes the assistant may touch. All are selected by default.
Permissions What the assistant may read and do. Write permissions need owner or admin.
Reply as The agent that replies and other write actions are attributed to. Defaults to you.

You can change all four later without reconnecting. See Manage connections.

Where to add it

Most clients now have a UI for this, so you rarely need to edit a config file.

Client Add it here
Claude Customize → Connectors → Add custom connector
Claude Code claude mcp add --transport http
ChatGPT Browse Plugins → "+" (Developer mode on; web only)
Codex Settings → MCP servers → Add server
Gemini ~/.gemini/settings.json · /mcp auth chatway
Cursor Customize → MCPs
VS Code Command Palette → MCP: Add Server
Grok grok.com/connectors → New Connector → Custom
Devin Settings → Cascade → Manage MCPs → Add Server
Cline IDE extension: MCP Servers → Remote Servers · CLI: cline mcp install
Goose Extensions → Add custom extension
Manus Settings → MCP / Connectors
Muse Settings → MCP Servers
OpenCode opencode mcp add

Claude

Works with claude.ai, Claude Desktop, Cowork, and the mobile apps.

Free, Pro, and Max plans

  1. Go to Customize → Connectors.
  2. Click +, then Add custom connector.
  3. Enter a name and paste the Chatway server URL.
  4. Click Add, then Connect and complete the Chatway sign-in flow.

Free plans are limited to one custom connector.

Team and Enterprise plans

Only an Owner can add the connector, and each member then connects individually so Claude only reaches inboxes that person can already access.

  1. An Owner goes to Organization settings → Connectors.
  2. Click Add, hover Custom, and choose Web.
  3. Paste the Chatway server URL and click Add.
  4. Each member then opens Settings → Connectors, finds the connector labelled Custom, and clicks Connect.

Leave the OAuth Client ID and Secret fields in Advanced settings empty — Chatway registers Claude automatically.

Claude reaches your MCP server from Anthropic's cloud, not from your computer. This is true even in Claude Desktop, so the server has to be reachable over the public internet.

Claude Code

One command in your terminal:

claude mcp add --transport http --scope user chatway "https://mcp.chatway.app/mcp"

--scope user makes Chatway available in every project. Leave it off and the server is only added to the project you ran the command in, which is the most common reason it seems to vanish.

claude mcp list then shows ! Needs authentication. Start a session, run /mcp, select chatway, and choose Authenticate. Your browser opens the Chatway sign-in. After you approve, the status should be ✔ Connected.

Some CLI versions also accept claude mcp login chatway for the same browser flow.

ChatGPT

Custom MCP apps are set up on chatgpt.com (web only) — not in the mobile app. OpenAI documents them under Apps, with Developer mode required before you can create or use a custom MCP app.

Plan differences (per OpenAI)

Plan Custom MCP apps
Free Not available
Plus / Pro Developer mode available. Pro can connect custom MCP apps with read/fetch permissions.
Business, Enterprise, Edu Full MCP including write/modify tools (admin-controlled). Workspace admins enable Developer mode, create and test apps, then publish them for the workspace.

Exact labels move occasionally; if a path below does not match your account, look under Settings → Apps or Workspace settings → Apps.

1. Turn on Developer mode

  1. Open Settings → Apps (or Workspace settings → Apps on Business / Enterprise / Edu).
  2. Open Apps settings and turn Developer mode on.

Each admin or owner must enable Developer mode for themselves — the toggle does not apply to the whole workspace at once.

2. Create the app

  1. Go to the Browse Plugins page and click "+" to add a new plugin.
  2. Fill in:
Field Value
Name Chatway
Description Access your Chatway inbox and take actions
MCP Server URL https://mcp.chatway.app/mcp
Authentication OAuth
  1. Leave Client ID and Client Secret empty — Chatway registers ChatGPT automatically.
  2. Complete the Chatway sign-in flow.

Created apps often appear under Drafts until you publish them for a workspace.

3. Use it in a chat

  1. Start a new conversation on the web.
  2. Open the + menu and choose Developer mode.
  3. Enable the Chatway app.

Ask something read-only first, such as "List my 5 most recent Chatway conversations." ChatGPT confirms write actions separately in the conversation, on top of Chatway's own confirmation for bulk and destructive tools.

Business, Enterprise, and Edu. A workspace admin must allow custom apps, create and test the app, then publish it from Workspace settings → Apps. Enterprise/Edu admins can further limit who gets Developer mode and which published apps each person can use. After you change permissions in Chatway, refresh the app so ChatGPT picks up the new tool list.

Codex

Codex shares one MCP configuration across the ChatGPT desktop app, the CLI, and the IDE extension. Add it once and it is available in all three.

Desktop app (recommended)

  1. Open Settings → MCP servers.
  2. Select Add server.
  3. Enter chatway as the name, choose Streamable HTTP, and paste the server URL.
  4. Save, then select Restart.
  5. Click Authenticate on the chatway row and complete sign-in.

Leave bearer token and header fields blank — Chatway uses OAuth. Type /mcp in the composer to see connected servers.

IDE extension

Open the gear menu → MCP servers → Add server, enter the same details, then Restart extension. Click Authenticate if the row asks for it.

CLI

codex mcp add chatway --url "https://mcp.chatway.app/mcp"
codex mcp login chatway

Config file

For project-only access, edit .codex/config.toml in a trusted project (or ~/.codex/config.toml for every project):

[mcp_servers.chatway]
url = "https://mcp.chatway.app/mcp"

Then run codex mcp login chatway. Do not set bearer_token_env_var or http_headers.

Gemini

The Gemini CLI connects to remote MCP servers over streamable HTTP and completes OAuth in your local browser. Dynamic client registration uses the display name Gemini CLI MCP Client; Chatway recognises that client as Gemini so reconnects update the same connection instead of creating duplicates.

  1. Edit ~/.gemini/settings.json (create the file if needed).
  2. Add a chatway entry under mcpServers with httpUrl set to the Chatway server URL.
  3. Start the CLI, connect to the server, or run /mcp auth chatway when prompted.
{
  "mcpServers": {
    "chatway": {
      "httpUrl": "https://mcp.chatway.app/mcp"
    }
  }
}

OAuth requirements from Google:

Tokens are stored in ~/.gemini/mcp-oauth-tokens.json. Re-run /mcp auth chatway if access expires. See the Gemini CLI MCP server guide for transport details and advanced OAuth options.

Cursor

UI

  1. Open Customize in the sidebar and click MCPs.
  2. Click Add Custom MCP (or New MCP Server).
  3. Add the Chatway entry below, save, and complete the browser sign-in.

You can also open Cursor Settings → Tools & MCP and click + Add Custom MCP — it writes the same mcp.json file.

Config file

.cursor/mcp.json for one project, ~/.cursor/mcp.json for all of them:

{
  "mcpServers": {
    "chatway": {
      "url": "https://mcp.chatway.app/mcp"
    }
  }
}

Cursor infers the transport from the presence of url, so no type field is needed. Leave out headers and auth as well; Chatway uses dynamic registration, so the OAuth flow starts on its own.

VS Code

Requires GitHub Copilot in Agent mode.

  1. Open the Command Palette (Cmd/Ctrl + Shift + P) and run MCP: Add Server.
  2. Choose HTTP (not stdio), then Workspace or Global.
  3. Paste the Chatway server URL and a name of chatway.
  4. Trust the server when VS Code asks, then complete Chatway sign-in.

Or edit mcp.json yourself — .vscode/mcp.json for the workspace, or MCP: Open User Configuration for the global file:

{
  "servers": {
    "chatway": {
      "type": "http",
      "url": "https://mcp.chatway.app/mcp"
    }
  }
}

Two VS Code specifics matter here. The root key is servers, not mcpServers — a block copied from Cursor is valid JSON and gets silently ignored. And "type": "http" is required; without it VS Code treats the entry as a local process and fails. Run MCP: List Servers to confirm Chatway loaded and see its tool count.

Grok

Custom connectors are available on Grok's paid tiers.

  1. Go to grok.com/connectors.
  2. Click New Connector, then select Custom.
  3. Enter Chatway as the name and paste the server URL.
  4. Complete the Chatway sign-in flow.

Grok then discovers Chatway's tools and offers them in conversations alongside its built-in connectors.

On Business and Enterprise plans a team admin has to provision it first: sign in to console.x.ai, select your team, go to Grok Business → Connectors, click + Add Connector, choose Other, and enter the server URL.

Devin

  1. Open Devin Settings → Cascade → Manage MCPs.
  2. Click + Add Server, then View raw config to edit the JSON.
  3. Add the Chatway entry, save, and click Refresh.
{
  "mcpServers": {
    "chatway": {
      "serverUrl": "https://mcp.chatway.app/mcp"
    }
  }
}

Devin uses serverUrl, not url, for remote servers. A config copied from Cursor parses fine but leaves Devin with no endpoint, so the server appears to load and then shows zero tools. The file lives at ~/.config/devin/mcp_config.json, and Devin only supports global configuration. Click Refresh after every edit.

Cline

Cline runs as a standalone CLI and as an IDE extension (VS Code, JetBrains, and other supported editors). The Remote Servers UI in the Cline panel is available only after you install the extension in an IDE — it is not part of the terminal-only CLI. If you use Cline from the command line, add Chatway with cline mcp install or cline mcp instead.

See the Cline MCP overview for the latest client details.

IDE extension (Remote Servers UI)

  1. Install the Cline extension in your editor and open the Cline panel.
  2. Click the MCP Servers icon.
  3. Open the Remote Servers tab.
  4. Enter chatway as the server name and paste the server URL.
  5. Choose Streamable HTTP as the transport type.
  6. Click Add Server and complete Chatway sign-in when prompted.

You can also open Configure → Configure MCP Servers to edit the extension’s MCP JSON directly.

CLI (cline mcp install)

From a terminal (requires a TTY), pre-fill the server and open Cline’s add-server wizard. It still prompts for auth (including OAuth) before saving to ~/.cline/mcp.json:

cline mcp install chatway --transport http https://mcp.chatway.app/mcp

cline mcp add is an alias for cline mcp install. For the full menu (list, edit, enable, delete servers), run:

cline mcp

Choose Add server, pick Remote (HTTP), name it chatway, paste the Chatway URL, and complete OAuth when asked. Non-interactive listing: cline config mcp.

Manual JSON

If you edit JSON instead of using the Remote Servers form, the type field is not optional. CLI config lives at ~/.cline/mcp.json; the IDE extension uses its own MCP settings file opened from Configure MCP Servers.

{
  "mcpServers": {
    "chatway": {
      "type": "streamableHttp",
      "url": "https://mcp.chatway.app/mcp",
      "disabled": false
    }
  }
}

Omitting type makes Cline fall back to legacy SSE, which fails against Chatway with a 400 because it sends a GET where Chatway expects a POST.

Goose

Desktop

  1. Open Extensions → Add custom extension.
  2. Choose Remote (Streamable HTTP).
  3. Enter chatway as the name and the Chatway server URL as the endpoint.
  4. Complete sign-in when prompted.

CLI

goose configure

Choose Add Extension → Remote Extension (Streamable HTTP), then enter chatway and the Chatway URL.

To edit ~/.config/goose/config.yaml directly:

extensions:
  chatway:
    enabled: true
    type: streamable_http
    name: chatway
    uri: https://mcp.chatway.app/mcp
    timeout: 300

Goose differs from every other client on three counts: the top-level key is extensions, the endpoint field is uri, and the transport is streamable_http with an underscore. Restart Goose after editing the file.

OpenCode

The interactive command is the current way:

opencode mcp add

Choose a remote server, name it chatway, and paste the Chatway URL. Then authenticate:

opencode mcp auth chatway
opencode mcp list

Or write opencode.json yourself (project root, or ~/.config/opencode/opencode.json globally):

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "chatway": {
      "type": "remote",
      "url": "https://mcp.chatway.app/mcp",
      "enabled": true
    }
  }
}

Leave oauth unset so OpenCode uses dynamic registration. Do not set oauth: false — that is only for API-key servers.

Manus

  1. Open Manus and go to Settings → MCP / Connectors.
  2. Choose Add custom MCP server.
  3. Paste the Chatway server URL.
  4. Sign in to Chatway and select the widgets and channels to connect.

Muse

Works with Muse Code and other MCP-compatible Muse clients.

  1. Open your Muse settings and go to MCP Servers.
  2. Add a new remote MCP server (streamable HTTP).
  3. Enter Chatway as the server name.
  4. Paste the Chatway MCP connection URL:
https://mcp.chatway.app/mcp
  1. Save the configuration and start a new Muse session.
  2. When prompted, sign in to Chatway and authorize the widgets, channels, and permissions you want Muse to access.

CLI alternative. If the session reports that the server requires OAuth, run muse mcp login chatway (use the server name you chose in settings). Muse registers the OAuth client dynamically — leave Client ID and Client Secret empty in any advanced fields.

Official reference: MCP servers in Muse Code.

OAuth allowlist. Muse Code registers via dynamic client registration. Loopback callbacks (http://127.0.0.1 / http://localhost) and the muse:// redirect scheme are on Chatway's MCP OAuth allowlist — no manual client ID or secret.

Any other client

Most clients accept the standard remote server format:

{
  "mcpServers": {
    "chatway": {
      "url": "https://mcp.chatway.app/mcp"
    }
  }
}

Look for a "remote MCP server" or "streamable HTTP" option, restart or reload the client if it asks, and complete Chatway's sign-in on first use. Chatway speaks streamable HTTP and supports OAuth 2.1 with PKCE and dynamic client registration, so no manual credentials are needed.

Completing authorization

The first request from a new client starts the OAuth flow in your browser:

  1. Sign in to Chatway, or continue with your existing session.
  2. Name the connection.
  3. Select the widgets and channels the assistant may access.
  4. Review the permissions, pick the agent replies are sent as, and authorize.
  5. You are returned to your client, which stores the token and reconnects silently from then on.

You must grant at least one read permission and select at least one widget or channel, otherwise the connection would have nothing to work with.

Verify the connection

Ask the assistant something read-only:

List my 5 most recent Chatway conversations.

If it answers with real conversations, you are connected. Owners and admins also see the connection in Chatway under AI → External AI.

Troubleshooting

Most failures are one of two things: the client never finished the OAuth flow, or the config uses a key name that client does not read.

Symptom Cause and fix
No Chatway tools appear at all The OAuth flow did not finish, or the connection was disconnected. Inbox tools are only published once a live connection exists — reconnect the client.
Server loads but shows zero tools Usually a wrong endpoint key. Devin needs serverUrl, Goose needs uri, everyone else uses url.
VS Code ignores the entry entirely The root key must be servers, not mcpServers, and "type": "http" is required.
Cline returns 400 Set "type": "streamableHttp". Without it Cline uses legacy SSE.
ChatGPT shows only search / fetch Developer mode is off, or your plan only allows read/fetch MCP. Turn Developer mode on under Settings → Apps, and use Business / Enterprise / Edu for full write tools.
ChatGPT has no Create button You are on the free plan, not on the web app, or a workspace admin has not allowed custom apps.
Claude Code can't find the server It was added at project scope. Re-add it with --scope user.
401 with a WWW-Authenticate header The token is missing, expired, or revoked. Reconnect the client.
403 insufficient_scope The token lacks the mcp:use scope. Remove the server from your client and add it again.
403 on one specific tool That permission was not granted, or your role does not allow it. See Permissions & access.
"Conversation not found for the authorized sources" The conversation belongs to a widget or channel this connection cannot access. Add it under Manage access.
405 The endpoint only accepts POST. Let your MCP client handle the transport rather than opening the URL in a browser.
429 You hit the 120 requests per minute limit for this connection. Retry after a short delay.
Assistant asks to confirm an action Expected for bulk and destructive actions. See Tool reference.
OpenCode never starts OAuth Do not set oauth: false. Leave oauth unset and run opencode mcp auth chatway.