NestDaddy

Signal Messaging (via signal-cli)

io.github.joshuawowk/signal-mcp ยท v1.0.1

Send Signal messages and read replies through your own signal-cli JSON-RPC daemon (unofficial).

Connect Runs on your machine

Terminal
claude mcp add signal-mcp -e SIGNAL_SENDER=<SIGNAL_SENDER> -e SIGNAL_DEFAULT_RECIPIENT=<SIGNAL_DEFAULT_RECIPIENT> -e SIGNAL_RPC_URL=<SIGNAL_RPC_URL> -e SIGNAL_TCP_HOST=<SIGNAL_TCP_HOST> -e SIGNAL_TCP_PORT=<SIGNAL_TCP_PORT> -e SIGNAL_INBOX_PATH=<SIGNAL_INBOX_PATH> -e SIGNAL_POLL_INTERVAL=<SIGNAL_POLL_INTERVAL> -e SIGNAL_INBOX_RETENTION_DAYS=<SIGNAL_INBOX_RETENTION_DAYS> -- docker run -i --rm ghcr.io/joshuawowk/signal-mcp:1.0.1
claude_desktop_config.json
{
  "mcpServers": {
    "signal-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/joshuawowk/signal-mcp:1.0.1"
      ],
      "env": {
        "SIGNAL_SENDER": "<SIGNAL_SENDER>",
        "SIGNAL_DEFAULT_RECIPIENT": "<SIGNAL_DEFAULT_RECIPIENT>",
        "SIGNAL_RPC_URL": "<SIGNAL_RPC_URL>",
        "SIGNAL_TCP_HOST": "<SIGNAL_TCP_HOST>",
        "SIGNAL_TCP_PORT": "<SIGNAL_TCP_PORT>",
        "SIGNAL_INBOX_PATH": "<SIGNAL_INBOX_PATH>",
        "SIGNAL_POLL_INTERVAL": "<SIGNAL_POLL_INTERVAL>",
        "SIGNAL_INBOX_RETENTION_DAYS": "<SIGNAL_INBOX_RETENTION_DAYS>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "signal-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/joshuawowk/signal-mcp:1.0.1"
      ],
      "env": {
        "SIGNAL_SENDER": "<SIGNAL_SENDER>",
        "SIGNAL_DEFAULT_RECIPIENT": "<SIGNAL_DEFAULT_RECIPIENT>",
        "SIGNAL_RPC_URL": "<SIGNAL_RPC_URL>",
        "SIGNAL_TCP_HOST": "<SIGNAL_TCP_HOST>",
        "SIGNAL_TCP_PORT": "<SIGNAL_TCP_PORT>",
        "SIGNAL_INBOX_PATH": "<SIGNAL_INBOX_PATH>",
        "SIGNAL_POLL_INTERVAL": "<SIGNAL_POLL_INTERVAL>",
        "SIGNAL_INBOX_RETENTION_DAYS": "<SIGNAL_INBOX_RETENTION_DAYS>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "signal-mcp": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/joshuawowk/signal-mcp:1.0.1"
      ],
      "env": {
        "SIGNAL_SENDER": "<SIGNAL_SENDER>",
        "SIGNAL_DEFAULT_RECIPIENT": "<SIGNAL_DEFAULT_RECIPIENT>",
        "SIGNAL_RPC_URL": "<SIGNAL_RPC_URL>",
        "SIGNAL_TCP_HOST": "<SIGNAL_TCP_HOST>",
        "SIGNAL_TCP_PORT": "<SIGNAL_TCP_PORT>",
        "SIGNAL_INBOX_PATH": "<SIGNAL_INBOX_PATH>",
        "SIGNAL_POLL_INTERVAL": "<SIGNAL_POLL_INTERVAL>",
        "SIGNAL_INBOX_RETENTION_DAYS": "<SIGNAL_INBOX_RETENTION_DAYS>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
SIGNAL_SENDER
Required
E.164 number of the account registered in signal-cli (e.g. +15555550100)
SIGNAL_DEFAULT_RECIPIENT
Required
E.164 number messaged by default; tools accept a per-call recipient override
SIGNAL_RPC_URL
Optional
signal-cli HTTP JSON-RPC endpoint as seen from the container. The server's built-in default is http://127.0.0.1:8080/api/v1/rpc (use with --network host on Linux); this listing defaults to the Docker host alias.
SIGNAL_TCP_HOST
Optional
signal-cli daemon TCP host, used only for the receive-path health check
SIGNAL_TCP_PORT
Optional
signal-cli daemon TCP port (daemon started with --tcp), used only for the receive-path health check
SIGNAL_INBOX_PATH
Optional
Path of the replies inbox file inside the container (populated only by the subscriber process)
SIGNAL_POLL_INTERVAL
Optional
Subscriber poll cadence in seconds
SIGNAL_INBOX_RETENTION_DAYS
Optional
Days of replies kept in the inbox file

Details

Packageghcr.io/joshuawowk/signal-mcp:1.0.1 (OCI, stdio)
First published20 Oct 2026
Last updated20 Oct 2026
Registry nameio.github.joshuawowk/signal-mcp

More communication servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.