S

Signal Messaging (via signal-cli)

MCP server · by joshuawowk

Developer Tools Docker v1.0.1

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

View source ↗ Generate config for multiple servers More servers

Install

unavailable — the image reference already carries a tag

Docker
docker run -i --rm ghcr.io/joshuawowk/signal-mcp:1.0.1

Setup by client

Pick your client — the config below is generated for this server (local stdio). Copy respects the “Pin version” switch above.

claude_desktop_config.json

{
  "mcpServers": {
    "signal-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/joshuawowk/signal-mcp:1.0.1"
      ],
      "env": {
        "SIGNAL_SENDER": "<YOUR_SIGNAL_SENDER>",
        "SIGNAL_DEFAULT_RECIPIENT": "<YOUR_SIGNAL_DEFAULT_RECIPIENT>"
      }
    }
  }
}

Format verified against the official Claude Desktop docs ↗.

Environment variables

Defined in the server's official registry manifest. Required secrets are shown as <YOUR_…> placeholders in the configs above.

  • 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 — 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 — signal-cli daemon TCP host, used only for the receive-path health check
  • SIGNAL_TCP_PORT — signal-cli daemon TCP port (daemon started with --tcp), used only for the receive-path health check
  • SIGNAL_INBOX_PATH — Path of the replies inbox file inside the container (populated only by the subscriber process)
  • SIGNAL_POLL_INTERVAL — Subscriber poll cadence in seconds
  • SIGNAL_INBOX_RETENTION_DAYS — Days of replies kept in the inbox file

About this server

Distributed as Docker, listed under Developer Tools. Review our MCP security guide before granting access to real data.

Frequently asked questions

How do I install Signal Messaging (via signal-cli)?

Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.

Is Signal Messaging (via signal-cli) free to use?

The MCP server itself is free to install. The source is public on https://github.com/joshuawowk/signal-mcp. Any third-party service it calls may require its own API key and account.

Which clients support Signal Messaging (via signal-cli)?

Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.

Add this badge

Publish this server? Link back with a badge on your README or site — copy either snippet.

Listed on MCPNav

Markdown

[![Listed on MCPNav](https://mcpnav.net/badge/signal-mcp.svg)](https://mcpnav.net/server/signal-mcp/)

HTML

<a href="https://mcpnav.net/server/signal-mcp/"><img src="https://mcpnav.net/badge/signal-mcp.svg" alt="Listed on MCPNav" height="20"></a>