ChatGPT and other MCP clients
Any MCP client that can call a remote server over streamable HTTP and send a header can use DMWire. ChatGPT cannot do that yet.
ChatGPT: not supported yet
ChatGPT custom connectors (developer mode) connect to remote MCP servers with OAuth sign in or with no authentication. They do not send a fixed API key header. DMWire needs a key on every request, so a ChatGPT connector cannot reach it today. Sign in for DMWire is planned; when it ships, ChatGPT plans that allow custom connectors will work and this page will say so.
What you can do now: use DMWire from Codex, or from Claude, Claude Code, Cursor or OpenClaw.
Which clients work today
| Client | Works today | How |
|---|---|---|
| Claude Code | Yes, tested | claude mcp add with a header |
| Claude desktop | Yes | Custom connector with a request header if your account has it, otherwise the desktop config bridge |
| claude.ai in the browser | Only with request headers | Custom connector, header option is a limited beta |
| Cursor | Yes | mcp.json with headers |
| Codex (CLI, IDE, app) | Yes, config tested | codex mcp add |
| OpenClaw | Yes | MCP server with headers |
| ChatGPT connectors | Not yet | Needs sign in, planned |
Any other MCP client
Give it these settings:
| Setting | Value |
|---|---|
| Server URL | https://mcp.dmwire.ai/mcp |
| Transport | Streamable HTTP (no SSE) |
| Header | X-API-Key: <your key> or Authorization: Bearer <your key> |
The server refuses a key in the URL. If your client cannot send headers, run the mcp-remote bridge in front of it.
The handshake, run for real
Initialize:
curl \
-X POST https://mcp.dmwire.ai/mcp \
-H "X-API-Key: $DMWIRE_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2025-06-18", "capabilities": {}, "clientInfo": {"name": "my-agent", "version": "1.0"}}}'{
"result": {
"protocolVersion": "2025-06-18",
"capabilities": {
"tools": {}
},
"serverInfo": {
"name": "dmwire",
"title": "DMWire",
"version": "1.0.0"
},
"instructions": "DMWire connects you, the agent, to the user's own WhatsApp and Telegram so you can read and answer their messages. DMWire runs no AI of its own: you are the brain, DMWire is the wire.\n\n1. Start with `list_accounts` to see what is connected.\n2. To connect WhatsApp, call `connect_whatsapp` and give the user the QR code, connect link or pairing code it returns to open on their phone; check `get_whatsapp_status` until it is connected. For Telegram, call `connect_telegram`, then `submit_telegram_code` with the code Telegram sends the user (and `submit_telegram_password` if they use two-step verification).\n3. To receive messages, call `wait_for_messages`. It waits until something arrives, then returns the messages and a cursor: call it again with that cursor to keep listening.\n4. To reply, call `send_message`.\n5. Free tier limits: 1 connected account, 50 sends a day, 10 new contacts a day. A freshly registered WhatsApp number cannot message new contacts during its first days. `get_usage` shows what is left today.\n6. Ask the user before you message anyone, and never send unsolicited messages: answer people who wrote first, or people the user asked you to contact.\n7. Request bodies go in the `body` argument."
},
"jsonrpc": "2.0",
"id": 1
}Call a tool:
curl \
-X POST https://mcp.dmwire.ai/mcp \
-H "X-API-Key: $DMWIRE_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "list_accounts", "arguments": {}}}'{
"result": {
"content": [
{
"type": "text",
"text": "HTTP 200\n{\"accounts\":[]}"
}
],
"isError": false
},
"jsonrpc": "2.0",
"id": 3
}curl \
-X POST https://mcp.dmwire.ai/mcp \
-H "X-API-Key: $DMWIRE_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": {"name": "get_usage", "arguments": {}}}'{
"result": {
"content": [
{
"type": "text",
"text": "HTTP 200\n{\"plan\":\"free\",\"status\":\"active\",\"day\":\"2026-10-17\",\"sends\":0,\"sends_cap\":50,\"new_contacts\":0,\"new_contacts_cap\":10,\"accounts_total\":0,\"accounts_connected\":0,\"accounts_cap\":1}"
}
],
"isError": false
},
"jsonrpc": "2.0",
"id": 3
}The full tool list is in the MCP tools reference. A tool answer is text that starts with the HTTP status of the call DMWire made for you, followed by the JSON body.
Last checked against the live service on 2026-10-17.