Signal Messaging (via signal-cli)
Rank #30,523io.github.joshuawowk/signal-mcp
Send Signal messages and read replies through your own signal-cli JSON-RPC daemon (unofficial).
What you can do with Signal Messaging (via signal-cli)
Signal Messaging (via signal-cli) is a Model Context Protocol (MCP) server published by joshuawowk. It ranks #30,523 of 176,402 active servers on MCP Toplist. Signal Messaging (via signal-cli) is listed across 2 registries — Official MCP and Glama, with 1 tracked version. It was first listed on Sep 25, 2026 and most recently updated on Oct 20, 2026.
Not verifiedMCP Toplist has not yet written a checked profile for this server, so the paragraph above is assembled from registry data only. The repository README is the authority on what it does.
What Signal Messaging (via signal-cli) can and cannot do
Not verifiedMCP Toplist has not catalogued this server's tools or limitations. The repository README lists them.
What you need before using Signal Messaging (via signal-cli)
The registry listing declares no required environment variables or authentication. This is declared metadata, not a verified install — the repository README is the authority.
Declared by Glama, last synced Nov 14, 2026. Not independently verified by MCP Toplist.
- SIGNAL_SENDER · required
- SIGNAL_DEFAULT_RECIPIENT · required
- SIGNAL_RPC_URL · optional
- SIGNAL_TCP_HOST · optional
- SIGNAL_TCP_PORT · optional
- SIGNAL_INBOX_PATH · optional
- SIGNAL_POLL_INTERVAL · optional
- SIGNAL_INBOX_RETENTION_DAYS · optional
Connect Signal Messaging (via signal-cli) and confirm it works
claude mcp add signal-mcp -e "SIGNAL_SENDER=<your SIGNAL_SENDER>" -e "SIGNAL_DEFAULT_RECIPIENT=<your SIGNAL_DEFAULT_RECIPIENT>" -e "SIGNAL_RPC_URL=<your SIGNAL_RPC_URL>" -e "SIGNAL_TCP_HOST=<your SIGNAL_TCP_HOST>" -e "SIGNAL_TCP_PORT=<your SIGNAL_TCP_PORT>" -e "SIGNAL_INBOX_PATH=<your SIGNAL_INBOX_PATH>" -e "SIGNAL_POLL_INTERVAL=<your SIGNAL_POLL_INTERVAL>" -e "SIGNAL_INBOX_RETENTION_DAYS=<your SIGNAL_INBOX_RETENTION_DAYS>" -- docker run -i --rm --add-host host.docker.internal:host-gateway ghcr.io/joshuawowk/signal-mcp:1.0.1 python3 /app/server.pyReplace each placeholder with your own value before saving.
[mcp_servers.signal-mcp]
command = "docker"
args = ["run", "-i", "--rm", "--add-host", "host.docker.internal:host-gateway", "ghcr.io/joshuawowk/signal-mcp:1.0.1", "python3", "/app/server.py"]
[mcp_servers.signal-mcp.env]
SIGNAL_SENDER = "<your SIGNAL_SENDER>"
SIGNAL_DEFAULT_RECIPIENT = "<your SIGNAL_DEFAULT_RECIPIENT>"
SIGNAL_RPC_URL = "<your SIGNAL_RPC_URL>"
SIGNAL_TCP_HOST = "<your SIGNAL_TCP_HOST>"
SIGNAL_TCP_PORT = "<your SIGNAL_TCP_PORT>"
SIGNAL_INBOX_PATH = "<your SIGNAL_INBOX_PATH>"
SIGNAL_POLL_INTERVAL = "<your SIGNAL_POLL_INTERVAL>"
SIGNAL_INBOX_RETENTION_DAYS = "<your SIGNAL_INBOX_RETENTION_DAYS>"Add to ~/.codex/config.toml. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"signal-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--add-host",
"host.docker.internal:host-gateway",
"ghcr.io/joshuawowk/signal-mcp:1.0.1",
"python3",
"/app/server.py"
],
"env": {
"SIGNAL_SENDER": "<your SIGNAL_SENDER>",
"SIGNAL_DEFAULT_RECIPIENT": "<your SIGNAL_DEFAULT_RECIPIENT>",
"SIGNAL_RPC_URL": "<your SIGNAL_RPC_URL>",
"SIGNAL_TCP_HOST": "<your SIGNAL_TCP_HOST>",
"SIGNAL_TCP_PORT": "<your SIGNAL_TCP_PORT>",
"SIGNAL_INBOX_PATH": "<your SIGNAL_INBOX_PATH>",
"SIGNAL_POLL_INTERVAL": "<your SIGNAL_POLL_INTERVAL>",
"SIGNAL_INBOX_RETENTION_DAYS": "<your SIGNAL_INBOX_RETENTION_DAYS>"
}
}
}
}Add to claude_desktop_config.json (Settings → Developer → Edit Config). Replace each placeholder with your own value before saving.
{
"mcpServers": {
"signal-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--add-host",
"host.docker.internal:host-gateway",
"ghcr.io/joshuawowk/signal-mcp:1.0.1",
"python3",
"/app/server.py"
],
"env": {
"SIGNAL_SENDER": "<your SIGNAL_SENDER>",
"SIGNAL_DEFAULT_RECIPIENT": "<your SIGNAL_DEFAULT_RECIPIENT>",
"SIGNAL_RPC_URL": "<your SIGNAL_RPC_URL>",
"SIGNAL_TCP_HOST": "<your SIGNAL_TCP_HOST>",
"SIGNAL_TCP_PORT": "<your SIGNAL_TCP_PORT>",
"SIGNAL_INBOX_PATH": "<your SIGNAL_INBOX_PATH>",
"SIGNAL_POLL_INTERVAL": "<your SIGNAL_POLL_INTERVAL>",
"SIGNAL_INBOX_RETENTION_DAYS": "<your SIGNAL_INBOX_RETENTION_DAYS>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Replace each placeholder with your own value before saving.
{
"servers": {
"signal-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--add-host",
"host.docker.internal:host-gateway",
"ghcr.io/joshuawowk/signal-mcp:1.0.1",
"python3",
"/app/server.py"
],
"env": {
"SIGNAL_SENDER": "<your SIGNAL_SENDER>",
"SIGNAL_DEFAULT_RECIPIENT": "<your SIGNAL_DEFAULT_RECIPIENT>",
"SIGNAL_RPC_URL": "<your SIGNAL_RPC_URL>",
"SIGNAL_TCP_HOST": "<your SIGNAL_TCP_HOST>",
"SIGNAL_TCP_PORT": "<your SIGNAL_TCP_PORT>",
"SIGNAL_INBOX_PATH": "<your SIGNAL_INBOX_PATH>",
"SIGNAL_POLL_INTERVAL": "<your SIGNAL_POLL_INTERVAL>",
"SIGNAL_INBOX_RETENTION_DAYS": "<your SIGNAL_INBOX_RETENTION_DAYS>"
}
}
}
}Save as .vscode/mcp.json in your workspace. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"signal-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--add-host",
"host.docker.internal:host-gateway",
"ghcr.io/joshuawowk/signal-mcp:1.0.1",
"python3",
"/app/server.py"
],
"env": {
"SIGNAL_SENDER": "<your SIGNAL_SENDER>",
"SIGNAL_DEFAULT_RECIPIENT": "<your SIGNAL_DEFAULT_RECIPIENT>",
"SIGNAL_RPC_URL": "<your SIGNAL_RPC_URL>",
"SIGNAL_TCP_HOST": "<your SIGNAL_TCP_HOST>",
"SIGNAL_TCP_PORT": "<your SIGNAL_TCP_PORT>",
"SIGNAL_INBOX_PATH": "<your SIGNAL_INBOX_PATH>",
"SIGNAL_POLL_INTERVAL": "<your SIGNAL_POLL_INTERVAL>",
"SIGNAL_INBOX_RETENTION_DAYS": "<your SIGNAL_INBOX_RETENTION_DAYS>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json. Replace each placeholder with your own value before saving.
{
"mcpServers": {
"signal-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--add-host",
"host.docker.internal:host-gateway",
"ghcr.io/joshuawowk/signal-mcp:1.0.1",
"python3",
"/app/server.py"
],
"env": {
"SIGNAL_SENDER": "<your SIGNAL_SENDER>",
"SIGNAL_DEFAULT_RECIPIENT": "<your SIGNAL_DEFAULT_RECIPIENT>",
"SIGNAL_RPC_URL": "<your SIGNAL_RPC_URL>",
"SIGNAL_TCP_HOST": "<your SIGNAL_TCP_HOST>",
"SIGNAL_TCP_PORT": "<your SIGNAL_TCP_PORT>",
"SIGNAL_INBOX_PATH": "<your SIGNAL_INBOX_PATH>",
"SIGNAL_POLL_INTERVAL": "<your SIGNAL_POLL_INTERVAL>",
"SIGNAL_INBOX_RETENTION_DAYS": "<your SIGNAL_INBOX_RETENTION_DAYS>"
}
}
}
}Replace each placeholder with your own value before saving.
After adding the config, ask your client to list this server's tools. A tool list confirms the connection; an empty list or an error means the server did not start or needs credentials.
When to choose another server
No task-specific alternatives are catalogued for Signal Messaging (via signal-cli)yet; the list above is its publisher's other servers.
What changed, and when this was checked
- First listed
- Sep 25, 2026
- Latest version published
- Oct 20, 2026
- Version history
- 1 version tracked (below)
- Requirements evidence
- Declared by Glama, last synced Nov 14, 2026. Not independently verified by MCP Toplist.
- Profile checked
- Not yet — purpose, capabilities and requirements above come from registry data only
- Ranking data as of
- Nov 14, 2026
- Glama ↗listed since Sep 26, 2026 · still listed
- Official MCP ↗listed since Oct 21, 2026 · still listed
Do you maintain Signal Messaging (via signal-cli)? to show as its verified maintainer and add your own summary, sign-in details and links. The rest of this page is read from the registry listings and from MCP Toplist's own connection check.
Available versions (1)
| Version | Published |
|---|---|
| 1.0.1 | Oct 20, 2026 |
Ranks ahead of 145,879 of 176,402 servers on MCP Toplist.
Show your rank
Maintain this server? Add the live rank badge to your README — it updates automatically as the leaderboard changes.
[](https://mcptoplist.com/server/io.github.joshuawowk%2Fsignal-mcp)<a href="https://mcptoplist.com/server/io.github.joshuawowk%2Fsignal-mcp"><img src="https://mcptoplist.com/badge/io.github.joshuawowk%2Fsignal-mcp.svg" alt="MCP Toplist: Top 25% of 176,402" /></a>Variants: append ?metric=score or ?metric=stars to the image URL.
Frequently asked questions
- Who maintains Signal Messaging (via signal-cli)?
- Signal Messaging (via signal-cli) is maintained by joshuawowk, which publishes 2 MCP servers (3 total versions) tracked on MCP Toplist.
- Is Signal Messaging (via signal-cli) listed on the Official MCP Registry?
- Yes — Signal Messaging (via signal-cli) is listed on the Official MCP Registry, alongside Glama.
- How many versions does Signal Messaging (via signal-cli) have?
- MCP Toplist tracks 1 version of Signal Messaging (via signal-cli), most recently published on Oct 20, 2026.
- Where can I find the source code for Signal Messaging (via signal-cli)?
- The source code for Signal Messaging (via signal-cli) is hosted at github.com/joshuawowk/signal-mcp.
Do you run this server?
Community projects list the MCP servers behind real agents and apps. Publish yours and this page will link to it.