@jtalk22/slack-mcp 1.2.2 → 1.2.4
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 +68 -7
- package/docs/API.md +11 -4
- package/docs/COMMUNICATION-STYLE.md +15 -7
- package/docs/COMPATIBILITY.md +19 -0
- package/docs/HN-LAUNCH.md +63 -0
- package/docs/INDEX.md +31 -0
- package/docs/RELEASE-HEALTH.md +66 -0
- package/docs/SETUP.md +22 -2
- package/docs/TROUBLESHOOTING.md +32 -3
- package/docs/WEB-API.md +12 -1
- package/docs/release-health/2026-02-25.md +33 -0
- package/docs/release-health/2026-02-26.md +33 -0
- package/docs/release-health/24h-delta.md +21 -0
- package/docs/release-health/24h-end.md +33 -0
- package/docs/release-health/24h-start.md +33 -0
- package/docs/release-health/latest.md +33 -0
- package/lib/handlers.js +113 -85
- package/lib/slack-client.js +20 -16
- package/lib/token-store.js +103 -30
- package/package.json +12 -33
- package/public/demo-claude.html +10 -10
- package/public/demo-video.html +9 -9
- package/public/demo.html +8 -8
- package/scripts/build-release-health-delta.js +201 -0
- package/scripts/check-public-language.sh +25 -0
- package/scripts/collect-release-health.js +150 -0
- package/scripts/setup-wizard.js +161 -39
- package/scripts/token-cli.js +6 -4
- package/scripts/verify-install-flow.js +157 -0
- package/src/cli.js +1 -0
- package/src/server-http.js +1 -1
- package/src/server.js +5 -5
- package/src/web-server.js +6 -6
package/README.md
CHANGED
|
@@ -32,18 +32,19 @@
|
|
|
32
32
|
<a href="https://github.com/jtalk22/slack-mcp-server/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/jtalk22/slack-mcp-server/ci.yml?label=build" alt="Build Status"></a>
|
|
33
33
|
<a href="https://smithery.ai/server/jtalk22/slack-mcp-server"><img src="https://img.shields.io/badge/Smithery-Registry-4A154B" alt="Smithery"></a>
|
|
34
34
|
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
|
|
35
|
-
<a href="https://github.com/sponsors/jtalk22"><img src="https://img.shields.io/badge/Sponsor-♡-ea4aaa?logo=github" alt="Sponsor"></a>
|
|
36
35
|
</p>
|
|
37
36
|
|
|
38
37
|
---
|
|
39
38
|
|
|
39
|
+
> Free local-first path: install with `npx -y @jtalk22/slack-mcp`, run on your own machine, and keep full control of session tokens.
|
|
40
|
+
|
|
40
41
|
### Why This Exists
|
|
41
42
|
|
|
42
43
|
I built this because I was working with someone to help me manage a complex workload, and we kept hitting walls. They needed context from my messages—"what did X say about Y?"—and standard app/OAuth flows were too constrained for that workflow.
|
|
43
44
|
|
|
44
45
|
Screenshotting messages is not a workflow.
|
|
45
46
|
|
|
46
|
-
This server bridges the gap. It creates a secure, local bridge between Claude and your Slack web session. It gives your
|
|
47
|
+
This server bridges the gap. It creates a secure, local bridge between Claude and your Slack web session. It gives your MCP client the same access **you** already have in the browser—search history, summarize threads, and retrieve prior context—without fighting the platform.
|
|
47
48
|
|
|
48
49
|

|
|
49
50
|
|
|
@@ -100,15 +101,34 @@ Instead of authenticating as a bot, this server leverages your existing Chrome s
|
|
|
100
101
|
|
|
101
102
|
**Runtime:** Node.js 20+
|
|
102
103
|
|
|
103
|
-
###
|
|
104
|
+
### 30-Second Compatibility Check
|
|
104
105
|
|
|
105
106
|
```bash
|
|
106
107
|
npx -y @jtalk22/slack-mcp --version
|
|
108
|
+
npx -y @jtalk22/slack-mcp --doctor
|
|
107
109
|
npx -y @jtalk22/slack-mcp --setup
|
|
108
|
-
npx -y @jtalk22/slack-mcp --status
|
|
109
110
|
```
|
|
110
111
|
|
|
111
|
-
|
|
112
|
+
Expected:
|
|
113
|
+
- `--version` prints `slack-mcp-server v1.2.x`
|
|
114
|
+
- `--doctor` returns one clear next action with exit code:
|
|
115
|
+
- `0` ready
|
|
116
|
+
- `1` missing credentials
|
|
117
|
+
- `2` invalid/expired credentials
|
|
118
|
+
- `3` connectivity/runtime issue
|
|
119
|
+
- `--setup` launches the interactive wizard
|
|
120
|
+
|
|
121
|
+
Command reference: [docs/HN-LAUNCH.md](docs/HN-LAUNCH.md)
|
|
122
|
+
|
|
123
|
+
### Known Working Clients
|
|
124
|
+
|
|
125
|
+
- Claude Desktop (macOS/Windows/Linux)
|
|
126
|
+
- Claude Code CLI
|
|
127
|
+
- Local browser mode (`web`)
|
|
128
|
+
- Hosted Node runtime (`http`)
|
|
129
|
+
- Cloudflare Worker / Smithery transport
|
|
130
|
+
|
|
131
|
+
Compatibility matrix: [docs/COMPATIBILITY.md](docs/COMPATIBILITY.md)
|
|
112
132
|
|
|
113
133
|
### Option A: npm (Recommended)
|
|
114
134
|
|
|
@@ -130,6 +150,21 @@ npm install
|
|
|
130
150
|
docker pull ghcr.io/jtalk22/slack-mcp-server:latest
|
|
131
151
|
```
|
|
132
152
|
|
|
153
|
+
### Install Sanity (Clean Temp Directory)
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
tmpdir="$(mktemp -d)"
|
|
157
|
+
cd "$tmpdir"
|
|
158
|
+
npx -y @jtalk22/slack-mcp --version
|
|
159
|
+
npx -y @jtalk22/slack-mcp --help
|
|
160
|
+
npx -y @jtalk22/slack-mcp --status
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Expected:
|
|
164
|
+
- `--version` and `--help` exit `0`
|
|
165
|
+
- `--status` exits non-zero until credentials are configured
|
|
166
|
+
- `--status` is read-only and never attempts Chrome extraction
|
|
167
|
+
|
|
133
168
|
---
|
|
134
169
|
|
|
135
170
|
## Configuration
|
|
@@ -300,7 +335,7 @@ npm run web
|
|
|
300
335
|
|
|
301
336
|
```
|
|
302
337
|
════════════════════════════════════════════════════════════
|
|
303
|
-
Slack Web API Server v1.2.
|
|
338
|
+
Slack Web API Server v1.2.4
|
|
304
339
|
════════════════════════════════════════════════════════════
|
|
305
340
|
|
|
306
341
|
Dashboard: http://localhost:3000/?key=smcp_xxxxxxxxxxxx
|
|
@@ -321,14 +356,36 @@ Just click the link - no copy-paste needed. The key is saved to your browser and
|
|
|
321
356
|
|
|
322
357
|
## Operations Guides
|
|
323
358
|
|
|
359
|
+
- [Docs Index](docs/INDEX.md) - One-click index for setup, API, troubleshooting, deployment, and support docs
|
|
324
360
|
- [Deployment Modes](docs/DEPLOYMENT-MODES.md) - Choose the right operating model (`stdio`, `web`, hosted HTTP, Smithery/Worker)
|
|
325
361
|
- [Use Case Recipes](docs/USE_CASE_RECIPES.md) - 12 copy/paste prompts mapped to current tool contracts
|
|
326
362
|
- [Support Boundaries](docs/SUPPORT-BOUNDARIES.md) - Scope, response targets, and solo-maintainer capacity limits
|
|
363
|
+
- [Release Health](docs/RELEASE-HEALTH.md) - Track setup reliability and support-load targets through this release cycle
|
|
327
364
|
|
|
328
365
|
If you're evaluating team rollout, start with [Deployment Modes](docs/DEPLOYMENT-MODES.md) before exposing remote endpoints.
|
|
329
366
|
|
|
330
367
|
---
|
|
331
368
|
|
|
369
|
+
## Getting Help Fast
|
|
370
|
+
|
|
371
|
+
1. Run:
|
|
372
|
+
```bash
|
|
373
|
+
npx -y @jtalk22/slack-mcp --version
|
|
374
|
+
npx -y @jtalk22/slack-mcp --doctor
|
|
375
|
+
```
|
|
376
|
+
2. If setup fails, run:
|
|
377
|
+
```bash
|
|
378
|
+
npx -y @jtalk22/slack-mcp --setup
|
|
379
|
+
```
|
|
380
|
+
3. Open an issue with full environment details:
|
|
381
|
+
- [Bug Report Template](.github/ISSUE_TEMPLATE/bug_report.md)
|
|
382
|
+
- [Deployment Intake Template](.github/ISSUE_TEMPLATE/deployment-intake.md)
|
|
383
|
+
4. Check scope and response targets:
|
|
384
|
+
- [Support Boundaries](docs/SUPPORT-BOUNDARIES.md)
|
|
385
|
+
- [Troubleshooting Guide](docs/TROUBLESHOOTING.md)
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
332
389
|
## Troubleshooting
|
|
333
390
|
|
|
334
391
|
### Tokens Expired
|
|
@@ -337,6 +394,9 @@ If you're evaluating team rollout, start with [Deployment Modes](docs/DEPLOYMENT
|
|
|
337
394
|
slack_refresh_tokens # In Claude
|
|
338
395
|
# Or: npm run tokens:auto
|
|
339
396
|
|
|
397
|
+
# Package setup wizard
|
|
398
|
+
npx -y @jtalk22/slack-mcp --setup
|
|
399
|
+
|
|
340
400
|
# Linux/Windows: Manual update
|
|
341
401
|
# Edit ~/.slack-mcp-tokens.json with fresh values
|
|
342
402
|
```
|
|
@@ -352,6 +412,7 @@ This caches DM channel IDs for 24 hours.
|
|
|
352
412
|
- Chrome must be **running** (not minimized to Dock)
|
|
353
413
|
- Slack tab must be open at `app.slack.com`
|
|
354
414
|
- You must be logged in
|
|
415
|
+
- In Chrome menu, enable `View > Developer > Allow JavaScript from Apple Events`
|
|
355
416
|
|
|
356
417
|
### Claude Desktop Not Seeing Tools
|
|
357
418
|
1. Verify JSON syntax in config file
|
|
@@ -407,7 +468,7 @@ slack-mcp-server/
|
|
|
407
468
|
|
|
408
469
|
PRs welcome. Run `node --check` on modified files before submitting.
|
|
409
470
|
|
|
410
|
-
If you find this project useful, consider
|
|
471
|
+
If you find this project useful, consider starring the repo.
|
|
411
472
|
|
|
412
473
|
---
|
|
413
474
|
|
package/docs/API.md
CHANGED
|
@@ -11,7 +11,9 @@ Check if Slack tokens are valid.
|
|
|
11
11
|
**Returns:**
|
|
12
12
|
```json
|
|
13
13
|
{
|
|
14
|
-
"status": "
|
|
14
|
+
"status": "ok",
|
|
15
|
+
"code": "ok",
|
|
16
|
+
"message": "Slack auth valid",
|
|
15
17
|
"user": "james",
|
|
16
18
|
"team": "Rêvasser",
|
|
17
19
|
"token_source": "environment",
|
|
@@ -30,12 +32,15 @@ Get detailed token health, age, and cache statistics.
|
|
|
30
32
|
**Returns:**
|
|
31
33
|
```json
|
|
32
34
|
{
|
|
35
|
+
"status": "healthy",
|
|
36
|
+
"code": "ok",
|
|
37
|
+
"message": "Token is healthy",
|
|
38
|
+
"next_action": null,
|
|
33
39
|
"token": {
|
|
34
40
|
"status": "healthy",
|
|
35
41
|
"age_hours": 2.5,
|
|
36
42
|
"source": "file",
|
|
37
|
-
"updated_at": "2026-01-08T12:00:00Z"
|
|
38
|
-
"message": "Token is healthy"
|
|
43
|
+
"updated_at": "2026-01-08T12:00:00Z"
|
|
39
44
|
},
|
|
40
45
|
"auto_refresh": {
|
|
41
46
|
"enabled": true,
|
|
@@ -62,7 +67,9 @@ Force refresh tokens from Chrome.
|
|
|
62
67
|
**Returns:**
|
|
63
68
|
```json
|
|
64
69
|
{
|
|
65
|
-
"status": "
|
|
70
|
+
"status": "ok",
|
|
71
|
+
"code": "refreshed",
|
|
72
|
+
"message": "Tokens refreshed from Chrome.",
|
|
66
73
|
"user": "james",
|
|
67
74
|
"team": "Rêvasser"
|
|
68
75
|
}
|
|
@@ -9,6 +9,7 @@ Use this guide for release notes, issue replies, and changelog entries.
|
|
|
9
9
|
3. Do not include co-author trailers from tooling.
|
|
10
10
|
4. State exact versions and commands when relevant.
|
|
11
11
|
5. Avoid speculative claims.
|
|
12
|
+
6. Release titles use `vX.Y.Z — <concrete operational outcome>`.
|
|
12
13
|
|
|
13
14
|
## Issue Reply Template
|
|
14
15
|
|
|
@@ -18,12 +19,18 @@ Thanks for reporting this.
|
|
|
18
19
|
Status: fixed in `<version>`.
|
|
19
20
|
|
|
20
21
|
Included:
|
|
21
|
-
- `<
|
|
22
|
-
- `<
|
|
22
|
+
- `<fix 1>`
|
|
23
|
+
- `<fix 2>`
|
|
24
|
+
|
|
25
|
+
Verify:
|
|
26
|
+
- `npx -y @jtalk22/slack-mcp --version`
|
|
27
|
+
- `npx -y @jtalk22/slack-mcp --status`
|
|
23
28
|
|
|
24
29
|
Install/update:
|
|
25
30
|
- `npx -y @jtalk22/slack-mcp`
|
|
26
31
|
- `npm i -g @jtalk22/slack-mcp@<version>`
|
|
32
|
+
|
|
33
|
+
If it still reproduces, reply with OS, Node version, runtime mode (`stdio|web|http|worker`), and exact error output.
|
|
27
34
|
```
|
|
28
35
|
|
|
29
36
|
## Release Notes Template
|
|
@@ -31,17 +38,18 @@ Install/update:
|
|
|
31
38
|
````md
|
|
32
39
|
## <version> — <short title>
|
|
33
40
|
|
|
34
|
-
###
|
|
41
|
+
### Improved
|
|
35
42
|
- <item>
|
|
36
43
|
- <item>
|
|
37
44
|
|
|
38
|
-
###
|
|
39
|
-
-
|
|
45
|
+
### Compatibility
|
|
46
|
+
- No API/tool schema changes.
|
|
40
47
|
|
|
41
48
|
### Verify
|
|
42
49
|
```bash
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
npx -y @jtalk22/slack-mcp --version
|
|
51
|
+
npx -y @jtalk22/slack-mcp --setup
|
|
52
|
+
npx -y @jtalk22/slack-mcp --status
|
|
45
53
|
```
|
|
46
54
|
````
|
|
47
55
|
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Compatibility Matrix
|
|
2
|
+
|
|
3
|
+
Use this matrix to choose a known working client/runtime path before rollout.
|
|
4
|
+
|
|
5
|
+
| Client | Mode | Token path | Status | Quick verify command |
|
|
6
|
+
|---|---|---|---|---|
|
|
7
|
+
| Claude Desktop (macOS) | `stdio` | `~/.slack-mcp-tokens.json` via `--setup` auto-extract | Supported | `npx -y @jtalk22/slack-mcp --setup && npx -y @jtalk22/slack-mcp --status` |
|
|
8
|
+
| Claude Desktop (Windows) | `stdio` | `env` (`SLACK_TOKEN`, `SLACK_COOKIE`) in config | Supported | `npx -y @jtalk22/slack-mcp --status` |
|
|
9
|
+
| Claude Desktop (Linux) | `stdio` | `env` or token file via guided setup | Supported | `npx -y @jtalk22/slack-mcp --status` |
|
|
10
|
+
| Claude Code CLI | `stdio` | `~/.slack-mcp-tokens.json` or `env` | Supported | `npx -y @jtalk22/slack-mcp --version && npx -y @jtalk22/slack-mcp --status` |
|
|
11
|
+
| Local Browser UI | `web` | token file or `env` | Supported | `npx -y @jtalk22/slack-mcp web` |
|
|
12
|
+
| Hosted Node Runtime | `http` | `env` in host runtime | Supported with operator controls | `node src/server-http.js` then `curl -s http://localhost:8080/health` |
|
|
13
|
+
| Cloudflare Worker / Smithery transport | `worker` | runtime env/query handoff per deployment config | Supported with deployment validation | `wrangler deploy --config workers/wrangler.toml` and verify `/health` |
|
|
14
|
+
|
|
15
|
+
## Notes
|
|
16
|
+
|
|
17
|
+
1. Runtime baseline is Node 20+.
|
|
18
|
+
2. `--doctor` is the fastest first check when setup status is unknown.
|
|
19
|
+
3. For hosted/team deployment, use [DEPLOYMENT-MODES.md](DEPLOYMENT-MODES.md) before production rollout.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# HN Launch Kit
|
|
2
|
+
|
|
3
|
+
Use this file as copy/paste launch material with minimal edits.
|
|
4
|
+
|
|
5
|
+
## Title Options
|
|
6
|
+
|
|
7
|
+
- `Show HN: Slack MCP Server (session-based Slack access for Claude)`
|
|
8
|
+
- `Show HN: Slack MCP Server (local-first Slack context for Claude)`
|
|
9
|
+
- `Show HN: Slack MCP Server (Slack MCP for local and hosted runtimes)`
|
|
10
|
+
|
|
11
|
+
## Launch Post Template
|
|
12
|
+
|
|
13
|
+
```md
|
|
14
|
+
Built a session-based Slack MCP server so Claude can use the same access already available in your Slack web session.
|
|
15
|
+
|
|
16
|
+
Current scope:
|
|
17
|
+
- DM/channel/thread reads
|
|
18
|
+
- workspace search
|
|
19
|
+
- message sends and user lookups
|
|
20
|
+
- local web mode when MCP is unavailable
|
|
21
|
+
|
|
22
|
+
Verify:
|
|
23
|
+
- `npx -y @jtalk22/slack-mcp --version`
|
|
24
|
+
- `npx -y @jtalk22/slack-mcp --status`
|
|
25
|
+
- `npx -y @jtalk22/slack-mcp --setup`
|
|
26
|
+
|
|
27
|
+
Repo: https://github.com/jtalk22/slack-mcp-server
|
|
28
|
+
npm: https://www.npmjs.com/package/@jtalk22/slack-mcp
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## First Comment Draft
|
|
32
|
+
|
|
33
|
+
```md
|
|
34
|
+
Notes up front:
|
|
35
|
+
- Local-first usage is fully supported.
|
|
36
|
+
- Tokens are Slack session credentials and are stored locally by default.
|
|
37
|
+
- macOS supports automatic Chrome extraction; Linux/Windows use guided manual setup.
|
|
38
|
+
- Current docs include deployment modes, support boundaries, and troubleshooting.
|
|
39
|
+
|
|
40
|
+
If install fails, include OS, Node version, runtime mode (`stdio|web|http|worker`), and exact error output.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## FAQ
|
|
44
|
+
|
|
45
|
+
### Is this using Slack app OAuth scopes?
|
|
46
|
+
No. It uses existing signed-in session permissions.
|
|
47
|
+
|
|
48
|
+
### What about token expiry?
|
|
49
|
+
Session tokens expire. `--setup` refreshes credentials, and macOS supports automatic extraction from Chrome.
|
|
50
|
+
|
|
51
|
+
### Is hosted deployment required?
|
|
52
|
+
No. The default path is local/self-hosted first. Deployment docs describe hosted tradeoffs.
|
|
53
|
+
|
|
54
|
+
### Is this suitable for production teams?
|
|
55
|
+
Treat as operator-managed infrastructure and validate against your own security and compliance requirements.
|
|
56
|
+
|
|
57
|
+
## Install Check Block
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx -y @jtalk22/slack-mcp --version
|
|
61
|
+
npx -y @jtalk22/slack-mcp --status
|
|
62
|
+
npx -y @jtalk22/slack-mcp --setup
|
|
63
|
+
```
|
package/docs/INDEX.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Documentation Index
|
|
2
|
+
|
|
3
|
+
Start here for setup, compatibility checks, operations, and support.
|
|
4
|
+
|
|
5
|
+
## Core
|
|
6
|
+
|
|
7
|
+
- [Setup Guide](SETUP.md)
|
|
8
|
+
- [Compatibility Matrix](COMPATIBILITY.md)
|
|
9
|
+
- [API Reference](API.md)
|
|
10
|
+
- [Web API Reference](WEB-API.md)
|
|
11
|
+
- [Troubleshooting](TROUBLESHOOTING.md)
|
|
12
|
+
|
|
13
|
+
## Operations
|
|
14
|
+
|
|
15
|
+
- [Deployment Modes](DEPLOYMENT-MODES.md)
|
|
16
|
+
- [Use Case Recipes](USE_CASE_RECIPES.md)
|
|
17
|
+
- [Support Boundaries](SUPPORT-BOUNDARIES.md)
|
|
18
|
+
|
|
19
|
+
## Launch and Communication
|
|
20
|
+
|
|
21
|
+
- [HN Launch Kit](HN-LAUNCH.md)
|
|
22
|
+
- [Communication Style](COMMUNICATION-STYLE.md)
|
|
23
|
+
- [Release Health Guide](RELEASE-HEALTH.md)
|
|
24
|
+
- [Latest Release Health Snapshot](release-health/latest.md)
|
|
25
|
+
- [Changelog](../CHANGELOG.md)
|
|
26
|
+
|
|
27
|
+
## Issue Intake
|
|
28
|
+
|
|
29
|
+
- [Bug Report Template](../.github/ISSUE_TEMPLATE/bug_report.md)
|
|
30
|
+
- [Feature Request Template](../.github/ISSUE_TEMPLATE/feature_request.md)
|
|
31
|
+
- [Deployment Intake Template](../.github/ISSUE_TEMPLATE/deployment-intake.md)
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Release Health Tracking
|
|
2
|
+
|
|
3
|
+
Use this to track installation reliability and operational load during the current release cycle.
|
|
4
|
+
|
|
5
|
+
## One-command snapshot
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
node scripts/collect-release-health.js
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Outputs:
|
|
12
|
+
- `docs/release-health/latest.md`
|
|
13
|
+
- `docs/release-health/YYYY-MM-DD.md`
|
|
14
|
+
- `docs/release-health/automation-delta.md` (when delta script is run)
|
|
15
|
+
|
|
16
|
+
24-hour loop artifacts:
|
|
17
|
+
- `docs/release-health/24h-start.md`
|
|
18
|
+
- `docs/release-health/24h-end.md`
|
|
19
|
+
- `docs/release-health/24h-delta.md`
|
|
20
|
+
|
|
21
|
+
## What it captures automatically
|
|
22
|
+
|
|
23
|
+
- npm downloads (last week, last month)
|
|
24
|
+
- npm latest version
|
|
25
|
+
- GitHub stars, forks, open issues
|
|
26
|
+
- GitHub 14-day traffic views/clones (owner token required via `gh auth`)
|
|
27
|
+
- Count of `deployment-intake` issues
|
|
28
|
+
|
|
29
|
+
## 14-day targets
|
|
30
|
+
|
|
31
|
+
- weekly downloads: `>= 180`
|
|
32
|
+
- qualified deployment-intake submissions: `>= 2`
|
|
33
|
+
- support load: `<= 2 hours/week`
|
|
34
|
+
|
|
35
|
+
## Manual fields to track alongside snapshots
|
|
36
|
+
|
|
37
|
+
- Weekly support minutes spent.
|
|
38
|
+
- Deployment-intake quality (clear use case, owner, timeline).
|
|
39
|
+
- Traffic source notes (search, referrals, docs traffic).
|
|
40
|
+
- External \"first run succeeded\" confirmations (issues/discussions).
|
|
41
|
+
|
|
42
|
+
## Recommended cadence
|
|
43
|
+
|
|
44
|
+
- Days 1-7: daily snapshot
|
|
45
|
+
- Days 8-14: every 2-3 days
|
|
46
|
+
|
|
47
|
+
## Automated cadence (low-touch)
|
|
48
|
+
|
|
49
|
+
- Workflow: `.github/workflows/release-health.yml`
|
|
50
|
+
- Triggers:
|
|
51
|
+
- scheduled at `07:15` and `19:15` UTC
|
|
52
|
+
- manual `workflow_dispatch`
|
|
53
|
+
- Outputs per run:
|
|
54
|
+
- workflow summary with current snapshot and baseline delta
|
|
55
|
+
- artifacts: `docs/release-health/latest.md`, `docs/release-health/automation-delta.md`
|
|
56
|
+
|
|
57
|
+
## Local delta command
|
|
58
|
+
|
|
59
|
+
If you want to compare two explicit snapshots locally:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
node scripts/build-release-health-delta.js \
|
|
63
|
+
--before docs/release-health/24h-start.md \
|
|
64
|
+
--after docs/release-health/24h-end.md \
|
|
65
|
+
--out docs/release-health/24h-delta.md
|
|
66
|
+
```
|
package/docs/SETUP.md
CHANGED
|
@@ -23,6 +23,25 @@ cd ~/slack-mcp-server
|
|
|
23
23
|
npm install
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
+
### 2.5 Verify Install Path in a Clean Directory
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
tmpdir="$(mktemp -d)"
|
|
30
|
+
cd "$tmpdir"
|
|
31
|
+
npx -y @jtalk22/slack-mcp --version
|
|
32
|
+
npx -y @jtalk22/slack-mcp --help
|
|
33
|
+
npx -y @jtalk22/slack-mcp --doctor
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Expected:
|
|
37
|
+
- `--version` and `--help` succeed.
|
|
38
|
+
- `--doctor` exits with one clear status:
|
|
39
|
+
- `0` ready
|
|
40
|
+
- `1` missing credentials
|
|
41
|
+
- `2` invalid/expired credentials
|
|
42
|
+
- `3` connectivity/runtime issue
|
|
43
|
+
- `--status` is read-only and never performs Chrome extraction.
|
|
44
|
+
|
|
26
45
|
### 3. Get Slack Tokens
|
|
27
46
|
|
|
28
47
|
**Option A: Setup Wizard (recommended)**
|
|
@@ -120,11 +139,11 @@ You should see your username and team name.
|
|
|
120
139
|
|
|
121
140
|
### "No credentials found"
|
|
122
141
|
|
|
123
|
-
Run `npx -y @jtalk22/slack-mcp --
|
|
142
|
+
Run `npx -y @jtalk22/slack-mcp --doctor` to confirm diagnostic code, then `npx -y @jtalk22/slack-mcp --setup` with Slack open in Chrome.
|
|
124
143
|
|
|
125
144
|
### "invalid_auth" Error
|
|
126
145
|
|
|
127
|
-
Tokens have expired.
|
|
146
|
+
Tokens have expired. Run `npx -y @jtalk22/slack-mcp --doctor` and follow the suggested next action.
|
|
128
147
|
|
|
129
148
|
### MCP Server Not Loading
|
|
130
149
|
|
|
@@ -138,3 +157,4 @@ Make sure:
|
|
|
138
157
|
- Chrome is running (not just in dock)
|
|
139
158
|
- You have a Slack tab open (not the desktop app)
|
|
140
159
|
- You're logged into Slack in that tab
|
|
160
|
+
- In Chrome menu, enable `View > Developer > Allow JavaScript from Apple Events`
|
package/docs/TROUBLESHOOTING.md
CHANGED
|
@@ -4,6 +4,31 @@ Common issues and their solutions.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## Install Flow Sanity Check
|
|
8
|
+
|
|
9
|
+
If first-run setup is failing, validate command resolution in a clean directory:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
tmpdir="$(mktemp -d)"
|
|
13
|
+
cd "$tmpdir"
|
|
14
|
+
npx -y @jtalk22/slack-mcp --version
|
|
15
|
+
npx -y @jtalk22/slack-mcp --help
|
|
16
|
+
npx -y @jtalk22/slack-mcp --doctor
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Expected:
|
|
20
|
+
- `--version` and `--help` exit `0`
|
|
21
|
+
- `--doctor` exits with one of:
|
|
22
|
+
- `0` ready
|
|
23
|
+
- `1` missing credentials
|
|
24
|
+
- `2` invalid/expired credentials
|
|
25
|
+
- `3` connectivity/runtime issue
|
|
26
|
+
- `--status` is read-only and never attempts Chrome extraction.
|
|
27
|
+
|
|
28
|
+
If `--version` fails here, the issue is install/runtime path, not Slack credentials.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
7
32
|
## DMs Not Showing Up
|
|
8
33
|
|
|
9
34
|
**Symptom:** `slack_list_conversations` returns channels but no DMs.
|
|
@@ -57,10 +82,13 @@ slack_refresh_tokens
|
|
|
57
82
|
# Option 2: Package setup wizard
|
|
58
83
|
npx -y @jtalk22/slack-mcp --setup
|
|
59
84
|
|
|
60
|
-
# Option 3:
|
|
85
|
+
# Option 3: Diagnostics check
|
|
86
|
+
npx -y @jtalk22/slack-mcp --doctor
|
|
87
|
+
|
|
88
|
+
# Option 4: Repo CLI
|
|
61
89
|
npm run tokens:auto
|
|
62
90
|
|
|
63
|
-
# Option
|
|
91
|
+
# Option 5: Manual
|
|
64
92
|
npm run tokens:refresh
|
|
65
93
|
```
|
|
66
94
|
|
|
@@ -185,7 +213,8 @@ tail -50 ~/Library/Logs/Claude/mcp-server-slack.log
|
|
|
185
213
|
1. Google Chrome must be running (not just in Dock)
|
|
186
214
|
2. Have a Slack tab open at `app.slack.com` (not desktop app)
|
|
187
215
|
3. Be logged into Slack in that tab
|
|
188
|
-
4.
|
|
216
|
+
4. In Chrome menu, enable `View > Developer > Allow JavaScript from Apple Events`
|
|
217
|
+
5. Grant accessibility permissions to Terminal/Claude
|
|
189
218
|
|
|
190
219
|
**Check permissions:**
|
|
191
220
|
System Preferences → Privacy & Security → Accessibility → Ensure Terminal is enabled
|
package/docs/WEB-API.md
CHANGED
|
@@ -99,7 +99,9 @@ curl -H "Authorization: Bearer $API_KEY" http://localhost:3000/health
|
|
|
99
99
|
**Response:**
|
|
100
100
|
```json
|
|
101
101
|
{
|
|
102
|
-
"status": "
|
|
102
|
+
"status": "ok",
|
|
103
|
+
"code": "ok",
|
|
104
|
+
"message": "Slack auth valid",
|
|
103
105
|
"user": "james",
|
|
104
106
|
"team": "Rêvasser"
|
|
105
107
|
}
|
|
@@ -107,6 +109,15 @@ curl -H "Authorization: Bearer $API_KEY" http://localhost:3000/health
|
|
|
107
109
|
|
|
108
110
|
---
|
|
109
111
|
|
|
112
|
+
### GET /token-status
|
|
113
|
+
Read-only token diagnostics (age/health/cache stats). This endpoint does not trigger Chrome extraction.
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
curl -H "Authorization: Bearer $API_KEY" http://localhost:3000/token-status
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
110
121
|
### POST /refresh
|
|
111
122
|
Force token refresh from Chrome.
|
|
112
123
|
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Release Health Snapshot
|
|
2
|
+
|
|
3
|
+
- Generated: 2026-02-25T06:14:12.948Z
|
|
4
|
+
- Repo: `jtalk22/slack-mcp-server`
|
|
5
|
+
- Package: `@jtalk22/slack-mcp`
|
|
6
|
+
|
|
7
|
+
## Install Signals
|
|
8
|
+
|
|
9
|
+
- npm downloads (last week): 139
|
|
10
|
+
- npm downloads (last month): 632
|
|
11
|
+
- npm latest version: 1.2.3
|
|
12
|
+
|
|
13
|
+
## GitHub Reach
|
|
14
|
+
|
|
15
|
+
- stars: 13
|
|
16
|
+
- forks: 8
|
|
17
|
+
- open issues: 0
|
|
18
|
+
- 14d views: 497
|
|
19
|
+
- 14d unique visitors: 259
|
|
20
|
+
- 14d clones: 118
|
|
21
|
+
- 14d unique cloners: 67
|
|
22
|
+
- deployment-intake submissions (all-time): 1
|
|
23
|
+
|
|
24
|
+
## 14-Day Reliability Targets (v1.2.3 Cycle)
|
|
25
|
+
|
|
26
|
+
- weekly downloads: >= 180
|
|
27
|
+
- qualified deployment-intake submissions: >= 2
|
|
28
|
+
- maintainer support load: <= 2 hours/week
|
|
29
|
+
|
|
30
|
+
## Notes
|
|
31
|
+
|
|
32
|
+
- Update this snapshot daily during the first week, then every 2-3 days.
|
|
33
|
+
- Track deployment-intake quality and support load manually in issue notes.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Release Health Snapshot
|
|
2
|
+
|
|
3
|
+
- Generated: 2026-02-26T09:32:53.328Z
|
|
4
|
+
- Repo: `jtalk22/slack-mcp-server`
|
|
5
|
+
- Package: `@jtalk22/slack-mcp`
|
|
6
|
+
|
|
7
|
+
## Install Signals
|
|
8
|
+
|
|
9
|
+
- npm downloads (last week): 532
|
|
10
|
+
- npm downloads (last month): 1011
|
|
11
|
+
- npm latest version: 1.2.3
|
|
12
|
+
|
|
13
|
+
## GitHub Reach
|
|
14
|
+
|
|
15
|
+
- stars: 13
|
|
16
|
+
- forks: 8
|
|
17
|
+
- open issues: 0
|
|
18
|
+
- 14d views: 498
|
|
19
|
+
- 14d unique visitors: 263
|
|
20
|
+
- 14d clones: 338
|
|
21
|
+
- 14d unique cloners: 113
|
|
22
|
+
- deployment-intake submissions (all-time): 1
|
|
23
|
+
|
|
24
|
+
## 14-Day Reliability Targets (v1.2.3 Cycle)
|
|
25
|
+
|
|
26
|
+
- weekly downloads: >= 180
|
|
27
|
+
- qualified deployment-intake submissions: >= 2
|
|
28
|
+
- maintainer support load: <= 2 hours/week
|
|
29
|
+
|
|
30
|
+
## Notes
|
|
31
|
+
|
|
32
|
+
- Update this snapshot daily during active release windows, then weekly.
|
|
33
|
+
- Track deployment-intake quality and support load manually in issue notes.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# 24-Hour Release Health Delta
|
|
2
|
+
|
|
3
|
+
- Window start snapshot: docs/release-health/24h-start.md
|
|
4
|
+
- Window end snapshot: docs/release-health/24h-end.md
|
|
5
|
+
|
|
6
|
+
| Metric | Start | End | Delta |
|
|
7
|
+
|---|---:|---:|---:|
|
|
8
|
+
| npm downloads (last week) | 532 | 532 | 0 |
|
|
9
|
+
| npm downloads (last month) | 1011 | 1011 | 0 |
|
|
10
|
+
| stars | 13 | 13 | 0 |
|
|
11
|
+
| forks | 8 | 8 | 0 |
|
|
12
|
+
| open issues | 0 | 0 | 0 |
|
|
13
|
+
| 14d views | 498 | 498 | 0 |
|
|
14
|
+
| 14d unique visitors | 263 | 263 | 0 |
|
|
15
|
+
| 14d clones | 338 | 338 | 0 |
|
|
16
|
+
| 14d unique cloners | 113 | 113 | 0 |
|
|
17
|
+
| deployment-intake submissions (all-time) | 1 | 1 | 0 |
|
|
18
|
+
|
|
19
|
+
## Qualitative Signal
|
|
20
|
+
|
|
21
|
+
- External "first run succeeded" confirmations (issues/discussions): track manually in cycle notes.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Release Health Snapshot
|
|
2
|
+
|
|
3
|
+
- Generated: 2026-02-26T09:32:53.328Z
|
|
4
|
+
- Repo: `jtalk22/slack-mcp-server`
|
|
5
|
+
- Package: `@jtalk22/slack-mcp`
|
|
6
|
+
|
|
7
|
+
## Install Signals
|
|
8
|
+
|
|
9
|
+
- npm downloads (last week): 532
|
|
10
|
+
- npm downloads (last month): 1011
|
|
11
|
+
- npm latest version: 1.2.3
|
|
12
|
+
|
|
13
|
+
## GitHub Reach
|
|
14
|
+
|
|
15
|
+
- stars: 13
|
|
16
|
+
- forks: 8
|
|
17
|
+
- open issues: 0
|
|
18
|
+
- 14d views: 498
|
|
19
|
+
- 14d unique visitors: 263
|
|
20
|
+
- 14d clones: 338
|
|
21
|
+
- 14d unique cloners: 113
|
|
22
|
+
- deployment-intake submissions (all-time): 1
|
|
23
|
+
|
|
24
|
+
## 14-Day Reliability Targets (v1.2.3 Cycle)
|
|
25
|
+
|
|
26
|
+
- weekly downloads: >= 180
|
|
27
|
+
- qualified deployment-intake submissions: >= 2
|
|
28
|
+
- maintainer support load: <= 2 hours/week
|
|
29
|
+
|
|
30
|
+
## Notes
|
|
31
|
+
|
|
32
|
+
- Update this snapshot daily during active release windows, then weekly.
|
|
33
|
+
- Track deployment-intake quality and support load manually in issue notes.
|