@jtalk22/slack-mcp 2.0.0 → 3.1.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 +118 -67
- package/docs/CLOUDFLARE-BROWSER-TOOLKIT.md +67 -0
- package/docs/DEPLOYMENT-MODES.md +10 -3
- package/docs/HN-LAUNCH.md +47 -36
- package/docs/INDEX.md +9 -5
- package/docs/INSTALL-PROOF.md +5 -5
- package/docs/LAUNCH-COPY-v3.0.0.md +101 -0
- package/docs/LAUNCH-MATRIX.md +4 -2
- package/docs/LAUNCH-OPS.md +25 -24
- package/docs/RELEASE-HEALTH.md +44 -48
- package/docs/TROUBLESHOOTING.md +27 -0
- package/docs/WEB-API.md +13 -4
- package/docs/images/demo-channel-messages.png +0 -0
- package/docs/images/demo-channels.png +0 -0
- package/docs/images/demo-claude-mobile-360x800.png +0 -0
- package/docs/images/demo-claude-mobile-390x844.png +0 -0
- package/docs/images/demo-claude-mobile-poster.png +0 -0
- package/docs/images/demo-main-mobile-360x800.png +0 -0
- package/docs/images/demo-main-mobile-390x844.png +0 -0
- package/docs/images/demo-main.png +0 -0
- package/docs/images/demo-poster.png +0 -0
- package/docs/images/demo-sidebar.png +0 -0
- package/docs/images/social-preview-v3.png +0 -0
- package/docs/images/web-api-mobile-360x800.png +0 -0
- package/docs/images/web-api-mobile-390x844.png +0 -0
- package/package.json +31 -31
- package/public/demo-claude.html +100 -11
- package/public/demo-video.html +45 -7
- package/public/demo.html +138 -4
- package/public/index.html +132 -69
- package/public/share.html +127 -0
- package/scripts/build-mobile-demo.js +168 -0
- package/scripts/build-release-health-delta.js +2 -2
- package/scripts/build-social-preview.js +189 -0
- package/scripts/capture-screenshots.js +109 -53
- package/scripts/check-owner-attribution.sh +53 -2
- package/scripts/check-public-language.sh +1 -0
- package/scripts/check-version-parity.js +70 -14
- package/scripts/cloudflare-browser-tool.js +237 -0
- package/scripts/collect-release-health.js +14 -2
- package/scripts/impact-push-v3.js +781 -0
- package/scripts/record-demo.js +26 -12
- package/scripts/release-preflight.js +247 -0
- package/scripts/setup-wizard.js +1 -1
- package/scripts/update-github-social-preview.js +208 -0
- package/scripts/verify-install-flow.js +2 -1
- package/scripts/verify-web.js +53 -1
- package/server.json +47 -0
- package/smithery.yaml +34 -0
- package/src/server-http.js +98 -5
- package/src/server.js +18 -6
- package/src/web-server.js +7 -3
- package/docs/LAUNCH-COPY-v2.0.0.md +0 -59
- package/docs/images/demo-claude-v1.2.gif +0 -0
- package/docs/images/demo-readme.gif +0 -0
- package/docs/release-health/2026-02-25.md +0 -33
- package/docs/release-health/2026-02-26.md +0 -33
- package/docs/release-health/24h-delta.md +0 -21
- package/docs/release-health/24h-end.md +0 -33
- package/docs/release-health/24h-start.md +0 -33
- package/docs/release-health/latest.md +0 -33
- package/docs/release-health/launch-log-template.md +0 -21
- package/docs/release-health/version-parity.md +0 -21
- package/docs/videos/.gitkeep +0 -0
- package/docs/videos/demo-claude-v1.2.webm +0 -0
package/docs/LAUNCH-MATRIX.md
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
# Capability Matrix (
|
|
1
|
+
# Capability Matrix (v3.0.0)
|
|
2
2
|
|
|
3
3
|
Comparison matrix for release notes and channel posts. Keep competitor references unnamed.
|
|
4
4
|
|
|
5
|
-
| Capability | This Release (`
|
|
5
|
+
| Capability | This Release (`v3.0.0`) | Typical Session-Based Alternatives |
|
|
6
6
|
|---|---|---|
|
|
7
7
|
| Read-only status checks | Enforced and verified in install flow | Often undocumented or mixed with refresh side effects |
|
|
8
8
|
| Deterministic doctor exits | Enforced (`0/1/2/3`) with install-path coverage | Often ad-hoc or text-only |
|
|
9
9
|
| Structured diagnostics | Shared fields in MCP/web error payloads | Mixed payload shapes |
|
|
10
|
+
| Hosted HTTP auth default | Bearer required on `/mcp` by default | Often permissive by default |
|
|
11
|
+
| Hosted HTTP CORS | Explicit allowlist (`SLACK_MCP_HTTP_ALLOWED_ORIGINS`) | Often wildcard/implicit |
|
|
10
12
|
| Unknown token age handling | Explicit `unknown_age` semantics | Missing timestamp may appear as stale/failing |
|
|
11
13
|
| Tool contract stability | No MCP tool rename/removal | Varies by release |
|
|
12
14
|
| Local-first operator path | First-class (`stdio`, `web`) | Varies by runtime emphasis |
|
package/docs/LAUNCH-OPS.md
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
# Launch Ops Runbook (
|
|
1
|
+
# Launch Ops Runbook (v3.0.0)
|
|
2
2
|
|
|
3
|
-
This runbook defines launch-day monitoring
|
|
3
|
+
This runbook defines launch-day monitoring and distribution for technical/operator channels (no X/Reddit dependency).
|
|
4
4
|
|
|
5
|
-
## Same-Day Fanout Order
|
|
5
|
+
## Same-Day Fanout Order (9 Channels)
|
|
6
6
|
|
|
7
|
-
1. GitHub release
|
|
8
|
-
2. npm
|
|
9
|
-
3. MCP registry
|
|
10
|
-
4. Smithery listing metadata
|
|
11
|
-
5. `awesome-mcp-servers`
|
|
12
|
-
6. Glama
|
|
13
|
-
7. HN
|
|
14
|
-
8.
|
|
15
|
-
9.
|
|
7
|
+
1. GitHub release page refresh (`v3.0.0` copy + install-proof block)
|
|
8
|
+
2. npm parity confirm (`@jtalk22/slack-mcp@3.0.0`)
|
|
9
|
+
3. MCP registry parity confirm (`3.0.0`)
|
|
10
|
+
4. Smithery listing metadata/parity update (or timestamped propagation note)
|
|
11
|
+
5. `awesome-mcp-servers` listing PR refresh
|
|
12
|
+
6. Glama metadata sync and canonical link verification
|
|
13
|
+
7. HN thread update comment (high-signal install proof + support path)
|
|
14
|
+
8. GitHub Discussions announcement/support threads update
|
|
15
|
+
9. GitHub Pages/docs surface publish + link verification
|
|
16
16
|
|
|
17
17
|
## Monitoring Cadence
|
|
18
18
|
|
|
@@ -21,9 +21,10 @@ This runbook defines launch-day monitoring, response rules, and reinforcement lo
|
|
|
21
21
|
|
|
22
22
|
Track:
|
|
23
23
|
- install reports and blocker count
|
|
24
|
-
- npm
|
|
25
|
-
-
|
|
26
|
-
- inbound issue
|
|
24
|
+
- npm/MCP parity state
|
|
25
|
+
- listing propagation status (Smithery/Glama)
|
|
26
|
+
- inbound issue and discussion severity
|
|
27
|
+
- hosted migration questions (`SLACK_MCP_HTTP_AUTH_TOKEN`, CORS allowlist)
|
|
27
28
|
|
|
28
29
|
## Triage Rules
|
|
29
30
|
|
|
@@ -33,38 +34,38 @@ P1 install blocker:
|
|
|
33
34
|
- add fix to patch queue
|
|
34
35
|
|
|
35
36
|
Non-blocking request:
|
|
36
|
-
- acknowledge and route to issue template
|
|
37
|
+
- acknowledge and route to issue/discussion template
|
|
37
38
|
- provide timeline as best effort
|
|
38
39
|
|
|
39
40
|
## Escalation Triggers
|
|
40
41
|
|
|
41
42
|
1. If install failures exceed 3 unique reports in 24h:
|
|
42
|
-
- pause outbound
|
|
43
|
+
- pause outbound promotion
|
|
43
44
|
- prioritize hotfix
|
|
44
45
|
|
|
45
46
|
2. If support load exceeds 2 hours/day for 2 days:
|
|
46
|
-
-
|
|
47
|
+
- switch to stability-only mode
|
|
47
48
|
- defer non-critical requests
|
|
48
49
|
|
|
49
50
|
## 24h / 48h / 72h Follow-Up
|
|
50
51
|
|
|
51
52
|
24h:
|
|
52
|
-
- publish release-health delta and short technical
|
|
53
|
+
- publish release-health delta and short technical summary
|
|
53
54
|
|
|
54
55
|
48h:
|
|
55
|
-
-
|
|
56
|
+
- patch docs for top recurring setup questions
|
|
56
57
|
|
|
57
58
|
72h:
|
|
58
|
-
-
|
|
59
|
+
- ship `v3.0.1` only if launch defects are confirmed
|
|
59
60
|
|
|
60
61
|
## Evidence Log
|
|
61
62
|
|
|
62
63
|
Use:
|
|
63
|
-
- `
|
|
64
|
+
- local `output/release-health/launch-log-template.md` (private by default)
|
|
64
65
|
|
|
65
66
|
Capture:
|
|
66
67
|
- channel
|
|
67
68
|
- UTC timestamp
|
|
68
|
-
- URL
|
|
69
|
+
- URL or command evidence
|
|
69
70
|
- action taken
|
|
70
|
-
- observed result
|
|
71
|
+
- observed result (`success|partial|blocked`)
|
package/docs/RELEASE-HEALTH.md
CHANGED
|
@@ -1,81 +1,77 @@
|
|
|
1
1
|
# Release Health Tracking
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Operator telemetry is private-by-default in this repo.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
By default, release-health scripts write to local gitignored files under:
|
|
6
|
+
|
|
7
|
+
- `output/release-health/`
|
|
8
|
+
|
|
9
|
+
Use public docs output only when explicitly needed.
|
|
10
|
+
|
|
11
|
+
## Snapshot (local default)
|
|
6
12
|
|
|
7
13
|
```bash
|
|
8
14
|
node scripts/collect-release-health.js
|
|
9
15
|
```
|
|
10
16
|
|
|
11
17
|
Outputs:
|
|
18
|
+
|
|
19
|
+
- `output/release-health/latest.md`
|
|
20
|
+
- `output/release-health/YYYY-MM-DD.md`
|
|
21
|
+
|
|
22
|
+
Optional public output:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
node scripts/collect-release-health.js --public
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Outputs:
|
|
29
|
+
|
|
12
30
|
- `docs/release-health/latest.md`
|
|
13
31
|
- `docs/release-health/YYYY-MM-DD.md`
|
|
14
|
-
- `docs/release-health/automation-delta.md` (when delta script is run)
|
|
15
32
|
|
|
16
|
-
## Version
|
|
33
|
+
## Version Parity (local default)
|
|
17
34
|
|
|
18
35
|
```bash
|
|
19
36
|
npm run verify:version-parity
|
|
20
37
|
```
|
|
21
38
|
|
|
22
39
|
Output:
|
|
23
|
-
- `docs/release-health/version-parity.md`
|
|
24
40
|
|
|
25
|
-
|
|
41
|
+
- `output/release-health/version-parity.md`
|
|
42
|
+
|
|
43
|
+
Optional public output:
|
|
26
44
|
|
|
27
45
|
```bash
|
|
28
|
-
|
|
46
|
+
node scripts/check-version-parity.js --public
|
|
29
47
|
```
|
|
30
48
|
|
|
31
|
-
|
|
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
|
|
49
|
+
## Delta Report (local default)
|
|
43
50
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
- qualified deployment-intake submissions: `>= 2`
|
|
48
|
-
- support load: `<= 2 hours/week`
|
|
51
|
+
```bash
|
|
52
|
+
node scripts/build-release-health-delta.js
|
|
53
|
+
```
|
|
49
54
|
|
|
50
|
-
|
|
55
|
+
Defaults:
|
|
51
56
|
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
- Traffic source notes (search, referrals, docs traffic).
|
|
55
|
-
- External \"first run succeeded\" confirmations (issues/discussions).
|
|
57
|
+
- `--after output/release-health/latest.md`
|
|
58
|
+
- `--out output/release-health/automation-delta.md`
|
|
56
59
|
|
|
57
|
-
##
|
|
60
|
+
## Prepublish Dry Run (local default)
|
|
58
61
|
|
|
59
|
-
|
|
60
|
-
|
|
62
|
+
```bash
|
|
63
|
+
npm run verify:release-dry-run
|
|
64
|
+
```
|
|
61
65
|
|
|
62
|
-
|
|
66
|
+
Output:
|
|
63
67
|
|
|
64
|
-
-
|
|
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`
|
|
68
|
+
- `output/release-health/prepublish-dry-run.md`
|
|
71
69
|
|
|
72
|
-
##
|
|
70
|
+
## CI Workflow
|
|
73
71
|
|
|
74
|
-
|
|
72
|
+
Workflow: `.github/workflows/release-health.yml`
|
|
75
73
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
--out docs/release-health/24h-delta.md
|
|
81
|
-
```
|
|
74
|
+
- collects local snapshots in `output/release-health/`
|
|
75
|
+
- publishes workflow summary
|
|
76
|
+
- uploads artifacts for maintainers
|
|
77
|
+
- does not commit telemetry files back to the repo
|
package/docs/TROUBLESHOOTING.md
CHANGED
|
@@ -161,6 +161,33 @@ cat /tmp/slack-web-api.log
|
|
|
161
161
|
cat /tmp/slack-web-api.error.log
|
|
162
162
|
```
|
|
163
163
|
|
|
164
|
+
### Hosted HTTP `/mcp` Returns 503 or 401
|
|
165
|
+
|
|
166
|
+
If you run `node src/server-http.js`, `/mcp` is protected by default.
|
|
167
|
+
|
|
168
|
+
`503 http_auth_token_missing` means you did not set:
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
SLACK_MCP_HTTP_AUTH_TOKEN=change-this
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
`401 unauthorized` means your request is missing or using the wrong bearer token.
|
|
175
|
+
|
|
176
|
+
Example request:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
curl http://localhost:3000/mcp \
|
|
180
|
+
-H "Authorization: Bearer $SLACK_MCP_HTTP_AUTH_TOKEN" \
|
|
181
|
+
-H "Content-Type: application/json" \
|
|
182
|
+
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}'
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
For local-only testing (not remote exposure), you can opt out:
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
SLACK_MCP_HTTP_INSECURE=1 node src/server-http.js
|
|
189
|
+
```
|
|
190
|
+
|
|
164
191
|
---
|
|
165
192
|
|
|
166
193
|
## Claude Desktop Issues
|
package/docs/WEB-API.md
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
# Web API Reference
|
|
2
2
|
|
|
3
|
-
The Slack Web Server exposes all MCP tools as REST endpoints, accessible from any browser or HTTP client.
|
|
3
|
+
The Slack Web Server exposes all MCP tools as REST endpoints, accessible from any browser or HTTP client.
|
|
4
|
+
|
|
5
|
+
Claude web now supports remote MCP connectors on paid plans, so this Web API mode is best used for:
|
|
6
|
+
- local localhost dashboard workflows
|
|
7
|
+
- REST/API integrations
|
|
8
|
+
- fallback operation when you do not want to host a remote MCP endpoint
|
|
9
|
+
|
|
10
|
+
References:
|
|
11
|
+
- https://support.anthropic.com/en/articles/11995447-connectors-in-claude
|
|
12
|
+
- https://support.anthropic.com/en/articles/11175166-about-custom-integrations-using-remote-mcp
|
|
4
13
|
|
|
5
14
|
## Starting the Server
|
|
6
15
|
|
|
@@ -269,9 +278,9 @@ The UI auto-connects with the default API key:
|
|
|
269
278
|
4. Send messages directly from the browser
|
|
270
279
|
|
|
271
280
|
**Using with claude.ai:**
|
|
272
|
-
1.
|
|
273
|
-
2.
|
|
274
|
-
3. Copy-paste message content
|
|
281
|
+
1. Preferred: add a remote MCP connector in Claude settings if you run a remote endpoint.
|
|
282
|
+
2. Fallback: open the web UI alongside claude.ai for local browsing/search.
|
|
283
|
+
3. Copy-paste relevant message content as needed.
|
|
275
284
|
|
|
276
285
|
---
|
|
277
286
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jtalk22/slack-mcp",
|
|
3
3
|
"mcpName": "io.github.jtalk22/slack-mcp-server",
|
|
4
|
-
"version": "
|
|
5
|
-
"description": "Session-based Slack
|
|
4
|
+
"version": "3.1.0",
|
|
5
|
+
"description": "Session-based Slack MCP for Claude and MCP clients: local-first workflows, secure-default HTTP.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "src/server.js",
|
|
8
8
|
"bin": {
|
|
@@ -24,45 +24,40 @@
|
|
|
24
24
|
"tokens:auto": "node scripts/token-cli.js auto",
|
|
25
25
|
"tokens:clear": "node scripts/token-cli.js clear",
|
|
26
26
|
"screenshot": "node scripts/capture-screenshots.js",
|
|
27
|
+
"build:social-preview": "node scripts/build-social-preview.js",
|
|
28
|
+
"build:demo-mobile": "node scripts/build-mobile-demo.js",
|
|
29
|
+
"build:demo-mobile:gif": "node scripts/build-mobile-demo.js --gif",
|
|
27
30
|
"record-demo": "node scripts/record-demo.js",
|
|
31
|
+
"social-preview:update": "node scripts/update-github-social-preview.js --headed",
|
|
32
|
+
"cf:browser": "node scripts/cloudflare-browser-tool.js",
|
|
28
33
|
"metrics:release-health": "node scripts/collect-release-health.js",
|
|
29
34
|
"metrics:release-health:delta": "node scripts/build-release-health-delta.js",
|
|
30
|
-
"
|
|
35
|
+
"impact:push:v3": "node scripts/impact-push-v3.js --dry-run",
|
|
36
|
+
"impact:push:v3:apply": "node scripts/impact-push-v3.js --apply",
|
|
37
|
+
"verify:version-parity": "node scripts/check-version-parity.js",
|
|
38
|
+
"verify:release-dry-run": "node scripts/release-preflight.js"
|
|
31
39
|
},
|
|
32
40
|
"keywords": [
|
|
41
|
+
"claude",
|
|
33
42
|
"mcp",
|
|
34
|
-
"mcp-server",
|
|
35
43
|
"model-context-protocol",
|
|
36
44
|
"slack",
|
|
37
45
|
"slack-api",
|
|
38
|
-
"slack-mcp",
|
|
39
|
-
"slack-integration",
|
|
40
|
-
"claude",
|
|
41
46
|
"claude-desktop",
|
|
42
|
-
"claude-code",
|
|
43
|
-
"cursor",
|
|
44
|
-
"llm",
|
|
45
|
-
"ai",
|
|
46
|
-
"ai-assistant",
|
|
47
|
-
"automation",
|
|
48
|
-
"workflow-automation",
|
|
49
|
-
"developer-tools",
|
|
50
47
|
"cli",
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"message-search",
|
|
54
|
-
"direct-messages",
|
|
55
|
-
"channels",
|
|
56
|
-
"workspace",
|
|
48
|
+
"developer-tools",
|
|
49
|
+
"mcp-server",
|
|
57
50
|
"session-based",
|
|
51
|
+
"claude-code",
|
|
52
|
+
"local-first",
|
|
58
53
|
"session-mirroring",
|
|
59
|
-
"slack-
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
54
|
+
"slack-mcp",
|
|
55
|
+
"secure-by-default",
|
|
56
|
+
"llm",
|
|
57
|
+
"slack-integration",
|
|
58
|
+
"ai-agents",
|
|
59
|
+
"automation",
|
|
60
|
+
"productivity"
|
|
66
61
|
],
|
|
67
62
|
"author": "jtalk22",
|
|
68
63
|
"license": "MIT",
|
|
@@ -70,7 +65,7 @@
|
|
|
70
65
|
"type": "git",
|
|
71
66
|
"url": "git+https://github.com/jtalk22/slack-mcp-server.git"
|
|
72
67
|
},
|
|
73
|
-
"homepage": "https://jtalk22.github.io/slack-mcp-server/
|
|
68
|
+
"homepage": "https://jtalk22.github.io/slack-mcp-server/",
|
|
74
69
|
"bugs": {
|
|
75
70
|
"url": "https://github.com/jtalk22/slack-mcp-server/issues"
|
|
76
71
|
},
|
|
@@ -86,9 +81,14 @@
|
|
|
86
81
|
"lib/",
|
|
87
82
|
"public/",
|
|
88
83
|
"scripts/",
|
|
89
|
-
"docs
|
|
84
|
+
"docs/*.md",
|
|
85
|
+
"docs/assets/",
|
|
86
|
+
"docs/images/*.png",
|
|
87
|
+
"docs/images/*.svg",
|
|
90
88
|
"README.md",
|
|
91
|
-
"LICENSE"
|
|
89
|
+
"LICENSE",
|
|
90
|
+
"server.json",
|
|
91
|
+
"smithery.yaml"
|
|
92
92
|
],
|
|
93
93
|
"devDependencies": {
|
|
94
94
|
"playwright": "^1.57.0"
|