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 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
- ## Installation
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
- The `--ignore-scripts=false` flag is required to compile the native SQLCipher addon.
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 works on **macOS** (Keychain), **Linux** (GNOME Keyring / KWallet), and **Windows** (DPAPI). The key is saved automatically — no manual steps needed.
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
- > **Note:** Close Signal Desktop before use Signal holds an exclusive lock on the database.
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
- > If you have the key in `~/.signal-db-cli/.env`, you can omit `SIGNAL_DECRYPTION_KEY` from the configs below the server loads it automatically.
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": "signal-db-mcp",
82
- "env": {
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
- One-click install:
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 — open the config file:
86
+ Or manually — create/edit `~/.cursor/mcp.json`:
99
87
 
100
- ```bash
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": "signal-db-mcp",
111
- "env": {
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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "signal-db-cli",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "description": "CLI for browsing a local encrypted Signal Desktop database",
6
6
  "bin": {