Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"signal-mcp-server": {
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"signal-export",
"mcp",
"run",
"C:\\Github\\signal-mcp-server\\server.py"
],
"type": "stdio",
"command": "uv"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP Server for retrieving Signal messages using signal-export logic.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'uv' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
uv vulnerable to arbitrary file deletion through RECORD entries
## Impact Wheel RECORD entries can contain relative paths that traverse outside of the wheel’s installation prefix. In versions 0.11.5 and earlier of uv, these wheels were not rejected on installation and the RECORD was respected without validation on uninstall. uv uses the RECORD to determine files to remove on uninstall. Consequently, a malicious or malformed wheel could induce deletion of arbitrary files outside of the wheel’s installation prefix on uninstall. uv does not use the RECORD fi
uv allows ZIP payload obfuscation through parsing differentials
### Impact In versions 0.9.5 and earlier of uv, ZIP archives were handled in a manner that enabled two parsing differentials against other components of the Python packaging ecosystem: 1. Central directory entries in a ZIP archive can contain comment fields. However, uv would assume that these fields were not present, since they aren't widely used. Consequently, a ZIP archive could be constructed where uv would interpret the contents of a central directory comment field as ZIP control structur
uv has differential in tar extraction with PAX headers
### Impact In versions 0.9.4 and earlier of uv, tar archives containing PAX headers with file size overrides were not handled properly. As a result, an attacker could contrive a source distribution (as a tar archive) that would extract differently when installed via uv versus other Python package installers. The underlying parsing differential here originates with astral-tokio-tar, which disclosed this vulnerability as CVE-2025-62518. In practice, the impact of this vulnerability is **low**:
uv allows ZIP payload obfuscation through parsing differentials
## Impact In versions 0.8.5 and earlier of uv, remote ZIP archives were handled in a streamwise fashion, and file entries were not reconciled against the archive's central directory. This enabled two parser differentials against other Python package installers: 1. An attacker could contrive a ZIP archive that would extract with legitimate contents on some package installers, and malicious contents on others due to multiple local file entries. The attacker could choose which installer to target
Click any tool to inspect its schema.
signal_summarize_chat_promptGenerate a summary prompt for recent messages in a specific chat.
signal_chat_topic_promptGenerate a prompt to analyze discussion topics in a chat.
signal_chat_sentiment_promptGenerate a prompt to analyze message sentiment in a chat.
signal_search_chat_promptGenerate a search prompt for finding specific text in a chat.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in communication
Asynchronous coordination layer for AI coding agents: identities, inboxes, searchable threads, and advisory file leases over FastMCP + Git + SQLite
An MCP server that securely interfaces with your iMessage database via the Model Context Protocol (MCP), allowing LLMs to query and analyze iMessage conversations. It includes robust phone number validation, attachment processing, contact management, group chat handling, and full support for sending and receiving messages.
Email & SMS infrastructure for AI agents — send and receive real email and text messages programmatically
A Model Context Protocol (MCP) server for interacting with Microsoft 365 and Office services through the Graph API
MCP Security Weekly
Get CVE alerts and security updates for Signal Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
MCP Server for retrieving Signal messages using signal-export logic.
This MCP server enables AI agents and tools to access Signal Desktop chat messages and attachments via the Model Context Protocol (MCP).
Official Download Page:
https://signal.org/download/
Direct Download Links:
Note: Signal Desktop requires Signal to be installed on your phone for initial setup.
Official Download Page:
https://www.python.org/downloads/
Direct Download for Python 3.13.5:
Python 3.13.5 Release Page
Download the installer for your OS (Windows, macOS, Linux) and follow the setup instructions.
Official Documentation & Source:
https://github.com/astral-sh/uv
UV Documentation
Installation (Windows):
irm https://astral.sh/uv/install.ps1 | iex
Or, using pip (if you already have Python and pip installed):
pip install uv
Installation (macOS/Linux):
curl -LsSf https://astral.sh/uv/install.sh | sh
More Info:
UV Installation Guide
Official Download Page:
https://claude.ai/download
Download the installer for your OS (Windows, macOS) and follow the setup instructions.
Clone the repository:
git clone https://github.com/stefanstranger/signal-mcp-server.git
cd signal-mcp-server
Create a virtual environment:
uv venv .venv --python 3.13
Activate the virtual environment:
.\.venv\Scripts\Activate.ps1
source .venv/bin/activate
Install dependencies:
uv pip install fastmcp signal-export
Usage with Claude Desktop Add the following to your claude_desktop_config.json file:
{
"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"
]
}
}
}
The server automatically detects your Signal data directory based on your operating system:
%APPDATA%\Signal~/Library/Application Support/Signal~/.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)uv run .\server.py