Loading…
Send Signal messages and read replies through your own signal-cli JSON-RPC daemon (unofficial).
Signal Messaging (via signal-cli) is an MCP server entry in ChatHome Skills, sourced from Official MCP Registry and scored 78/100. As a Model Context Protocol server, it exposes tools that MCP-compatible LLM clients such as Claude, Cursor, and Copilot can call directly, extending an agent's reach beyond its built-in capabilities. ChatHome Skills discovered this entry through its daily ingest of official registries and GitHub discovery queries, and re-verifies repository facts, freshness signals, and install metadata on every run. The quality score weighs official-registry presence, a working install command, license clarity, GitHub star trajectory, and repository freshness — the full formula is on the Sources page. The install command above is ready to copy. Review the last-pushed date and repository status before adding Signal Messaging (via signal-cli) to a production agent workflow; the snapshot facts below are point-in-time values from the most recent ingest.
docker run -i --rm ghcr.io/joshuawowk/signal-mcp:1.0.1Review the upstream source before running this command.
{
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"isLatest": true,
"updatedAt": "2026-10-20T19:25:06.411806Z",
"publishedAt": "2026-10-20T19:25:06.411806Z",
"statusChangedAt": "2026-10-20T19:25:06.411806Z"
}
},
"server": {
"name": "io.github.joshuawowk/signal-mcp",
"title": "Signal Messaging (via signal-cli)",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "1.0.1",
"packages": [
{
"transport": {
"type": "stdio"
},
"identifier": "ghcr.io/joshuawowk/signal-mcp:1.0.1",
"registryType": "oci",
"packageArguments": [
{
"type": "positional",
"value": "python3"
},
{
"type": "positional",
"value": "/app/server.py"
},
{
"name": "--stdio",
"type": "named"
}
],
"runtimeArguments": [
{
"type": "positional",
"value": "-i"
},
{
"name": "--add-host",
"type": "named",
"value": "host.docker.internal:host-gateway"
}
],
"environmentVariables": [
{
"name": "SIGNAL_SENDER",
"isRequired": true,
"description": "E.164 number of the account registered in signal-cli (e.g. +15555550100)"
},
{
"name": "SIGNAL_DEFAULT_RECIPIENT",
"isRequired": true,
"description": "E.164 number messaged by default; tools accept a per-call recipient override"
},
{
"name": "SIGNAL_RPC_URL",
"default": "http://host.docker.internal:8080/api/v1/rpc",
"description": "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."
},
{
"name": "SIGNAL_TCP_HOST",
"default": "127.0.0.1",
"description": "signal-cli daemon TCP host, used only for the receive-path health check"
},
{
"name": "SIGNAL_TCP_PORT",
"default": "7583",
"description": "signal-cli daemon TCP port (daemon started with --tcp), used only for the receive-path health check"
},
{
"name": "SIGNAL_INBOX_PATH",
"default": "/data/inbox.jsonl",
"description": "Path of the replies inbox file inside the container (populated only by the subscriber process)"
},
{
"name": "SIGNAL_POLL_INTERVAL",
"default": "3",
"description": "Subscriber poll cadence in seconds"
},
{
"name": "SIGNAL_INBOX_RETENTION_DAYS",
"default": "14",
"description": "Days of replies kept in the inbox file"
}
]
}
],
"repository": {
"url": "https://github.com/joshuawowk/signal-mcp",
"source": "github"
},
"description": "Send Signal messages and read replies through your own signal-cli JSON-RPC daemon (unofficial)."
}
}