@jtalk22/slack-mcp 1.2.3 → 2.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 +23 -7
- package/docs/API.md +11 -4
- package/docs/COMMUNICATION-STYLE.md +1 -0
- package/docs/COMPATIBILITY.md +19 -0
- package/docs/HN-LAUNCH.md +32 -32
- package/docs/INDEX.md +10 -1
- package/docs/INSTALL-PROOF.md +18 -0
- package/docs/LAUNCH-COPY-v2.0.0.md +59 -0
- package/docs/LAUNCH-MATRIX.md +20 -0
- package/docs/LAUNCH-OPS.md +70 -0
- package/docs/RELEASE-HEALTH.md +81 -0
- package/docs/SETUP.md +2 -0
- package/docs/TROUBLESHOOTING.md +6 -4
- 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/docs/release-health/launch-log-template.md +21 -0
- package/docs/release-health/version-parity.md +21 -0
- package/lib/handlers.js +121 -85
- package/lib/slack-client.js +37 -17
- package/lib/token-store.js +103 -30
- package/package.json +26 -39
- package/public/demo-claude.html +4 -4
- package/public/demo-video.html +2 -2
- package/public/demo.html +2 -2
- package/scripts/build-release-health-delta.js +201 -0
- package/scripts/check-public-language.sh +25 -0
- package/scripts/check-version-parity.js +162 -0
- package/scripts/collect-release-health.js +150 -0
- package/scripts/setup-wizard.js +35 -9
- package/scripts/token-cli.js +6 -4
- package/scripts/verify-install-flow.js +107 -2
- package/src/server-http.js +26 -4
- package/src/server.js +23 -7
- package/src/web-server.js +61 -23
package/README.md
CHANGED
|
@@ -32,11 +32,14 @@
|
|
|
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
|
+
> **Release:** `v2.0.0` is live with deterministic diagnostics and no MCP tool renames/removals.
|
|
40
|
+
> Release notes: [.github/v2.0.0-release-notes.md](.github/v2.0.0-release-notes.md)
|
|
41
|
+
> Install proof: [docs/INSTALL-PROOF.md](docs/INSTALL-PROOF.md)
|
|
42
|
+
|
|
40
43
|
> Free local-first path: install with `npx -y @jtalk22/slack-mcp`, run on your own machine, and keep full control of session tokens.
|
|
41
44
|
|
|
42
45
|
### Why This Exists
|
|
@@ -45,7 +48,7 @@ I built this because I was working with someone to help me manage a complex work
|
|
|
45
48
|
|
|
46
49
|
Screenshotting messages is not a workflow.
|
|
47
50
|
|
|
48
|
-
This server bridges the gap. It creates a secure, local bridge between Claude and your Slack web session. It gives your
|
|
51
|
+
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.
|
|
49
52
|
|
|
50
53
|

|
|
51
54
|
|
|
@@ -102,7 +105,7 @@ Instead of authenticating as a bot, this server leverages your existing Chrome s
|
|
|
102
105
|
|
|
103
106
|
**Runtime:** Node.js 20+
|
|
104
107
|
|
|
105
|
-
### 30-Second
|
|
108
|
+
### 30-Second Compatibility Check
|
|
106
109
|
|
|
107
110
|
```bash
|
|
108
111
|
npx -y @jtalk22/slack-mcp --version
|
|
@@ -111,7 +114,7 @@ npx -y @jtalk22/slack-mcp --setup
|
|
|
111
114
|
```
|
|
112
115
|
|
|
113
116
|
Expected:
|
|
114
|
-
- `--version` prints `slack-mcp-server
|
|
117
|
+
- `--version` prints `slack-mcp-server v2.0.x`
|
|
115
118
|
- `--doctor` returns one clear next action with exit code:
|
|
116
119
|
- `0` ready
|
|
117
120
|
- `1` missing credentials
|
|
@@ -119,7 +122,17 @@ Expected:
|
|
|
119
122
|
- `3` connectivity/runtime issue
|
|
120
123
|
- `--setup` launches the interactive wizard
|
|
121
124
|
|
|
122
|
-
|
|
125
|
+
Command reference: [docs/HN-LAUNCH.md](docs/HN-LAUNCH.md)
|
|
126
|
+
|
|
127
|
+
### Known Working Clients
|
|
128
|
+
|
|
129
|
+
- Claude Desktop (macOS/Windows/Linux)
|
|
130
|
+
- Claude Code CLI
|
|
131
|
+
- Local browser mode (`web`)
|
|
132
|
+
- Hosted Node runtime (`http`)
|
|
133
|
+
- Cloudflare Worker / Smithery transport
|
|
134
|
+
|
|
135
|
+
Compatibility matrix: [docs/COMPATIBILITY.md](docs/COMPATIBILITY.md)
|
|
123
136
|
|
|
124
137
|
### Option A: npm (Recommended)
|
|
125
138
|
|
|
@@ -154,6 +167,7 @@ npx -y @jtalk22/slack-mcp --status
|
|
|
154
167
|
Expected:
|
|
155
168
|
- `--version` and `--help` exit `0`
|
|
156
169
|
- `--status` exits non-zero until credentials are configured
|
|
170
|
+
- `--status` is read-only and never attempts Chrome extraction
|
|
157
171
|
|
|
158
172
|
---
|
|
159
173
|
|
|
@@ -325,7 +339,7 @@ npm run web
|
|
|
325
339
|
|
|
326
340
|
```
|
|
327
341
|
════════════════════════════════════════════════════════════
|
|
328
|
-
Slack Web API Server
|
|
342
|
+
Slack Web API Server v2.0.0
|
|
329
343
|
════════════════════════════════════════════════════════════
|
|
330
344
|
|
|
331
345
|
Dashboard: http://localhost:3000/?key=smcp_xxxxxxxxxxxx
|
|
@@ -350,6 +364,7 @@ Just click the link - no copy-paste needed. The key is saved to your browser and
|
|
|
350
364
|
- [Deployment Modes](docs/DEPLOYMENT-MODES.md) - Choose the right operating model (`stdio`, `web`, hosted HTTP, Smithery/Worker)
|
|
351
365
|
- [Use Case Recipes](docs/USE_CASE_RECIPES.md) - 12 copy/paste prompts mapped to current tool contracts
|
|
352
366
|
- [Support Boundaries](docs/SUPPORT-BOUNDARIES.md) - Scope, response targets, and solo-maintainer capacity limits
|
|
367
|
+
- [Release Health](docs/RELEASE-HEALTH.md) - Track setup reliability and support-load targets through this release cycle
|
|
353
368
|
|
|
354
369
|
If you're evaluating team rollout, start with [Deployment Modes](docs/DEPLOYMENT-MODES.md) before exposing remote endpoints.
|
|
355
370
|
|
|
@@ -401,6 +416,7 @@ This caches DM channel IDs for 24 hours.
|
|
|
401
416
|
- Chrome must be **running** (not minimized to Dock)
|
|
402
417
|
- Slack tab must be open at `app.slack.com`
|
|
403
418
|
- You must be logged in
|
|
419
|
+
- In Chrome menu, enable `View > Developer > Allow JavaScript from Apple Events`
|
|
404
420
|
|
|
405
421
|
### Claude Desktop Not Seeing Tools
|
|
406
422
|
1. Verify JSON syntax in config file
|
|
@@ -456,7 +472,7 @@ slack-mcp-server/
|
|
|
456
472
|
|
|
457
473
|
PRs welcome. Run `node --check` on modified files before submitting.
|
|
458
474
|
|
|
459
|
-
If you find this project useful, consider
|
|
475
|
+
If you find this project useful, consider starring the repo.
|
|
460
476
|
|
|
461
477
|
---
|
|
462
478
|
|
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
|
|
|
@@ -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.
|
package/docs/HN-LAUNCH.md
CHANGED
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
# HN Launch Kit
|
|
1
|
+
# HN Launch Kit (v2.0.0)
|
|
2
2
|
|
|
3
|
-
Use this file
|
|
3
|
+
Use this file for Show HN posting and first-comment follow-up.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Title Options
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
- `Show HN: Slack MCP Server v2.0.0 (deterministic Slack MCP diagnostics)`
|
|
8
|
+
- `Show HN: Slack MCP Server v2.0.0 (session-based Slack access, stable contracts)`
|
|
9
|
+
- `Show HN: Slack MCP Server v2.0.0 (local-first Slack context for Claude)`
|
|
8
10
|
|
|
9
|
-
Post
|
|
11
|
+
## Launch Post Template
|
|
10
12
|
|
|
11
13
|
```md
|
|
12
|
-
|
|
14
|
+
Released `@jtalk22/slack-mcp@2.0.0` today.
|
|
13
15
|
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
16
|
+
This release focuses on install reliability and deterministic diagnostics:
|
|
17
|
+
- read-only `--status` behavior enforced in install-path verification
|
|
18
|
+
- deterministic `--doctor` exits (`0/1/2/3`)
|
|
19
|
+
- structured MCP/web error payloads for triage consistency
|
|
20
|
+
- token health handles missing timestamp as unknown age, not false critical
|
|
21
|
+
- no MCP tool renames or removals
|
|
19
22
|
|
|
20
|
-
|
|
23
|
+
Verify:
|
|
21
24
|
- `npx -y @jtalk22/slack-mcp --version`
|
|
25
|
+
- `npx -y @jtalk22/slack-mcp --doctor`
|
|
22
26
|
- `npx -y @jtalk22/slack-mcp --status`
|
|
23
|
-
- `npx -y @jtalk22/slack-mcp --setup`
|
|
24
27
|
|
|
25
28
|
Repo: https://github.com/jtalk22/slack-mcp-server
|
|
26
29
|
npm: https://www.npmjs.com/package/@jtalk22/slack-mcp
|
|
@@ -29,33 +32,30 @@ npm: https://www.npmjs.com/package/@jtalk22/slack-mcp
|
|
|
29
32
|
## First Comment Draft
|
|
30
33
|
|
|
31
34
|
```md
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
35
|
+
Quick notes:
|
|
36
|
+
- Default path is local-first (`stdio`) and remains fully supported.
|
|
37
|
+
- `--status` is read-only by design in this release.
|
|
38
|
+
- `--doctor` has deterministic exit codes for automation and triage.
|
|
39
|
+
- If registry pages lag, metadata is propagating; npm and GitHub release are authoritative first.
|
|
37
40
|
|
|
38
|
-
If
|
|
41
|
+
If anything fails, include OS, Node version, runtime mode (`stdio|web|http|worker`), and exact output.
|
|
39
42
|
```
|
|
40
43
|
|
|
41
|
-
##
|
|
44
|
+
## FAQ Macro
|
|
42
45
|
|
|
43
|
-
###
|
|
44
|
-
|
|
46
|
+
### Why session-based instead of OAuth app scopes?
|
|
47
|
+
Session mirroring provides the same access visible in the signed-in Slack web session.
|
|
45
48
|
|
|
46
|
-
###
|
|
47
|
-
|
|
49
|
+
### Is hosted deployment required?
|
|
50
|
+
No. Local operator path is primary. Hosted paths are optional.
|
|
48
51
|
|
|
49
|
-
###
|
|
50
|
-
No.
|
|
51
|
-
|
|
52
|
-
### Is this safe for production teams?
|
|
53
|
-
Treat as operator-managed infrastructure. Validate with your own risk/compliance controls before broader rollout.
|
|
54
|
-
|
|
55
|
-
## Install Proof Block
|
|
52
|
+
### Are tool contracts changed in v2.0.0?
|
|
53
|
+
No. This release keeps existing MCP tool names.
|
|
56
54
|
|
|
55
|
+
### What should I run first?
|
|
56
|
+
Use:
|
|
57
57
|
```bash
|
|
58
58
|
npx -y @jtalk22/slack-mcp --version
|
|
59
|
+
npx -y @jtalk22/slack-mcp --doctor
|
|
59
60
|
npx -y @jtalk22/slack-mcp --status
|
|
60
|
-
npx -y @jtalk22/slack-mcp --setup
|
|
61
61
|
```
|
package/docs/INDEX.md
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
# Documentation Index
|
|
2
2
|
|
|
3
|
-
Start here for setup,
|
|
3
|
+
Start here for setup, compatibility checks, operations, and support.
|
|
4
4
|
|
|
5
5
|
## Core
|
|
6
6
|
|
|
7
7
|
- [Setup Guide](SETUP.md)
|
|
8
|
+
- [Compatibility Matrix](COMPATIBILITY.md)
|
|
8
9
|
- [API Reference](API.md)
|
|
9
10
|
- [Web API Reference](WEB-API.md)
|
|
10
11
|
- [Troubleshooting](TROUBLESHOOTING.md)
|
|
@@ -18,7 +19,15 @@ Start here for setup, validation, operations, and support.
|
|
|
18
19
|
## Launch and Communication
|
|
19
20
|
|
|
20
21
|
- [HN Launch Kit](HN-LAUNCH.md)
|
|
22
|
+
- [Launch Copy (v2.0.0)](LAUNCH-COPY-v2.0.0.md)
|
|
23
|
+
- [Launch Ops Runbook](LAUNCH-OPS.md)
|
|
24
|
+
- [Capability Matrix](LAUNCH-MATRIX.md)
|
|
25
|
+
- [Install Proof Block](INSTALL-PROOF.md)
|
|
21
26
|
- [Communication Style](COMMUNICATION-STYLE.md)
|
|
27
|
+
- [Release Health Guide](RELEASE-HEALTH.md)
|
|
28
|
+
- [Latest Release Health Snapshot](release-health/latest.md)
|
|
29
|
+
- [Version Parity Report](release-health/version-parity.md)
|
|
30
|
+
- [Launch Log Template](release-health/launch-log-template.md)
|
|
22
31
|
- [Changelog](../CHANGELOG.md)
|
|
23
32
|
|
|
24
33
|
## Issue Intake
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Install Proof Block (v2.0.0)
|
|
2
|
+
|
|
3
|
+
Use this command block in release notes, HN/X/Reddit follow-ups, and issue replies.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npx -y @jtalk22/slack-mcp --version
|
|
7
|
+
npx -y @jtalk22/slack-mcp --doctor
|
|
8
|
+
npx -y @jtalk22/slack-mcp --status
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Expected:
|
|
12
|
+
- `--version` prints `slack-mcp-server v2.0.0`
|
|
13
|
+
- `--doctor` exits with:
|
|
14
|
+
- `0` ready
|
|
15
|
+
- `1` missing credentials
|
|
16
|
+
- `2` invalid or expired credentials
|
|
17
|
+
- `3` runtime or connectivity issue
|
|
18
|
+
- `--status` is read-only and does not trigger Chrome extraction.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Launch Copy (v2.0.0)
|
|
2
|
+
|
|
3
|
+
Use this file for channel-specific copy with consistent technical claims.
|
|
4
|
+
|
|
5
|
+
## Short Release Summary (150 words)
|
|
6
|
+
|
|
7
|
+
`@jtalk22/slack-mcp v2.0.0` is out with a focus on deterministic diagnostics and clean operator workflows. This release enforces read-only `--status` behavior in install-path verification, expands `--doctor` coverage to a strict `0/1/2/3` exit matrix, and standardizes structured error envelopes across MCP tool failures and web API validation/runtime paths. Token health handling now reports explicit unknown-age semantics when timestamps are missing, so operators do not get false critical warnings. Metadata is aligned for distribution parity with updated registry-facing server metadata and a new parity checker (`npm run verify:version-parity`) that reports local/npm/registry alignment. MCP tool contracts stay compatible: no renames, no removals. If you use Claude Desktop, Claude Code, or local web mode, this is a drop-in upgrade focused on faster triage and fewer install surprises.
|
|
8
|
+
|
|
9
|
+
## X Thread (7 posts)
|
|
10
|
+
|
|
11
|
+
1. `Slack MCP Server v2.0.0 is live.`
|
|
12
|
+
`Focus: deterministic diagnostics + install reliability.`
|
|
13
|
+
2. `No MCP tool renames/removals in this release.`
|
|
14
|
+
`Compatibility stays stable.`
|
|
15
|
+
3. `Install-path checks now enforce read-only --status behavior.`
|
|
16
|
+
`No token extraction side effects during status checks.`
|
|
17
|
+
4. `--doctor now enforces deterministic exits:`
|
|
18
|
+
`0 ready / 1 missing creds / 2 invalid creds / 3 runtime issue.`
|
|
19
|
+
5. `Token health now reports unknown-age semantics when timestamp is missing.`
|
|
20
|
+
`No false critical warning from missing metadata.`
|
|
21
|
+
6. `Parity checker added: npm/local/registry view in one report.`
|
|
22
|
+
`npm run verify:version-parity`
|
|
23
|
+
7. `Try it:`
|
|
24
|
+
`npx -y @jtalk22/slack-mcp --version`
|
|
25
|
+
`npx -y @jtalk22/slack-mcp --doctor`
|
|
26
|
+
`Repo: https://github.com/jtalk22/slack-mcp-server`
|
|
27
|
+
|
|
28
|
+
## Reddit Post (Technical Variant)
|
|
29
|
+
|
|
30
|
+
Title:
|
|
31
|
+
- `Slack MCP Server v2.0.0: deterministic install diagnostics, stable tool contracts`
|
|
32
|
+
|
|
33
|
+
Body:
|
|
34
|
+
```md
|
|
35
|
+
Released `@jtalk22/slack-mcp@2.0.0` today.
|
|
36
|
+
|
|
37
|
+
Main changes are reliability-focused:
|
|
38
|
+
- install-path verification enforces read-only `--status`
|
|
39
|
+
- `--doctor` exit matrix enforced (`0/1/2/3`)
|
|
40
|
+
- standardized structured error payloads for MCP tool failures and web API errors
|
|
41
|
+
- token health handles missing timestamp as unknown age (no false critical)
|
|
42
|
+
- new version parity report script for npm/local/registry checks
|
|
43
|
+
|
|
44
|
+
No MCP tool renames or removals in this release.
|
|
45
|
+
|
|
46
|
+
Verify:
|
|
47
|
+
`npx -y @jtalk22/slack-mcp --version`
|
|
48
|
+
`npx -y @jtalk22/slack-mcp --doctor`
|
|
49
|
+
`npx -y @jtalk22/slack-mcp --status`
|
|
50
|
+
|
|
51
|
+
Repo: https://github.com/jtalk22/slack-mcp-server
|
|
52
|
+
npm: https://www.npmjs.com/package/@jtalk22/slack-mcp
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Registry Propagation Note
|
|
56
|
+
|
|
57
|
+
If registry versions are still syncing right after publish, use this sentence:
|
|
58
|
+
|
|
59
|
+
`Release is published; registry metadata is propagating. Timestamp: <UTC timestamp>.`
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Capability Matrix (v2.0.0)
|
|
2
|
+
|
|
3
|
+
Comparison matrix for release notes and channel posts. Keep competitor references unnamed.
|
|
4
|
+
|
|
5
|
+
| Capability | This Release (`v2.0.0`) | Typical Session-Based Alternatives |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| Read-only status checks | Enforced and verified in install flow | Often undocumented or mixed with refresh side effects |
|
|
8
|
+
| Deterministic doctor exits | Enforced (`0/1/2/3`) with install-path coverage | Often ad-hoc or text-only |
|
|
9
|
+
| Structured diagnostics | Shared fields in MCP/web error payloads | Mixed payload shapes |
|
|
10
|
+
| Unknown token age handling | Explicit `unknown_age` semantics | Missing timestamp may appear as stale/failing |
|
|
11
|
+
| Tool contract stability | No MCP tool rename/removal | Varies by release |
|
|
12
|
+
| Local-first operator path | First-class (`stdio`, `web`) | Varies by runtime emphasis |
|
|
13
|
+
| Version parity check | Scripted local/npm/registry report | Often manual |
|
|
14
|
+
| Smithery/registry alignment | Metadata prepared in release wave | Often delayed post-release |
|
|
15
|
+
|
|
16
|
+
## Usage Guidance
|
|
17
|
+
|
|
18
|
+
1. Use this table in release notes and social threads.
|
|
19
|
+
2. Do not name external projects.
|
|
20
|
+
3. Keep claims tied to verifiable commands and docs.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Launch Ops Runbook (v2.0.0)
|
|
2
|
+
|
|
3
|
+
This runbook defines launch-day monitoring, response rules, and reinforcement loops.
|
|
4
|
+
|
|
5
|
+
## Same-Day Fanout Order
|
|
6
|
+
|
|
7
|
+
1. GitHub release publish (`v2.0.0`)
|
|
8
|
+
2. npm publish confirm (`@jtalk22/slack-mcp@2.0.0`)
|
|
9
|
+
3. MCP registry metadata update
|
|
10
|
+
4. Smithery listing metadata parity update
|
|
11
|
+
5. `awesome-mcp-servers` version update PR
|
|
12
|
+
6. Glama listing refresh/update
|
|
13
|
+
7. HN post + first comment
|
|
14
|
+
8. X thread
|
|
15
|
+
9. Reddit technical post
|
|
16
|
+
|
|
17
|
+
## Monitoring Cadence
|
|
18
|
+
|
|
19
|
+
- First 4 hours: every 30 minutes
|
|
20
|
+
- Up to 24 hours: every 60 minutes
|
|
21
|
+
|
|
22
|
+
Track:
|
|
23
|
+
- install reports and blocker count
|
|
24
|
+
- npm version/install confirmation
|
|
25
|
+
- registry parity status
|
|
26
|
+
- inbound issue volume and severity
|
|
27
|
+
|
|
28
|
+
## Triage Rules
|
|
29
|
+
|
|
30
|
+
P1 install blocker:
|
|
31
|
+
- acknowledge within 30-60 minutes
|
|
32
|
+
- provide immediate workaround
|
|
33
|
+
- add fix to patch queue
|
|
34
|
+
|
|
35
|
+
Non-blocking request:
|
|
36
|
+
- acknowledge and route to issue template
|
|
37
|
+
- provide timeline as best effort
|
|
38
|
+
|
|
39
|
+
## Escalation Triggers
|
|
40
|
+
|
|
41
|
+
1. If install failures exceed 3 unique reports in 24h:
|
|
42
|
+
- pause outbound posting
|
|
43
|
+
- prioritize hotfix
|
|
44
|
+
|
|
45
|
+
2. If support load exceeds 2 hours/day for 2 days:
|
|
46
|
+
- move to stability-only mode
|
|
47
|
+
- defer non-critical requests
|
|
48
|
+
|
|
49
|
+
## 24h / 48h / 72h Follow-Up
|
|
50
|
+
|
|
51
|
+
24h:
|
|
52
|
+
- publish release-health delta and short technical update
|
|
53
|
+
|
|
54
|
+
48h:
|
|
55
|
+
- answer top 5 recurring questions in docs
|
|
56
|
+
|
|
57
|
+
72h:
|
|
58
|
+
- publish `v2.0.1` only if launch defects are confirmed
|
|
59
|
+
|
|
60
|
+
## Evidence Log
|
|
61
|
+
|
|
62
|
+
Use:
|
|
63
|
+
- `docs/release-health/launch-log-template.md`
|
|
64
|
+
|
|
65
|
+
Capture:
|
|
66
|
+
- channel
|
|
67
|
+
- UTC timestamp
|
|
68
|
+
- URL
|
|
69
|
+
- action taken
|
|
70
|
+
- observed result
|
|
@@ -0,0 +1,81 @@
|
|
|
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
|
+
## Version parity report
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm run verify:version-parity
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Output:
|
|
23
|
+
- `docs/release-health/version-parity.md`
|
|
24
|
+
|
|
25
|
+
If external registries are still propagating immediately after publish:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npm run verify:version-parity -- --allow-propagation
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
24-hour loop artifacts:
|
|
32
|
+
- `docs/release-health/24h-start.md`
|
|
33
|
+
- `docs/release-health/24h-end.md`
|
|
34
|
+
- `docs/release-health/24h-delta.md`
|
|
35
|
+
|
|
36
|
+
## What it captures automatically
|
|
37
|
+
|
|
38
|
+
- npm downloads (last week, last month)
|
|
39
|
+
- npm latest version
|
|
40
|
+
- GitHub stars, forks, open issues
|
|
41
|
+
- GitHub 14-day traffic views/clones (owner token required via `gh auth`)
|
|
42
|
+
- Count of `deployment-intake` issues
|
|
43
|
+
|
|
44
|
+
## 14-day targets
|
|
45
|
+
|
|
46
|
+
- weekly downloads: `>= 180`
|
|
47
|
+
- qualified deployment-intake submissions: `>= 2`
|
|
48
|
+
- support load: `<= 2 hours/week`
|
|
49
|
+
|
|
50
|
+
## Manual fields to track alongside snapshots
|
|
51
|
+
|
|
52
|
+
- Weekly support minutes spent.
|
|
53
|
+
- Deployment-intake quality (clear use case, owner, timeline).
|
|
54
|
+
- Traffic source notes (search, referrals, docs traffic).
|
|
55
|
+
- External \"first run succeeded\" confirmations (issues/discussions).
|
|
56
|
+
|
|
57
|
+
## Recommended cadence
|
|
58
|
+
|
|
59
|
+
- Days 1-7: daily snapshot
|
|
60
|
+
- Days 8-14: every 2-3 days
|
|
61
|
+
|
|
62
|
+
## Automated cadence (low-touch)
|
|
63
|
+
|
|
64
|
+
- Workflow: `.github/workflows/release-health.yml`
|
|
65
|
+
- Triggers:
|
|
66
|
+
- scheduled at `07:15` and `19:15` UTC
|
|
67
|
+
- manual `workflow_dispatch`
|
|
68
|
+
- Outputs per run:
|
|
69
|
+
- workflow summary with current snapshot and baseline delta
|
|
70
|
+
- artifacts: `docs/release-health/latest.md`, `docs/release-health/automation-delta.md`
|
|
71
|
+
|
|
72
|
+
## Local delta command
|
|
73
|
+
|
|
74
|
+
If you want to compare two explicit snapshots locally:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
node scripts/build-release-health-delta.js \
|
|
78
|
+
--before docs/release-health/24h-start.md \
|
|
79
|
+
--after docs/release-health/24h-end.md \
|
|
80
|
+
--out docs/release-health/24h-delta.md
|
|
81
|
+
```
|
package/docs/SETUP.md
CHANGED
|
@@ -40,6 +40,7 @@ Expected:
|
|
|
40
40
|
- `1` missing credentials
|
|
41
41
|
- `2` invalid/expired credentials
|
|
42
42
|
- `3` connectivity/runtime issue
|
|
43
|
+
- `--status` is read-only and never performs Chrome extraction.
|
|
43
44
|
|
|
44
45
|
### 3. Get Slack Tokens
|
|
45
46
|
|
|
@@ -156,3 +157,4 @@ Make sure:
|
|
|
156
157
|
- Chrome is running (not just in dock)
|
|
157
158
|
- You have a Slack tab open (not the desktop app)
|
|
158
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
|
@@ -23,6 +23,7 @@ Expected:
|
|
|
23
23
|
- `1` missing credentials
|
|
24
24
|
- `2` invalid/expired credentials
|
|
25
25
|
- `3` connectivity/runtime issue
|
|
26
|
+
- `--status` is read-only and never attempts Chrome extraction.
|
|
26
27
|
|
|
27
28
|
If `--version` fails here, the issue is install/runtime path, not Slack credentials.
|
|
28
29
|
|
|
@@ -81,13 +82,13 @@ slack_refresh_tokens
|
|
|
81
82
|
# Option 2: Package setup wizard
|
|
82
83
|
npx -y @jtalk22/slack-mcp --setup
|
|
83
84
|
|
|
84
|
-
# Option 3:
|
|
85
|
+
# Option 3: Diagnostics check
|
|
85
86
|
npx -y @jtalk22/slack-mcp --doctor
|
|
86
87
|
|
|
87
|
-
# Option
|
|
88
|
+
# Option 4: Repo CLI
|
|
88
89
|
npm run tokens:auto
|
|
89
90
|
|
|
90
|
-
# Option
|
|
91
|
+
# Option 5: Manual
|
|
91
92
|
npm run tokens:refresh
|
|
92
93
|
```
|
|
93
94
|
|
|
@@ -212,7 +213,8 @@ tail -50 ~/Library/Logs/Claude/mcp-server-slack.log
|
|
|
212
213
|
1. Google Chrome must be running (not just in Dock)
|
|
213
214
|
2. Have a Slack tab open at `app.slack.com` (not desktop app)
|
|
214
215
|
3. Be logged into Slack in that tab
|
|
215
|
-
4.
|
|
216
|
+
4. In Chrome menu, enable `View > Developer > Allow JavaScript from Apple Events`
|
|
217
|
+
5. Grant accessibility permissions to Terminal/Claude
|
|
216
218
|
|
|
217
219
|
**Check permissions:**
|
|
218
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.
|