@usewhisper/mcp-server 0.4.0 → 1.0.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 +79 -146
- package/dist/autosubscribe-6EDKPBE2.js +4068 -4068
- package/dist/autosubscribe-GHO6YR5A.js +4068 -4068
- package/dist/autosubscribe-ISDETQIB.js +435 -435
- package/dist/chunk-3WGYBAYR.js +8387 -8387
- package/dist/chunk-52VJYCZ7.js +455 -455
- package/dist/chunk-5KBZQHDL.js +189 -189
- package/dist/chunk-5KIJNY6Z.js +370 -370
- package/dist/chunk-7SN3CKDK.js +1076 -1076
- package/dist/chunk-B3VWOHUA.js +271 -271
- package/dist/chunk-C57DHKTL.js +459 -459
- package/dist/chunk-EI5CE3EY.js +616 -616
- package/dist/chunk-FTWUJBAH.js +386 -386
- package/dist/chunk-H3HSKH2P.js +4841 -4841
- package/dist/chunk-JO3ORBZD.js +616 -616
- package/dist/chunk-L6DXSM2U.js +456 -456
- package/dist/chunk-LMEYV4JD.js +368 -368
- package/dist/chunk-MEFLJ4PV.js +8385 -8385
- package/dist/chunk-OBLI4FE4.js +275 -275
- package/dist/chunk-PPGYJJED.js +271 -271
- package/dist/chunk-QGM4M3NI.js +37 -37
- package/dist/chunk-T7KMSTWP.js +399 -399
- package/dist/chunk-TWEIYHI6.js +399 -399
- package/dist/chunk-UYWE7HSU.js +368 -368
- package/dist/chunk-X2DL2GWT.js +32 -32
- package/dist/chunk-X7HNNNJJ.js +1079 -1079
- package/dist/consolidation-2GCKI4RE.js +220 -220
- package/dist/consolidation-4JOPW6BG.js +220 -220
- package/dist/consolidation-FOVQTWNQ.js +222 -222
- package/dist/consolidation-IFQ52E44.js +209 -209
- package/dist/context-sharing-4ITCNKG4.js +307 -307
- package/dist/context-sharing-6CCFIAKL.js +275 -275
- package/dist/context-sharing-GYKLXHZA.js +307 -307
- package/dist/context-sharing-PH64JTXS.js +308 -308
- package/dist/context-sharing-Y6LTZZOF.js +307 -307
- package/dist/cost-optimization-6OIKRSBV.js +195 -195
- package/dist/cost-optimization-7DVSTL6R.js +307 -307
- package/dist/cost-optimization-BH5NAX33.js +286 -286
- package/dist/cost-optimization-F3L5BS5F.js +303 -303
- package/dist/ingest-2LPTWUUM.js +16 -16
- package/dist/ingest-7T5FAZNC.js +15 -15
- package/dist/ingest-EBNIE7XB.js +15 -15
- package/dist/ingest-FSHT5BCS.js +15 -15
- package/dist/ingest-QE2BTV72.js +14 -14
- package/dist/oracle-3RLQF3DP.js +259 -259
- package/dist/oracle-FKRTQUUG.js +282 -282
- package/dist/oracle-J47QCSEW.js +263 -263
- package/dist/oracle-MDP5MZRC.js +256 -256
- package/dist/search-BLVHWLWC.js +14 -14
- package/dist/search-CZ5NYL5B.js +12 -12
- package/dist/search-EG6TYWWW.js +13 -13
- package/dist/search-I22QQA7T.js +13 -13
- package/dist/search-T7H5G6DW.js +13 -13
- package/dist/server.d.ts +2 -2
- package/dist/server.js +2264 -197
- package/dist/server.js.map +1 -1
- package/package.json +51 -51
package/README.md
CHANGED
|
@@ -1,170 +1,103 @@
|
|
|
1
1
|
# @usewhisper/mcp-server
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Whisper MCP is the universal context bridge for coding agents. It connects Claude/Cursor/VS Code/Windsurf/Cline/Continue to fresh, indexed context with grounded retrieval and memory.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## What's New (Major)
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- Canonical namespaced tool surface (breaking rename)
|
|
8
|
+
- Source multiplexer in `context.add_source` for `github|web|pdf|local|slack`
|
|
9
|
+
- Auto-index by default for created sources
|
|
10
|
+
- Runtime modes: `remote` (default), `local`, `auto`
|
|
11
|
+
- Degraded retrieval behavior: lexical fallback with explicit `degraded_mode`
|
|
12
|
+
- Scoped MCP config generator: `whisper-context-mcp scope ...`
|
|
13
|
+
- Tool migration helper: `whisper-context-mcp --print-tool-map`
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
## Installation
|
|
15
|
+
## Install
|
|
12
16
|
|
|
13
17
|
```bash
|
|
14
|
-
npm
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Setup
|
|
18
|
-
|
|
19
|
-
### 1. Get Your API Key
|
|
20
|
-
|
|
21
|
-
Get your Whisper API key from the [dashboard](https://usewhisper.dev/dashboard).
|
|
22
|
-
|
|
23
|
-
### 2. Configure Claude Desktop
|
|
24
|
-
|
|
25
|
-
Add to your Claude Desktop config file:
|
|
26
|
-
|
|
27
|
-
**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
28
|
-
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
29
|
-
|
|
30
|
-
```json
|
|
31
|
-
{
|
|
32
|
-
"mcpServers": {
|
|
33
|
-
"whisper-context": {
|
|
34
|
-
"command": "whisper-context-mcp",
|
|
35
|
-
"env": {
|
|
36
|
-
"WHISPER_API_KEY": "wctx_...",
|
|
37
|
-
"WHISPER_PROJECT": "my-project"
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Optional environment variables:**
|
|
45
|
-
- `WHISPER_BASE_URL`: Custom API endpoint (defaults to `https://context.usewhisper.dev`)
|
|
46
|
-
|
|
47
|
-
### 3. Restart Claude Desktop
|
|
48
|
-
|
|
49
|
-
After configuration, restart Claude Desktop. The MCP server will appear in the bottom-right corner.
|
|
50
|
-
|
|
51
|
-
## Available Tools
|
|
52
|
-
|
|
53
|
-
Once connected, Claude Desktop gets access to these tools:
|
|
54
|
-
|
|
55
|
-
### query_context
|
|
56
|
-
Search your knowledge base with hybrid vector+keyword search, memory inclusion, and knowledge graph traversal.
|
|
57
|
-
|
|
58
|
-
```
|
|
59
|
-
Query your docs project for "authentication flow"
|
|
18
|
+
npm i -g @usewhisper/mcp-server
|
|
60
19
|
```
|
|
61
20
|
|
|
62
|
-
|
|
63
|
-
|
|
21
|
+
## Required Environment
|
|
22
|
+
|
|
23
|
+
- `WHISPER_API_KEY` (required)
|
|
24
|
+
- `WHISPER_PROJECT` (optional default)
|
|
25
|
+
- `WHISPER_BASE_URL` (optional, defaults to `https://context.usewhisper.dev`)
|
|
26
|
+
- `WHISPER_MCP_MODE` (optional: `remote|local|auto`, default `remote`)
|
|
27
|
+
- `WHISPER_LOCAL_ALLOWLIST` (optional comma-separated roots for local ingest)
|
|
28
|
+
|
|
29
|
+
## Canonical Tools
|
|
30
|
+
|
|
31
|
+
1. `context.list_projects`
|
|
32
|
+
2. `context.list_sources`
|
|
33
|
+
3. `context.add_source`
|
|
34
|
+
4. `context.source_status`
|
|
35
|
+
5. `context.query`
|
|
36
|
+
6. `context.get_relevant`
|
|
37
|
+
7. `context.claim_verify`
|
|
38
|
+
8. `context.evidence_answer`
|
|
39
|
+
9. `context.export_bundle`
|
|
40
|
+
10. `context.import_bundle`
|
|
41
|
+
11. `context.diff`
|
|
42
|
+
12. `context.share`
|
|
43
|
+
13. `memory.add`
|
|
44
|
+
14. `memory.search`
|
|
45
|
+
15. `memory.forget`
|
|
46
|
+
16. `memory.consolidate`
|
|
47
|
+
17. `research.oracle`
|
|
48
|
+
18. `index.workspace_status`
|
|
49
|
+
19. `index.workspace_run`
|
|
50
|
+
20. `index.local_scan_ingest`
|
|
51
|
+
21. `index.autosubscribe_deps`
|
|
52
|
+
22. `code.search_text`
|
|
53
|
+
23. `code.search_semantic`
|
|
54
|
+
|
|
55
|
+
## Source Contract (`context.add_source`)
|
|
56
|
+
|
|
57
|
+
Input:
|
|
58
|
+
- `project?`, `type`, `name?`, `auto_index?` (default `true`), `metadata?`
|
|
59
|
+
- `type=github`: `owner`, `repo`, `branch?`, `paths?`
|
|
60
|
+
- `type=web`: `url`, `crawl_depth?`, `include_paths?`, `exclude_paths?`
|
|
61
|
+
- `type=pdf`: `url?`, `file_path?`
|
|
62
|
+
- `type=local`: `path`, `glob?`, `max_files?`
|
|
63
|
+
- `type=slack`: `workspace_id?`, `channel_ids?`, `since?`
|
|
64
|
+
|
|
65
|
+
Output:
|
|
66
|
+
- `source_id`
|
|
67
|
+
- `status` (`queued|indexing|ready|failed`)
|
|
68
|
+
- `job_id`
|
|
69
|
+
- `index_started`
|
|
70
|
+
- `warnings[]`
|
|
71
|
+
|
|
72
|
+
## Scoped MCP Generator
|
|
64
73
|
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### search_memories
|
|
70
|
-
Recall facts and preferences from previous interactions.
|
|
71
|
-
|
|
72
|
-
```
|
|
73
|
-
What programming languages do I prefer?
|
|
74
|
+
```bash
|
|
75
|
+
whisper-context-mcp scope --project my-project --source github --client claude
|
|
74
76
|
```
|
|
75
77
|
|
|
76
|
-
|
|
77
|
-
List all available context projects.
|
|
78
|
+
Optional write:
|
|
78
79
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
### add_context
|
|
83
|
-
Add text content directly to your knowledge base.
|
|
84
|
-
|
|
85
|
-
```
|
|
86
|
-
Add this API documentation to my docs project
|
|
80
|
+
```bash
|
|
81
|
+
whisper-context-mcp scope --project my-project --source github --client vscode --write "$HOME/.config/Code/User/mcp.json"
|
|
87
82
|
```
|
|
88
83
|
|
|
89
|
-
|
|
90
|
-
Record conversation messages for context tracking.
|
|
91
|
-
|
|
92
|
-
### get_conversation
|
|
93
|
-
Retrieve conversation history for a session.
|
|
94
|
-
|
|
95
|
-
## Usage Examples
|
|
84
|
+
## Breaking Rename Migration
|
|
96
85
|
|
|
97
|
-
|
|
86
|
+
Print full map:
|
|
98
87
|
|
|
88
|
+
```bash
|
|
89
|
+
whisper-context-mcp --print-tool-map
|
|
99
90
|
```
|
|
100
|
-
You: "Query my engineering-docs project for how to deploy to production"
|
|
101
|
-
Claude: [Uses query_context tool to search your docs]
|
|
102
|
-
|
|
103
|
-
You: "Remember that our staging environment is at staging.example.com"
|
|
104
|
-
Claude: [Uses add_memory to store this fact]
|
|
105
|
-
|
|
106
|
-
You: "What projects do I have?"
|
|
107
|
-
Claude: [Uses list_projects to show all your context projects]
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## Features
|
|
111
|
-
|
|
112
|
-
- **Semantic Search**: Vector embeddings + BM25 hybrid search
|
|
113
|
-
- **Conversational Memory**: Persistent memories across sessions
|
|
114
|
-
- **Knowledge Graph**: Graph-based context traversal
|
|
115
|
-
- **Auto-sync Sources**: GitHub, Notion, Confluence, Slack, and 10+ more
|
|
116
|
-
- **Direct Ingestion**: Add content directly from conversations
|
|
117
|
-
- **Session Tracking**: Maintains conversation context
|
|
118
|
-
|
|
119
|
-
## Architecture
|
|
120
|
-
|
|
121
|
-
The MCP server connects to your Whisper Context API:
|
|
122
|
-
- **Whisper Context API** for semantic search, memory, and knowledge graph
|
|
123
|
-
- **Stdio Transport** for Claude Desktop communication
|
|
124
|
-
- **Zero dependencies** on database or infrastructure
|
|
125
|
-
|
|
126
|
-
## Environment Variables
|
|
127
|
-
|
|
128
|
-
| Variable | Required | Description |
|
|
129
|
-
|----------|----------|-------------|
|
|
130
|
-
| `WHISPER_API_KEY` | Yes | Your Whisper API key (get from dashboard) |
|
|
131
|
-
| `WHISPER_PROJECT` | Optional | Default project name/slug for all operations |
|
|
132
|
-
| `WHISPER_BASE_URL` | Optional | Custom API endpoint (defaults to https://context.usewhisper.dev) |
|
|
133
|
-
|
|
134
|
-
## Troubleshooting
|
|
135
|
-
|
|
136
|
-
### Server not appearing in Claude Desktop
|
|
137
|
-
|
|
138
|
-
1. Check the config file path is correct
|
|
139
|
-
2. Verify JSON syntax is valid
|
|
140
|
-
3. Restart Claude Desktop completely
|
|
141
|
-
4. Check Claude Desktop logs: `~/Library/Logs/Claude/` (Mac) or `%APPDATA%\Claude\logs\` (Windows)
|
|
142
|
-
|
|
143
|
-
### Connection errors
|
|
144
|
-
|
|
145
|
-
- Verify your `WHISPER_API_KEY` is valid (starts with `wctx_`)
|
|
146
|
-
- Check that you have network connectivity to the API
|
|
147
|
-
- Ensure your API key has the necessary permissions
|
|
148
|
-
|
|
149
|
-
### "Project not found" errors
|
|
150
|
-
|
|
151
|
-
- Make sure your project name/slug is correct
|
|
152
|
-
- Set `WHISPER_PROJECT` in config for a default project
|
|
153
|
-
- Use `list_projects` tool to see all available projects
|
|
154
|
-
|
|
155
|
-
### No results from queries
|
|
156
91
|
|
|
157
|
-
|
|
158
|
-
- Verify the project name/slug matches exactly
|
|
159
|
-
- Check that sources have been synced successfully in the dashboard
|
|
92
|
+
This release removes legacy un-namespaced tool names.
|
|
160
93
|
|
|
161
|
-
##
|
|
94
|
+
## Security Defaults
|
|
162
95
|
|
|
163
|
-
|
|
164
|
-
-
|
|
165
|
-
-
|
|
166
|
-
-
|
|
96
|
+
Local ingest (`index.local_scan_ingest` and `type=local`) enforces:
|
|
97
|
+
- allowlisted roots
|
|
98
|
+
- secret/sensitive path filters (`.env`, `.pem`, `.key`, `.aws`, `.ssh`, build artifacts)
|
|
99
|
+
- content redaction pass for likely secrets
|
|
167
100
|
|
|
168
101
|
## License
|
|
169
102
|
|
|
170
|
-
MIT
|
|
103
|
+
MIT
|