- Home
- MCP servers
- Signal
Signal
- python
4
GitHub Stars
python
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"stefanstranger-signal-mcp-server": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"signal-export",
"mcp",
"run",
"C:\\Github\\signal-mcp-server\\server.py"
],
"env": {
"KEY": "YOUR_KEY",
"PASSWORD": "YOUR_PASSWORD"
}
}
}
}This MCP server lets you access Signal Desktop chats, messages, and attachments through the Model Context Protocol, enabling AI agents and tools to query and analyze your Signal history locally.
How to use
You interact with the Signal MCP Server through an MCP client that speaks the Model Context Protocol. Start the local MCP server, then configure your MCP client to connect via a stdio-based pipeline or by pointing at a local command that runs the MCP. Once connected, you can list chats, fetch messages from a specific chat, and search text across chats. Use the pre-built prompts to summarize conversations, analyze topics, or evaluate sentiment across recent messages.
How to install
Prerequisites you need before installing the MCP server include Python 3.13 or higher, the UV package manager, Signal Desktop with an existing message database, and Node.js with npm for MCP inspector tools. Ensure you are on Windows, macOS, or Linux.
Install steps you will perform exactly as shown here:
# 1) Set up your environment and prerequisites
# Install Python 3.13+ from the official page
# Install UV package manager (see UV installation steps below)
# Install Node.js and npm for inspector tools
# Install Signal Desktop from the official download page and ensure the message database exists
Additional sections
Configuration details are provided for integrating Claude Desktop with the MCP server. You will add a JSON snippet to claude_desktop_config.json to wire the server as an MCP backend.
The server automatically detects your Signal data directory based on your operating system, so you don’t need to specify the path in most cases. The data directories are:
- Windows: %APPDATA%\Signal
- macOS: ~/Library/Application Support/Signal
- Linux: ~/.config/Signal (or Flatpak: ~/.var/app/org.signal.Signal/config/Signal)
If your Signal database is encrypted, you may need to provide:
- password: Database password (if set)
- key: Encryption key (if required)
Running the MCP server locally involves starting the MCP runner with the Python server script via the UV runtime. You need to start the server with the command below and then verify the endpoint with your MCP client.
For reference, the following configuration enables Claude Desktop to run the MCP server locally:
{
"mcpServers": {
"signal_mcp_server": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"signal-export",
"mcp",
"run",
"C:\\Github\\signal-mcp-server\\server.py"
]
}
}
}
Available tools
signal_list_chats
Lists all Signal chats with contact details and message counts, with optional filters such as include_empty and include_disappearing.
signal_get_chat_messages
Retrieves messages from a specific chat by name with optional pagination (limit and offset) and optional filters.
signal_search_chat
Searches for specific text within a given chat and returns matching messages with optional pagination and filtering.