@jtalk22/slack-mcp 3.1.0 → 3.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 +45 -13
- package/docs/SETUP.md +64 -29
- package/docs/TROUBLESHOOTING.md +28 -0
- package/lib/handlers.js +156 -0
- package/lib/slack-client.js +11 -3
- package/lib/token-store.js +6 -5
- package/lib/tools.js +131 -0
- package/package.json +15 -8
- package/public/index.html +10 -6
- package/public/share.html +6 -5
- package/scripts/setup-wizard.js +1 -1
- package/server.json +8 -2
- package/src/server-http.js +16 -1
- package/src/server.js +31 -7
- package/src/web-server.js +117 -4
- package/docs/CLOUDFLARE-BROWSER-TOOLKIT.md +0 -67
- package/docs/COMMUNICATION-STYLE.md +0 -66
- package/docs/COMPATIBILITY.md +0 -19
- package/docs/DEPLOYMENT-MODES.md +0 -55
- package/docs/HN-LAUNCH.md +0 -72
- package/docs/INDEX.md +0 -41
- package/docs/INSTALL-PROOF.md +0 -18
- package/docs/LAUNCH-COPY-v3.0.0.md +0 -101
- package/docs/LAUNCH-MATRIX.md +0 -22
- package/docs/LAUNCH-OPS.md +0 -71
- package/docs/RELEASE-HEALTH.md +0 -77
- package/docs/SUPPORT-BOUNDARIES.md +0 -49
- package/docs/USE_CASE_RECIPES.md +0 -69
- package/docs/WEB-API.md +0 -303
- 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-messages.png +0 -0
- package/docs/images/demo-poster.png +0 -0
- package/docs/images/demo-sidebar.png +0 -0
- package/docs/images/diagram-oauth-comparison.svg +0 -80
- package/docs/images/diagram-session-flow.svg +0 -105
- 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/public/demo-claude.html +0 -1974
- package/public/demo-video.html +0 -244
- package/public/demo.html +0 -1196
- package/scripts/build-mobile-demo.js +0 -168
- package/scripts/build-release-health-delta.js +0 -201
- package/scripts/build-social-preview.js +0 -189
- package/scripts/capture-screenshots.js +0 -152
- package/scripts/check-owner-attribution.sh +0 -131
- package/scripts/check-public-language.sh +0 -26
- package/scripts/check-version-parity.js +0 -218
- package/scripts/cloudflare-browser-tool.js +0 -237
- package/scripts/collect-release-health.js +0 -162
- package/scripts/impact-push-v3.js +0 -781
- package/scripts/record-demo.js +0 -163
- package/scripts/release-preflight.js +0 -247
- package/scripts/setup-git-hooks.sh +0 -15
- package/scripts/update-github-social-preview.js +0 -208
- package/scripts/verify-core.js +0 -159
- package/scripts/verify-install-flow.js +0 -193
- package/scripts/verify-web.js +0 -273
package/docs/DEPLOYMENT-MODES.md
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# Deployment Modes
|
|
2
|
-
|
|
3
|
-
Use this guide to choose the right operating mode before rollout.
|
|
4
|
-
|
|
5
|
-
## Quick Chooser
|
|
6
|
-
|
|
7
|
-
- Choose `stdio` for personal use in Claude Desktop/Claude Code.
|
|
8
|
-
- Choose local `web` for browser workflows and manual Slack browsing.
|
|
9
|
-
- Choose hosted HTTP only when you need remote execution and can handle token operations.
|
|
10
|
-
- Choose Smithery/Worker only when your consumers require registry-hosted MCP transport.
|
|
11
|
-
|
|
12
|
-
## Mode Matrix
|
|
13
|
-
|
|
14
|
-
| Mode | Start Command | Best For | Auth Material | Exposure | Notes |
|
|
15
|
-
|------|---------------|----------|---------------|----------|-------|
|
|
16
|
-
| Local MCP (`stdio`) | `npx -y @jtalk22/slack-mcp` | Individual daily usage in Claude | `SLACK_TOKEN` + `SLACK_COOKIE` via token file/env | Local process | Lowest ops burden |
|
|
17
|
-
| Local Web UI (`web`) | `npx -y @jtalk22/slack-mcp web` | Browser-first usage, manual search/send | Same as above + generated API key | `localhost` by default | Useful when MCP is not available |
|
|
18
|
-
| Hosted MCP (`http`) | `node src/server-http.js` | Controlled hosted integration | Env-injected Slack token/cookie + HTTP bearer token | Remote endpoint | `/mcp` is bearer-protected by default; configure CORS allowlist |
|
|
19
|
-
| Smithery/Worker | `wrangler deploy` + Smithery publish flow | Registry distribution for hosted consumers | Query/env token handoff | Remote endpoint | Keep worker version parity with npm release |
|
|
20
|
-
|
|
21
|
-
## Team Deployment Guidance
|
|
22
|
-
|
|
23
|
-
If you are deploying for more than one operator:
|
|
24
|
-
|
|
25
|
-
1. Start with one maintainer on local `stdio`.
|
|
26
|
-
2. Document token lifecycle and rotation ownership.
|
|
27
|
-
3. Define support window and incident contact before enabling hosted mode.
|
|
28
|
-
4. Validate `/health` and MCP initialize responses on every release.
|
|
29
|
-
|
|
30
|
-
## Release Checklist by Mode
|
|
31
|
-
|
|
32
|
-
### Local `stdio`
|
|
33
|
-
|
|
34
|
-
1. `npx -y @jtalk22/slack-mcp --status`
|
|
35
|
-
2. `npx -y @jtalk22/slack-mcp --help`
|
|
36
|
-
3. Confirm tool list in Claude client.
|
|
37
|
-
|
|
38
|
-
### Local `web`
|
|
39
|
-
|
|
40
|
-
1. `npx -y @jtalk22/slack-mcp web`
|
|
41
|
-
2. Verify API key generation at `~/.slack-mcp-api-key`.
|
|
42
|
-
3. Verify `/health`, `/conversations`, and `/search` endpoints.
|
|
43
|
-
|
|
44
|
-
### Hosted (`http` or Worker)
|
|
45
|
-
|
|
46
|
-
1. Verify `version` parity across `package.json`, server metadata, and health responses.
|
|
47
|
-
2. Verify HTTP auth behavior:
|
|
48
|
-
- missing `SLACK_MCP_HTTP_AUTH_TOKEN` returns `503`
|
|
49
|
-
- bad bearer token returns `401`
|
|
50
|
-
- valid bearer token succeeds
|
|
51
|
-
3. Verify CORS behavior:
|
|
52
|
-
- denied by default
|
|
53
|
-
- allowed origins work when listed in `SLACK_MCP_HTTP_ALLOWED_ORIGINS`
|
|
54
|
-
4. Confirm `slack_get_thread`, `slack_search_messages`, and `slack_users_info` behavior.
|
|
55
|
-
5. Confirm token handling mode (ephemeral vs env persistence) is documented.
|
package/docs/HN-LAUNCH.md
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# HN Launch Kit (v3.0.0)
|
|
2
|
-
|
|
3
|
-
Use this for Show HN and follow-up comments.
|
|
4
|
-
|
|
5
|
-
## Title Options
|
|
6
|
-
|
|
7
|
-
- `Show HN: Slack MCP Server v3.0.0 (secure-default hosted mode, local-first unchanged)`
|
|
8
|
-
- `Show HN: Slack MCP Server v3.0.0 (session-based Slack access for MCP clients)`
|
|
9
|
-
- `Show HN: Slack MCP Server v3.0.0 (hosted HTTP now auth-by-default)`
|
|
10
|
-
|
|
11
|
-
## Main Post Draft
|
|
12
|
-
|
|
13
|
-
```md
|
|
14
|
-
Released `@jtalk22/slack-mcp@3.0.0`.
|
|
15
|
-
|
|
16
|
-
This release keeps local session-mirroring intact (`stdio`, `web`) and hardens hosted HTTP defaults:
|
|
17
|
-
- `/mcp` requires bearer auth by default
|
|
18
|
-
- CORS requires explicit origin allowlisting
|
|
19
|
-
- no MCP tool renames/removals
|
|
20
|
-
- `--doctor` stays deterministic (`0/1/2/3`)
|
|
21
|
-
- `--status` stays read-only
|
|
22
|
-
|
|
23
|
-
Verify in 30 seconds:
|
|
24
|
-
- `npx -y @jtalk22/slack-mcp@latest --version`
|
|
25
|
-
- `npx -y @jtalk22/slack-mcp@latest --doctor`
|
|
26
|
-
- `npx -y @jtalk22/slack-mcp@latest --status`
|
|
27
|
-
|
|
28
|
-
Repo: https://github.com/jtalk22/slack-mcp-server
|
|
29
|
-
npm: https://www.npmjs.com/package/@jtalk22/slack-mcp
|
|
30
|
-
Release notes: https://github.com/jtalk22/slack-mcp-server/blob/main/.github/v3.0.0-release-notes.md
|
|
31
|
-
Maintainer/operator: `jtalk22` (`james@revasser.nyc`)
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## First Comment Draft
|
|
35
|
-
|
|
36
|
-
```md
|
|
37
|
-
Additional operator notes:
|
|
38
|
-
- Local users (`stdio`, `web`) do not need migration.
|
|
39
|
-
- Hosted users need `SLACK_MCP_HTTP_AUTH_TOKEN` and `SLACK_MCP_HTTP_ALLOWED_ORIGINS` configured.
|
|
40
|
-
- Emergency local fallback is available via `SLACK_MCP_HTTP_INSECURE=1`.
|
|
41
|
-
|
|
42
|
-
If something fails, include:
|
|
43
|
-
- OS + Node version
|
|
44
|
-
- runtime mode (`stdio|web|http|worker`)
|
|
45
|
-
- exact command + output
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
## Reply Macros
|
|
49
|
-
|
|
50
|
-
### Why not Slack OAuth?
|
|
51
|
-
|
|
52
|
-
Session mirroring uses the access already present in the signed-in Slack web session, which is useful for operator workflows where a bot scope model is too limiting.
|
|
53
|
-
|
|
54
|
-
### Is hosted required?
|
|
55
|
-
|
|
56
|
-
No. Local-first use is still the default and fully supported.
|
|
57
|
-
|
|
58
|
-
### Did the tool API change?
|
|
59
|
-
|
|
60
|
-
No MCP tool names were removed or renamed in `v3.0.0`.
|
|
61
|
-
|
|
62
|
-
### Why a major version?
|
|
63
|
-
|
|
64
|
-
Hosted HTTP defaults changed to auth-by-default behavior, which can change existing hosted deployments.
|
|
65
|
-
|
|
66
|
-
### What should users run first?
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
npx -y @jtalk22/slack-mcp@latest --version
|
|
70
|
-
npx -y @jtalk22/slack-mcp@latest --doctor
|
|
71
|
-
npx -y @jtalk22/slack-mcp@latest --status
|
|
72
|
-
```
|
package/docs/INDEX.md
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
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
|
-
- [Cloudflare Browser Toolkit](CLOUDFLARE-BROWSER-TOOLKIT.md)
|
|
17
|
-
- [Use Case Recipes](USE_CASE_RECIPES.md)
|
|
18
|
-
- [Support Boundaries](SUPPORT-BOUNDARIES.md)
|
|
19
|
-
|
|
20
|
-
## Launch and Communication
|
|
21
|
-
|
|
22
|
-
- [HN Launch Kit](HN-LAUNCH.md)
|
|
23
|
-
- [Launch Copy (v3.0.0)](LAUNCH-COPY-v3.0.0.md)
|
|
24
|
-
- [Launch Ops Runbook](LAUNCH-OPS.md)
|
|
25
|
-
- [Capability Matrix](LAUNCH-MATRIX.md)
|
|
26
|
-
- [Install Proof Block](INSTALL-PROOF.md)
|
|
27
|
-
- [Release Notes (v3.0.0)](../.github/v3.0.0-release-notes.md)
|
|
28
|
-
- [Communication Style](COMMUNICATION-STYLE.md)
|
|
29
|
-
- [Changelog](../CHANGELOG.md)
|
|
30
|
-
|
|
31
|
-
## Public Health
|
|
32
|
-
|
|
33
|
-
- [Latest Public Health Snapshot](release-health/latest.md)
|
|
34
|
-
- [Version Parity](release-health/version-parity.md)
|
|
35
|
-
- [State of Union (2026-02-28)](release-health/state-of-union-2026-02-28.md)
|
|
36
|
-
|
|
37
|
-
## Issue Intake
|
|
38
|
-
|
|
39
|
-
- [Bug Report Template](../.github/ISSUE_TEMPLATE/bug_report.md)
|
|
40
|
-
- [Feature Request Template](../.github/ISSUE_TEMPLATE/feature_request.md)
|
|
41
|
-
- [Deployment Intake Template](../.github/ISSUE_TEMPLATE/deployment-intake.md)
|
package/docs/INSTALL-PROOF.md
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
# Install Proof Block (v3.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@latest --version
|
|
7
|
-
npx -y @jtalk22/slack-mcp@latest --doctor
|
|
8
|
-
npx -y @jtalk22/slack-mcp@latest --status
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Expected:
|
|
12
|
-
- `--version` prints `slack-mcp-server v3.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.
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
# Launch Copy (v3.0.0)
|
|
2
|
-
|
|
3
|
-
Canonical text blocks for GitHub release surfaces, listings, and operator updates.
|
|
4
|
-
|
|
5
|
-
## Short Summary (Public)
|
|
6
|
-
|
|
7
|
-
`@jtalk22/slack-mcp v3.0.0` is live. `v3.0.0` flips hosted `/mcp` from permissive to secure-default without breaking local workflows. Local-first operation stays unchanged (`stdio`, `web`) while hosted HTTP now requires bearer authentication (`SLACK_MCP_HTTP_AUTH_TOKEN`) and explicit origin allowlisting (`SLACK_MCP_HTTP_ALLOWED_ORIGINS`). The major version reflects this hosted behavior shift; MCP tool names remain stable. Diagnostics remain deterministic (`--doctor` returns `0|1|2|3`), and `--status` remains read-only. Public demo/media checks are now included in web verification so broken assets are caught before publish. Maintainer/operator: `jtalk22` (`james@revasser.nyc`).
|
|
8
|
-
|
|
9
|
-
## GitHub Release Block
|
|
10
|
-
|
|
11
|
-
````md
|
|
12
|
-
`v3.0.0` flips hosted `/mcp` from permissive to secure-default without breaking local workflows.
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
npx -y @jtalk22/slack-mcp@latest --version
|
|
16
|
-
npx -y @jtalk22/slack-mcp@latest --doctor
|
|
17
|
-
npx -y @jtalk22/slack-mcp@latest --status
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
What changed:
|
|
21
|
-
- `/mcp` requires bearer auth by default
|
|
22
|
-
- CORS is origin-allowlist driven (`SLACK_MCP_HTTP_ALLOWED_ORIGINS`)
|
|
23
|
-
- no MCP tool renames/removals
|
|
24
|
-
- deterministic diagnostics are preserved
|
|
25
|
-
````
|
|
26
|
-
|
|
27
|
-
## Hosted Migration Block
|
|
28
|
-
|
|
29
|
-
````md
|
|
30
|
-
Hosted migration in under a minute:
|
|
31
|
-
```bash
|
|
32
|
-
export SLACK_TOKEN=xoxc-...
|
|
33
|
-
export SLACK_COOKIE=xoxd-...
|
|
34
|
-
export SLACK_MCP_HTTP_AUTH_TOKEN=change-this
|
|
35
|
-
export SLACK_MCP_HTTP_ALLOWED_ORIGINS=https://claude.ai
|
|
36
|
-
node src/server-http.js
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Requests must include:
|
|
40
|
-
`Authorization: Bearer <SLACK_MCP_HTTP_AUTH_TOKEN>`
|
|
41
|
-
|
|
42
|
-
Emergency local fallback only:
|
|
43
|
-
`SLACK_MCP_HTTP_INSECURE=1 node src/server-http.js`
|
|
44
|
-
````
|
|
45
|
-
|
|
46
|
-
## v3 Quick Proof Maintainer Comment
|
|
47
|
-
|
|
48
|
-
````md
|
|
49
|
-
Maintainer update:
|
|
50
|
-
`v3.0.0` flips hosted `/mcp` from permissive to secure-default without breaking local workflows.
|
|
51
|
-
|
|
52
|
-
```bash
|
|
53
|
-
npx -y @jtalk22/slack-mcp@latest --version
|
|
54
|
-
npx -y @jtalk22/slack-mcp@latest --doctor
|
|
55
|
-
npx -y @jtalk22/slack-mcp@latest --status
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
Hosted migration in under a minute:
|
|
59
|
-
```bash
|
|
60
|
-
export SLACK_TOKEN=xoxc-...
|
|
61
|
-
export SLACK_COOKIE=xoxd-...
|
|
62
|
-
export SLACK_MCP_HTTP_AUTH_TOKEN=change-this
|
|
63
|
-
export SLACK_MCP_HTTP_ALLOWED_ORIGINS=https://claude.ai
|
|
64
|
-
node src/server-http.js
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
If you hit a blocker, include runtime mode + exact output.
|
|
68
|
-
````
|
|
69
|
-
|
|
70
|
-
## GitHub Discussion Announcement
|
|
71
|
-
|
|
72
|
-
```md
|
|
73
|
-
`v3.0.0` is published.
|
|
74
|
-
|
|
75
|
-
- Hosted HTTP now enforces auth-by-default and explicit CORS policy.
|
|
76
|
-
- Local-first paths (`stdio`, `web`) remain unchanged.
|
|
77
|
-
- MCP tool names remain unchanged.
|
|
78
|
-
|
|
79
|
-
If you hit a deployment blocker, open deployment intake and include runtime mode + exact output.
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
## Listing Snippet (awesome-mcp-servers / registries)
|
|
83
|
-
|
|
84
|
-
```md
|
|
85
|
-
Session-based Slack MCP server for local-first operators. `v3.0.0` hardens hosted HTTP defaults (bearer auth + origin allowlist) while keeping local tool contracts stable.
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## Support Intake Snippet
|
|
89
|
-
|
|
90
|
-
```md
|
|
91
|
-
Need guided hosted deployment help?
|
|
92
|
-
- Open deployment intake: `https://github.com/jtalk22/slack-mcp-server/issues/new?template=deployment-intake.md`
|
|
93
|
-
- Continue in Discussions: `https://github.com/jtalk22/slack-mcp-server/discussions`
|
|
94
|
-
- Support ongoing maintenance: `https://github.com/sponsors/jtalk22`, `https://ko-fi.com/jtalk22`, `https://buymeacoffee.com/jtalk22`
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Propagation Note
|
|
98
|
-
|
|
99
|
-
Use when listing or registry caches lag:
|
|
100
|
-
|
|
101
|
-
`Release is published. Metadata propagation is in progress as of <UTC timestamp>.`
|
package/docs/LAUNCH-MATRIX.md
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
# Capability Matrix (v3.0.0)
|
|
2
|
-
|
|
3
|
-
Comparison matrix for release notes and channel posts. Keep competitor references unnamed.
|
|
4
|
-
|
|
5
|
-
| Capability | This Release (`v3.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
|
-
| 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 |
|
|
12
|
-
| Unknown token age handling | Explicit `unknown_age` semantics | Missing timestamp may appear as stale/failing |
|
|
13
|
-
| Tool contract stability | No MCP tool rename/removal | Varies by release |
|
|
14
|
-
| Local-first operator path | First-class (`stdio`, `web`) | Varies by runtime emphasis |
|
|
15
|
-
| Version parity check | Scripted local/npm/registry report | Often manual |
|
|
16
|
-
| Smithery/registry alignment | Metadata prepared in release wave | Often delayed post-release |
|
|
17
|
-
|
|
18
|
-
## Usage Guidance
|
|
19
|
-
|
|
20
|
-
1. Use this table in release notes and social threads.
|
|
21
|
-
2. Do not name external projects.
|
|
22
|
-
3. Keep claims tied to verifiable commands and docs.
|
package/docs/LAUNCH-OPS.md
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# Launch Ops Runbook (v3.0.0)
|
|
2
|
-
|
|
3
|
-
This runbook defines launch-day monitoring and distribution for technical/operator channels (no X/Reddit dependency).
|
|
4
|
-
|
|
5
|
-
## Same-Day Fanout Order (9 Channels)
|
|
6
|
-
|
|
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
|
-
|
|
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/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)
|
|
28
|
-
|
|
29
|
-
## Triage Rules
|
|
30
|
-
|
|
31
|
-
P1 install blocker:
|
|
32
|
-
- acknowledge within 30-60 minutes
|
|
33
|
-
- provide immediate workaround
|
|
34
|
-
- add fix to patch queue
|
|
35
|
-
|
|
36
|
-
Non-blocking request:
|
|
37
|
-
- acknowledge and route to issue/discussion template
|
|
38
|
-
- provide timeline as best effort
|
|
39
|
-
|
|
40
|
-
## Escalation Triggers
|
|
41
|
-
|
|
42
|
-
1. If install failures exceed 3 unique reports in 24h:
|
|
43
|
-
- pause outbound promotion
|
|
44
|
-
- prioritize hotfix
|
|
45
|
-
|
|
46
|
-
2. If support load exceeds 2 hours/day for 2 days:
|
|
47
|
-
- switch to stability-only mode
|
|
48
|
-
- defer non-critical requests
|
|
49
|
-
|
|
50
|
-
## 24h / 48h / 72h Follow-Up
|
|
51
|
-
|
|
52
|
-
24h:
|
|
53
|
-
- publish release-health delta and short technical summary
|
|
54
|
-
|
|
55
|
-
48h:
|
|
56
|
-
- patch docs for top recurring setup questions
|
|
57
|
-
|
|
58
|
-
72h:
|
|
59
|
-
- ship `v3.0.1` only if launch defects are confirmed
|
|
60
|
-
|
|
61
|
-
## Evidence Log
|
|
62
|
-
|
|
63
|
-
Use:
|
|
64
|
-
- local `output/release-health/launch-log-template.md` (private by default)
|
|
65
|
-
|
|
66
|
-
Capture:
|
|
67
|
-
- channel
|
|
68
|
-
- UTC timestamp
|
|
69
|
-
- URL or command evidence
|
|
70
|
-
- action taken
|
|
71
|
-
- observed result (`success|partial|blocked`)
|
package/docs/RELEASE-HEALTH.md
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
# Release Health Tracking
|
|
2
|
-
|
|
3
|
-
Operator telemetry is private-by-default in this repo.
|
|
4
|
-
|
|
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)
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
node scripts/collect-release-health.js
|
|
15
|
-
```
|
|
16
|
-
|
|
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
|
-
|
|
30
|
-
- `docs/release-health/latest.md`
|
|
31
|
-
- `docs/release-health/YYYY-MM-DD.md`
|
|
32
|
-
|
|
33
|
-
## Version Parity (local default)
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
npm run verify:version-parity
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Output:
|
|
40
|
-
|
|
41
|
-
- `output/release-health/version-parity.md`
|
|
42
|
-
|
|
43
|
-
Optional public output:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
node scripts/check-version-parity.js --public
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Delta Report (local default)
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
node scripts/build-release-health-delta.js
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Defaults:
|
|
56
|
-
|
|
57
|
-
- `--after output/release-health/latest.md`
|
|
58
|
-
- `--out output/release-health/automation-delta.md`
|
|
59
|
-
|
|
60
|
-
## Prepublish Dry Run (local default)
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
npm run verify:release-dry-run
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
Output:
|
|
67
|
-
|
|
68
|
-
- `output/release-health/prepublish-dry-run.md`
|
|
69
|
-
|
|
70
|
-
## CI Workflow
|
|
71
|
-
|
|
72
|
-
Workflow: `.github/workflows/release-health.yml`
|
|
73
|
-
|
|
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
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# Support Boundaries
|
|
2
|
-
|
|
3
|
-
This document sets expectations for issue triage, support scope, and rollout safety.
|
|
4
|
-
|
|
5
|
-
## In Scope
|
|
6
|
-
|
|
7
|
-
- Reproducible bugs in published release behavior.
|
|
8
|
-
- Install and setup blockers for supported Node/runtime paths.
|
|
9
|
-
- Regressions in existing tools (`slack_get_thread`, `slack_search_messages`, etc.).
|
|
10
|
-
- Documentation corrections with clear technical evidence.
|
|
11
|
-
|
|
12
|
-
## Out of Scope
|
|
13
|
-
|
|
14
|
-
- Custom Slack policy/legal interpretation for a specific organization.
|
|
15
|
-
- Workspace-specific data migrations or bespoke integrations.
|
|
16
|
-
- Real-time operational support for third-party hosting providers.
|
|
17
|
-
- Urgent production incident ownership for self-hosted external deployments.
|
|
18
|
-
|
|
19
|
-
## Intake Requirements
|
|
20
|
-
|
|
21
|
-
Include the following in every issue:
|
|
22
|
-
|
|
23
|
-
1. Version (`npm view @jtalk22/slack-mcp version` output).
|
|
24
|
-
2. Runtime mode (`stdio`, `web`, `http`, or Worker/Smithery).
|
|
25
|
-
3. OS and Node version.
|
|
26
|
-
4. Minimal reproduction steps and exact error text.
|
|
27
|
-
5. Whether this blocks individual use or team rollout.
|
|
28
|
-
|
|
29
|
-
## Response Windows (Best Effort)
|
|
30
|
-
|
|
31
|
-
- Installation/blocker bugs: initial response target within 2 business days.
|
|
32
|
-
- Non-blocking bugs: initial response target within 5 business days.
|
|
33
|
-
- Feature requests: triaged in backlog batches.
|
|
34
|
-
|
|
35
|
-
## Solo Maintainer Capacity Guardrail
|
|
36
|
-
|
|
37
|
-
- Weekly support budget target: <= 2 hours/week.
|
|
38
|
-
- If inbound support exceeds this cap, new feature work may be paused.
|
|
39
|
-
- High-context requests may be deferred until reproducible artifacts are provided.
|
|
40
|
-
|
|
41
|
-
## Security and Data Handling
|
|
42
|
-
|
|
43
|
-
- Do not post raw tokens/cookies in issues.
|
|
44
|
-
- Use redacted logs.
|
|
45
|
-
- If credentials are exposed, rotate immediately and update issue with redaction.
|
|
46
|
-
|
|
47
|
-
## Deployment Escalation Rule
|
|
48
|
-
|
|
49
|
-
For team/hosted usage, open a deployment intake issue before broad rollout.
|
package/docs/USE_CASE_RECIPES.md
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
# Use Case Recipes
|
|
2
|
-
|
|
3
|
-
Copy and paste any prompt into your MCP client. Each recipe maps to existing tools and parameters.
|
|
4
|
-
|
|
5
|
-
## 1) Fast Health Check
|
|
6
|
-
|
|
7
|
-
Prompt:
|
|
8
|
-
`Run slack_health_check and tell me if my workspace connection is valid.`
|
|
9
|
-
|
|
10
|
-
## 2) Token Age and Cache Snapshot
|
|
11
|
-
|
|
12
|
-
Prompt:
|
|
13
|
-
`Run slack_token_status and summarize token age, health, and cache stats.`
|
|
14
|
-
|
|
15
|
-
## 3) List Recent DMs
|
|
16
|
-
|
|
17
|
-
Prompt:
|
|
18
|
-
`Use slack_list_conversations with types="im,mpim" and limit=50. Return names and IDs.`
|
|
19
|
-
|
|
20
|
-
## 4) Summarize a Channel for the Last 3 Days
|
|
21
|
-
|
|
22
|
-
Prompt:
|
|
23
|
-
`Use slack_conversations_history with channel_id="<CHANNEL_ID>", oldest="<UNIX_TS_3_DAYS_AGO>", limit=100, resolve_users=true, then summarize decisions and action items.`
|
|
24
|
-
|
|
25
|
-
## 5) Pull a Full Thread
|
|
26
|
-
|
|
27
|
-
Prompt:
|
|
28
|
-
`Use slack_get_thread with channel_id="<CHANNEL_ID>" and thread_ts="<THREAD_TS>". Summarize timeline and owners.`
|
|
29
|
-
|
|
30
|
-
## 6) Search for Decisions
|
|
31
|
-
|
|
32
|
-
Prompt:
|
|
33
|
-
`Use slack_search_messages with query="decision OR approved after:2026-01-01" and count=50. Group results by channel.`
|
|
34
|
-
|
|
35
|
-
## 7) Find Messages from One Person
|
|
36
|
-
|
|
37
|
-
Prompt:
|
|
38
|
-
`Use slack_search_messages with query="from:@<USERNAME> after:2026-01-01" and count=30. Return top themes.`
|
|
39
|
-
|
|
40
|
-
## 8) Export Conversation History
|
|
41
|
-
|
|
42
|
-
Prompt:
|
|
43
|
-
`Use slack_get_full_conversation with channel_id="<CHANNEL_ID>", max_messages=2000, include_threads=true, output_file="q1-export.json".`
|
|
44
|
-
|
|
45
|
-
## 9) Lookup a User Profile
|
|
46
|
-
|
|
47
|
-
Prompt:
|
|
48
|
-
`Use slack_users_info with user_id="<USER_ID>" and return role, timezone, and status fields.`
|
|
49
|
-
|
|
50
|
-
## 10) Send a Channel Update
|
|
51
|
-
|
|
52
|
-
Prompt:
|
|
53
|
-
`Use slack_send_message with channel_id="<CHANNEL_ID>" and text="Daily update: build passed, deploy at 4 PM ET."`
|
|
54
|
-
|
|
55
|
-
## 11) Reply in a Thread
|
|
56
|
-
|
|
57
|
-
Prompt:
|
|
58
|
-
`Use slack_send_message with channel_id="<CHANNEL_ID>", thread_ts="<THREAD_TS>", text="Acknowledged. I will post follow-up logs in 30 minutes."`
|
|
59
|
-
|
|
60
|
-
## 12) Directory Snapshot
|
|
61
|
-
|
|
62
|
-
Prompt:
|
|
63
|
-
`Use slack_list_users with limit=500. Return a compact list of users with admin/bot flags.`
|
|
64
|
-
|
|
65
|
-
## Notes
|
|
66
|
-
|
|
67
|
-
- Replace placeholders before running (`<CHANNEL_ID>`, `<THREAD_TS>`, `<USER_ID>`, `<USERNAME>`, timestamps).
|
|
68
|
-
- Timestamp parameters are Unix seconds in string form.
|
|
69
|
-
- For large workspaces, start with smaller limits, then expand.
|