signal-mcp-client

MCP.Pizza Chef: piebro

Signal MCP Client is a Model Context Protocol client that integrates with the Signal messaging platform to send and receive messages securely. It enables real-time communication within MCP workflows using Signal's encrypted messaging infrastructure, supporting multi-step reasoning and interaction with LLMs. This client is designed for users who want to incorporate Signal-based messaging into their AI-enhanced workflows across platforms.

Unmaintained · No commits in 16 months.

Use This MCP client To

Send and receive MCP messages via Signal's encrypted network Integrate Signal messaging into AI-driven chat workflows Enable secure, real-time communication for LLM agents Use Signal as a transport layer for MCP client-server interactions Facilitate multi-step reasoning with Signal message context Deploy AI chatbots that communicate over Signal Connect Signal conversations to external MCP servers and tools

README

Signal MCP Client

An MCP (Model Context Protocol) client that uses Signal for sending and receiving messages.

Setup and start the Signal Chat Bot

These Instructions are for Ubuntu Linux. With some minor modification this should also work on other Linux Distros, Mac or Windows. I recommend to use an extra phone number for the bot, so you don't have to use your own.

  1. Install uv and podman:
    sudo apt install podman
    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. Start the Signal CLI Rest Server container:
    mkdir -p $HOME/.local/share/signal-api
    podman run \
        --name signal-cli-api \
        --replace \
        -p 8080:8080 \
        -v $HOME/.local/share/signal-api:/home/.local/share/signal-cli \
        -e 'MODE=json-rpc' \
        docker.io/bbernhard/signal-cli-rest-api:latest-dev
  3. Connect the signal-cli-rest-api container to your signal account by opening this link and scanning the QR code:
    http://localhost:8080/v1/qrcodelink?device_name=signal-api
    
  4. Create a config.json with your mcp servers. For example for testing you can use:
    cat << EOF > config.json
    {
        "servers": [{
            "name": "echo-mcp-server-for-testing",
            "command": "uvx",
            "args": ["echo-mcp-server-for-testing"],
            "env": {"SECRET_KEY": "123456789"}
        }]
    }
    EOF
  5. Create a session directory for saving the message history, images, videos and settings for each user and start the MCP client:
    export ANTHROPIC_API_KEY='your-key'
    export SIGNAL_PHONE_NUMBER='+1234567890'
    export FAL_KEY='your-key' # optional for transcribing voice messages
    
    uvx signal-mcp-client \
        --config config.json \
        --session-save-dir /absolute/path/to/session/dir \
        --available-models claude-3-7-sonnet-latest claude-3-5-haiku-latest \
        --default-model-name claude-3-7-sonnet-latest \
        --default-system-prompt "" \
        --default-llm-chat-message-context-limit 50

signal-mcp-client FAQ

How do I set up the Signal MCP Client?
Follow the GitHub instructions for installation on Linux, Mac, or Windows, including installing dependencies like uv and podman.
Can I use my personal Signal number for the client?
It is recommended to use a separate phone number for the bot to avoid mixing personal and bot messages.
Is communication via Signal MCP Client secure?
Yes, it leverages Signal's end-to-end encryption for all message exchanges.
What platforms does the Signal MCP Client support?
Primarily Linux, with potential support for Mac and Windows with minor modifications.
Can the Signal MCP Client interact with multiple MCP servers?
Yes, it can send and receive messages to/from various MCP servers integrated with Signal.
Does the client support multimedia messages?
The client supports sending and receiving images as shown in the GitHub screenshots.
How does the Signal MCP Client handle message context?
It maintains conversation context to enable multi-step reasoning and interaction with LLMs.
Which LLM providers can be used with this client?
It is provider-agnostic and can work with OpenAI, Anthropic Claude, Google Gemini, and others.