signal-db-cli 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -38
- package/docs/MANUAL.md +1 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,25 +10,25 @@ Read-only access to your local Signal Desktop database — from the terminal or
|
|
|
10
10
|
- **Node.js 24** (see `.nvmrc`)
|
|
11
11
|
- **macOS / Linux / Windows**
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
**1. Install** (needed for the CLI and the `decrypt` command):
|
|
14
16
|
|
|
15
17
|
```bash
|
|
16
18
|
npm install -g signal-db-cli --ignore-scripts=false
|
|
17
19
|
```
|
|
18
20
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
## Getting the Decryption Key
|
|
22
|
-
|
|
23
|
-
Signal Desktop encrypts its database with a key stored in your system keychain / keyring. Extract it and save to `~/.signal-db-cli/.env` with:
|
|
21
|
+
**2. Extract the decryption key** (close Signal Desktop first):
|
|
24
22
|
|
|
25
23
|
```bash
|
|
26
24
|
signal-db-cli decrypt
|
|
27
25
|
```
|
|
28
26
|
|
|
29
|
-
This
|
|
27
|
+
This extracts the key from your system keychain / keyring and saves it to `~/.signal-db-cli/.env`. Works on **macOS** (Keychain), **Linux** (GNOME Keyring / KWallet), and **Windows** (DPAPI).
|
|
28
|
+
|
|
29
|
+
**3. Set up the MCP server** (see below) or use the CLI directly.
|
|
30
30
|
|
|
31
|
-
>
|
|
31
|
+
> The `--ignore-scripts=false` flag is required to compile the native SQLCipher addon.
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
@@ -48,20 +48,12 @@ The MCP server lets AI assistants browse your Signal messages, conversations, an
|
|
|
48
48
|
|
|
49
49
|
### Setup
|
|
50
50
|
|
|
51
|
-
>
|
|
51
|
+
> Run `signal-db-cli decrypt` first (see Quick Start above). The MCP server loads the key automatically from `~/.signal-db-cli/.env`.
|
|
52
52
|
|
|
53
53
|
#### Claude Code
|
|
54
54
|
|
|
55
|
-
Run in your terminal:
|
|
56
|
-
|
|
57
55
|
```bash
|
|
58
|
-
claude mcp add signal-db -- signal-db-mcp
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Or with an explicit key:
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
claude mcp add signal-db -e SIGNAL_DECRYPTION_KEY=<your-hex-key> -- signal-db-mcp
|
|
56
|
+
claude mcp add signal-db -- npx -y --ignore-scripts=false -p signal-db-cli signal-db-mcp
|
|
65
57
|
```
|
|
66
58
|
|
|
67
59
|
#### Claude Desktop
|
|
@@ -78,10 +70,8 @@ Add the `signal-db` server (merge into existing `mcpServers` if needed):
|
|
|
78
70
|
{
|
|
79
71
|
"mcpServers": {
|
|
80
72
|
"signal-db": {
|
|
81
|
-
"command": "
|
|
82
|
-
"
|
|
83
|
-
"SIGNAL_DECRYPTION_KEY": "<your-hex-key>"
|
|
84
|
-
}
|
|
73
|
+
"command": "npx",
|
|
74
|
+
"args": ["-y", "--ignore-scripts=false", "-p", "signal-db-cli", "signal-db-mcp"]
|
|
85
75
|
}
|
|
86
76
|
}
|
|
87
77
|
}
|
|
@@ -91,30 +81,19 @@ Then restart Claude Desktop.
|
|
|
91
81
|
|
|
92
82
|
#### Cursor
|
|
93
83
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
[<img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Install in Cursor" height="32">](https://cursor.com/en/install-mcp?name=signal-db&config=eyJjb21tYW5kIjoic2lnbmFsLWRiLW1jcCJ9)
|
|
84
|
+
[<img src="https://cursor.com/deeplink/mcp-install-dark.svg" alt="Install in Cursor" height="32">](https://cursor.com/en/install-mcp?name=signal-db&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIi0taWdub3JlLXNjcmlwdHM9ZmFsc2UiLCItcCIsInNpZ25hbC1kYi1jbGkiLCJzaWduYWwtZGItbWNwIl19)
|
|
97
85
|
|
|
98
|
-
Or manually —
|
|
86
|
+
Or manually — create/edit `~/.cursor/mcp.json`:
|
|
99
87
|
|
|
100
|
-
```
|
|
101
|
-
# macOS / Linux
|
|
102
|
-
open .cursor/mcp.json # project-level
|
|
103
|
-
open ~/.cursor/mcp.json # global
|
|
104
|
-
|
|
105
|
-
# Or create it
|
|
106
|
-
mkdir -p .cursor && cat > .cursor/mcp.json << 'EOF'
|
|
88
|
+
```json
|
|
107
89
|
{
|
|
108
90
|
"mcpServers": {
|
|
109
91
|
"signal-db": {
|
|
110
|
-
"command": "
|
|
111
|
-
"
|
|
112
|
-
"SIGNAL_DECRYPTION_KEY": "<your-hex-key>"
|
|
113
|
-
}
|
|
92
|
+
"command": "npx",
|
|
93
|
+
"args": ["-y", "--ignore-scripts=false", "-p", "signal-db-cli", "signal-db-mcp"]
|
|
114
94
|
}
|
|
115
95
|
}
|
|
116
96
|
}
|
|
117
|
-
EOF
|
|
118
97
|
```
|
|
119
98
|
|
|
120
99
|
Then restart Cursor or reload the MCP servers (Cmd+Shift+P > "MCP: Reload").
|
package/docs/MANUAL.md
CHANGED
|
@@ -159,7 +159,7 @@ With the `messages` command, you can use `-i` for interactive conversation selec
|
|
|
159
159
|
The tool includes an MCP server (`signal-db-mcp`) for integration with AI tools. Run it as:
|
|
160
160
|
|
|
161
161
|
```bash
|
|
162
|
-
signal-db-mcp
|
|
162
|
+
npx -y --ignore-scripts=false -p signal-db-cli signal-db-mcp
|
|
163
163
|
```
|
|
164
164
|
|
|
165
165
|
Available tools: `get_messages`, `get_conversations`, `get_calls`, `get_message_by_id`, `get_phone`.
|
|
@@ -183,5 +183,3 @@ Run `signal-db-cli decrypt` to extract and save the key automatically. Alternati
|
|
|
183
183
|
### Database is locked
|
|
184
184
|
Close Signal Desktop before using the tool. Signal holds an exclusive lock on the database.
|
|
185
185
|
|
|
186
|
-
### SQLITE_BUSY
|
|
187
|
-
The database is in use by another process. Close Signal Desktop and try again.
|