@jtalk22/slack-mcp 3.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 +25 -22
- package/docs/INDEX.md +6 -5
- package/docs/LAUNCH-COPY-v3.0.0.md +43 -15
- package/docs/LAUNCH-OPS.md +1 -1
- package/docs/RELEASE-HEALTH.md +42 -55
- 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-poster.png +0 -0
- package/docs/images/social-preview-v3.png +0 -0
- package/package.json +21 -29
- package/public/demo-claude.html +19 -3
- package/public/demo-video.html +16 -7
- package/public/demo.html +2 -2
- 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 +6 -0
- package/scripts/check-owner-attribution.sh +53 -2
- package/scripts/check-public-language.sh +1 -0
- package/scripts/check-version-parity.js +45 -3
- package/scripts/collect-release-health.js +13 -1
- package/scripts/impact-push-v3.js +781 -0
- package/scripts/record-demo.js +4 -3
- package/scripts/release-preflight.js +6 -2
- package/scripts/update-github-social-preview.js +208 -0
- package/scripts/verify-web.js +23 -19
- package/server.json +2 -2
- package/src/web-server.js +2 -0
package/README.md
CHANGED
|
@@ -1,36 +1,28 @@
|
|
|
1
1
|
# Slack MCP Server
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Local-first by default (`stdio`/`web`), hosted HTTP when you need a remote endpoint.
|
|
3
|
+
Session-based Slack MCP for Claude and MCP clients. Local-first `stdio`/`web` with secure-default hosted HTTP in v3.
|
|
5
4
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-

|
|
9
|
-
|
|
10
|
-
## 30-Second Verify
|
|
5
|
+
## Install + Verify
|
|
11
6
|
|
|
12
7
|
```bash
|
|
8
|
+
npx -y @jtalk22/slack-mcp --setup
|
|
13
9
|
npx -y @jtalk22/slack-mcp@latest --version
|
|
14
10
|
npx -y @jtalk22/slack-mcp@latest --doctor
|
|
15
11
|
npx -y @jtalk22/slack-mcp@latest --status
|
|
16
12
|
```
|
|
17
13
|
|
|
18
|
-
|
|
19
|
-
- `--version` prints `slack-mcp-server v3.0.0`
|
|
20
|
-
- `--doctor` exits with deterministic `0|1|2|3`
|
|
21
|
-
- `--status` is read-only and non-mutating
|
|
14
|
+
[Setup guide](https://github.com/jtalk22/slack-mcp-server/blob/main/docs/SETUP.md) · [30-second verify reference](https://github.com/jtalk22/slack-mcp-server/blob/main/README.md#install--verify) · [Autoplay demo landing](https://jtalk22.github.io/slack-mcp-server/) · [Latest release](https://github.com/jtalk22/slack-mcp-server/releases/latest) · [npm package](https://www.npmjs.com/package/@jtalk22/slack-mcp)
|
|
22
15
|
|
|
23
|
-
|
|
16
|
+
[](https://jtalk22.github.io/slack-mcp-server/public/demo-video.html)
|
|
24
17
|
|
|
25
|
-
|
|
26
|
-
npm install -g @jtalk22/slack-mcp
|
|
27
|
-
npx -y @jtalk22/slack-mcp --setup
|
|
28
|
-
```
|
|
18
|
+
Motion proof: [20-second mobile clip](https://jtalk22.github.io/slack-mcp-server/docs/videos/demo-claude-mobile-20s.mp4) · [Live demo walkthrough](https://jtalk22.github.io/slack-mcp-server/public/demo-video.html) · [Share card](https://jtalk22.github.io/slack-mcp-server/public/share.html)
|
|
29
19
|
|
|
30
|
-
|
|
20
|
+
Hosted migration note: `v3.0.0` keeps local `stdio`/`web` flows unchanged; hosted `/mcp` requires `SLACK_MCP_HTTP_AUTH_TOKEN` and `SLACK_MCP_HTTP_ALLOWED_ORIGINS`.
|
|
31
21
|
|
|
32
22
|
Maintainer/operator: `jtalk22` (`james@revasser.nyc`)
|
|
33
|
-
Release
|
|
23
|
+
Release: [`v3.1.0`](https://github.com/jtalk22/slack-mcp-server/releases/tag/v3.1.0) · Notes: [v3.1.0 notes](https://github.com/jtalk22/slack-mcp-server/blob/main/.github/v3.1.0-release-notes.md) · Support: [deployment intake](https://github.com/jtalk22/slack-mcp-server/issues/new?template=deployment-intake.md)
|
|
24
|
+
|
|
25
|
+
If this saved you setup time, consider starring the repo. Maintenance support: [GitHub Sponsors](https://github.com/sponsors/jtalk22) · [Ko-fi](https://ko-fi.com/jtalk22) · [Buy Me a Coffee](https://buymeacoffee.com/jtalk22)
|
|
34
26
|
|
|
35
27
|
## v3.0.0 at a Glance
|
|
36
28
|
|
|
@@ -39,6 +31,17 @@ Release notes: [v3.0.0 notes](https://github.com/jtalk22/slack-mcp-server/blob/m
|
|
|
39
31
|
- Local-first paths (`stdio`, `web`) stay compatible.
|
|
40
32
|
- MCP tool names stay stable (no renames/removals).
|
|
41
33
|
|
|
34
|
+
## Slack MCP Cloud
|
|
35
|
+
|
|
36
|
+
Skip all setup. One URL, 13 tools, encrypted token storage, managed on Cloudflare edge.
|
|
37
|
+
|
|
38
|
+
| Plan | Price | Includes |
|
|
39
|
+
|------|-------|----------|
|
|
40
|
+
| Solo | $19/mo | 10 standard tools, encrypted storage, 5K requests/mo |
|
|
41
|
+
| Team | $49/mo | 13 tools (incl. compound intelligence), 3 workspaces, 25K requests/mo |
|
|
42
|
+
|
|
43
|
+
[Get started](https://jtalk22.github.io/slack-mcp-server/cloud.html) — no Docker, no tokens, no admin approval.
|
|
44
|
+
|
|
42
45
|
## 60-Second Hosted Migration
|
|
43
46
|
|
|
44
47
|
```bash
|
|
@@ -129,19 +132,19 @@ Instead of authenticating as a bot, this server leverages your existing Chrome s
|
|
|
129
132
|
### 30-Second Compatibility Check
|
|
130
133
|
|
|
131
134
|
```bash
|
|
132
|
-
npx -y @jtalk22/slack-mcp --version
|
|
133
|
-
npx -y @jtalk22/slack-mcp --doctor
|
|
134
135
|
npx -y @jtalk22/slack-mcp --setup
|
|
136
|
+
npx -y @jtalk22/slack-mcp --doctor
|
|
137
|
+
npx -y @jtalk22/slack-mcp --status
|
|
135
138
|
```
|
|
136
139
|
|
|
137
140
|
Expected:
|
|
138
|
-
- `--
|
|
141
|
+
- `--setup` launches the interactive wizard
|
|
139
142
|
- `--doctor` returns one clear next action with exit code:
|
|
140
143
|
- `0` ready
|
|
141
144
|
- `1` missing credentials
|
|
142
145
|
- `2` invalid/expired credentials
|
|
143
146
|
- `3` connectivity/runtime issue
|
|
144
|
-
- `--
|
|
147
|
+
- `--status` is read-only and non-mutating
|
|
145
148
|
|
|
146
149
|
Command reference: [HN launch kit](https://github.com/jtalk22/slack-mcp-server/blob/main/docs/HN-LAUNCH.md)
|
|
147
150
|
|
package/docs/INDEX.md
CHANGED
|
@@ -26,13 +26,14 @@ Start here for setup, compatibility checks, operations, and support.
|
|
|
26
26
|
- [Install Proof Block](INSTALL-PROOF.md)
|
|
27
27
|
- [Release Notes (v3.0.0)](../.github/v3.0.0-release-notes.md)
|
|
28
28
|
- [Communication Style](COMMUNICATION-STYLE.md)
|
|
29
|
-
- [Release Health Guide](RELEASE-HEALTH.md)
|
|
30
|
-
- [Latest Release Health Snapshot](release-health/latest.md)
|
|
31
|
-
- [Version Parity Report](release-health/version-parity.md)
|
|
32
|
-
- [Prepublish Dry Run Report](release-health/prepublish-dry-run.md)
|
|
33
|
-
- [Launch Log Template](release-health/launch-log-template.md)
|
|
34
29
|
- [Changelog](../CHANGELOG.md)
|
|
35
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
|
+
|
|
36
37
|
## Issue Intake
|
|
37
38
|
|
|
38
39
|
- [Bug Report Template](../.github/ISSUE_TEMPLATE/bug_report.md)
|
|
@@ -4,42 +4,69 @@ Canonical text blocks for GitHub release surfaces, listings, and operator update
|
|
|
4
4
|
|
|
5
5
|
## Short Summary (Public)
|
|
6
6
|
|
|
7
|
-
`@jtalk22/slack-mcp v3.0.0` is live.
|
|
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
8
|
|
|
9
9
|
## GitHub Release Block
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
`v3.0.0`
|
|
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
|
+
```
|
|
13
19
|
|
|
14
20
|
What changed:
|
|
15
21
|
- `/mcp` requires bearer auth by default
|
|
16
22
|
- CORS is origin-allowlist driven (`SLACK_MCP_HTTP_ALLOWED_ORIGINS`)
|
|
17
23
|
- no MCP tool renames/removals
|
|
18
24
|
- deterministic diagnostics are preserved
|
|
19
|
-
|
|
20
|
-
Verify:
|
|
21
|
-
`npx -y @jtalk22/slack-mcp@latest --version`
|
|
22
|
-
`npx -y @jtalk22/slack-mcp@latest --doctor`
|
|
23
|
-
`npx -y @jtalk22/slack-mcp@latest --status`
|
|
24
|
-
```
|
|
25
|
+
````
|
|
25
26
|
|
|
26
27
|
## Hosted Migration Block
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
````md
|
|
29
30
|
Hosted migration in under a minute:
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
+
```
|
|
35
38
|
|
|
36
39
|
Requests must include:
|
|
37
40
|
`Authorization: Bearer <SLACK_MCP_HTTP_AUTH_TOKEN>`
|
|
38
41
|
|
|
39
42
|
Emergency local fallback only:
|
|
40
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
|
|
41
56
|
```
|
|
42
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
|
+
|
|
43
70
|
## GitHub Discussion Announcement
|
|
44
71
|
|
|
45
72
|
```md
|
|
@@ -64,6 +91,7 @@ Session-based Slack MCP server for local-first operators. `v3.0.0` hardens hoste
|
|
|
64
91
|
Need guided hosted deployment help?
|
|
65
92
|
- Open deployment intake: `https://github.com/jtalk22/slack-mcp-server/issues/new?template=deployment-intake.md`
|
|
66
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`
|
|
67
95
|
```
|
|
68
96
|
|
|
69
97
|
## Propagation Note
|
package/docs/LAUNCH-OPS.md
CHANGED
package/docs/RELEASE-HEALTH.md
CHANGED
|
@@ -1,90 +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:
|
|
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
18
|
|
|
16
|
-
|
|
19
|
+
- `output/release-health/latest.md`
|
|
20
|
+
- `output/release-health/YYYY-MM-DD.md`
|
|
21
|
+
|
|
22
|
+
Optional public output:
|
|
17
23
|
|
|
18
24
|
```bash
|
|
19
|
-
|
|
25
|
+
node scripts/collect-release-health.js --public
|
|
20
26
|
```
|
|
21
27
|
|
|
22
|
-
|
|
23
|
-
- `docs/release-health/version-parity.md`
|
|
24
|
-
|
|
25
|
-
If external registries are still propagating immediately after publish:
|
|
28
|
+
Outputs:
|
|
26
29
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
+
- `docs/release-health/latest.md`
|
|
31
|
+
- `docs/release-health/YYYY-MM-DD.md`
|
|
30
32
|
|
|
31
|
-
##
|
|
33
|
+
## Version Parity (local default)
|
|
32
34
|
|
|
33
35
|
```bash
|
|
34
|
-
npm run verify:
|
|
36
|
+
npm run verify:version-parity
|
|
35
37
|
```
|
|
36
38
|
|
|
37
39
|
Output:
|
|
38
|
-
- `docs/release-health/prepublish-dry-run.md`
|
|
39
40
|
|
|
40
|
-
|
|
41
|
-
- `docs/release-health/24h-start.md`
|
|
42
|
-
- `docs/release-health/24h-end.md`
|
|
43
|
-
- `docs/release-health/24h-delta.md`
|
|
41
|
+
- `output/release-health/version-parity.md`
|
|
44
42
|
|
|
45
|
-
|
|
43
|
+
Optional public output:
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
- GitHub 14-day traffic views/clones (owner token required via `gh auth`)
|
|
51
|
-
- Count of `deployment-intake` issues
|
|
45
|
+
```bash
|
|
46
|
+
node scripts/check-version-parity.js --public
|
|
47
|
+
```
|
|
52
48
|
|
|
53
|
-
##
|
|
49
|
+
## Delta Report (local default)
|
|
54
50
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
51
|
+
```bash
|
|
52
|
+
node scripts/build-release-health-delta.js
|
|
53
|
+
```
|
|
58
54
|
|
|
59
|
-
|
|
55
|
+
Defaults:
|
|
60
56
|
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
- Traffic source notes (search, referrals, docs traffic).
|
|
64
|
-
- External \"first run succeeded\" confirmations (issues/discussions).
|
|
57
|
+
- `--after output/release-health/latest.md`
|
|
58
|
+
- `--out output/release-health/automation-delta.md`
|
|
65
59
|
|
|
66
|
-
##
|
|
60
|
+
## Prepublish Dry Run (local default)
|
|
67
61
|
|
|
68
|
-
|
|
69
|
-
|
|
62
|
+
```bash
|
|
63
|
+
npm run verify:release-dry-run
|
|
64
|
+
```
|
|
70
65
|
|
|
71
|
-
|
|
66
|
+
Output:
|
|
72
67
|
|
|
73
|
-
-
|
|
74
|
-
- Triggers:
|
|
75
|
-
- scheduled at `07:15` and `19:15` UTC
|
|
76
|
-
- manual `workflow_dispatch`
|
|
77
|
-
- Outputs per run:
|
|
78
|
-
- workflow summary with current snapshot and baseline delta
|
|
79
|
-
- artifacts: `docs/release-health/latest.md`, `docs/release-health/automation-delta.md`
|
|
68
|
+
- `output/release-health/prepublish-dry-run.md`
|
|
80
69
|
|
|
81
|
-
##
|
|
70
|
+
## CI Workflow
|
|
82
71
|
|
|
83
|
-
|
|
72
|
+
Workflow: `.github/workflows/release-health.yml`
|
|
84
73
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
--out docs/release-health/24h-delta.md
|
|
90
|
-
```
|
|
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
|
|
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": "3.
|
|
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,48 +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",
|
|
28
32
|
"cf:browser": "node scripts/cloudflare-browser-tool.js",
|
|
29
33
|
"metrics:release-health": "node scripts/collect-release-health.js",
|
|
30
34
|
"metrics:release-health:delta": "node scripts/build-release-health-delta.js",
|
|
35
|
+
"impact:push:v3": "node scripts/impact-push-v3.js --dry-run",
|
|
36
|
+
"impact:push:v3:apply": "node scripts/impact-push-v3.js --apply",
|
|
31
37
|
"verify:version-parity": "node scripts/check-version-parity.js",
|
|
32
38
|
"verify:release-dry-run": "node scripts/release-preflight.js"
|
|
33
39
|
},
|
|
34
40
|
"keywords": [
|
|
41
|
+
"claude",
|
|
35
42
|
"mcp",
|
|
36
|
-
"mcp-server",
|
|
37
43
|
"model-context-protocol",
|
|
38
44
|
"slack",
|
|
39
45
|
"slack-api",
|
|
40
|
-
"slack-mcp",
|
|
41
|
-
"slack-integration",
|
|
42
|
-
"claude",
|
|
43
46
|
"claude-desktop",
|
|
44
|
-
"claude-code",
|
|
45
|
-
"claude-connectors",
|
|
46
|
-
"anthropic",
|
|
47
|
-
"cursor",
|
|
48
|
-
"llm",
|
|
49
|
-
"automation",
|
|
50
|
-
"workflow-automation",
|
|
51
|
-
"developer-tools",
|
|
52
47
|
"cli",
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"message-search",
|
|
56
|
-
"direct-messages",
|
|
57
|
-
"channels",
|
|
58
|
-
"workspace",
|
|
48
|
+
"developer-tools",
|
|
49
|
+
"mcp-server",
|
|
59
50
|
"session-based",
|
|
51
|
+
"claude-code",
|
|
52
|
+
"local-first",
|
|
60
53
|
"session-mirroring",
|
|
61
|
-
"slack-
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"open-source"
|
|
54
|
+
"slack-mcp",
|
|
55
|
+
"secure-by-default",
|
|
56
|
+
"llm",
|
|
57
|
+
"slack-integration",
|
|
58
|
+
"ai-agents",
|
|
59
|
+
"automation",
|
|
60
|
+
"productivity"
|
|
69
61
|
],
|
|
70
62
|
"author": "jtalk22",
|
|
71
63
|
"license": "MIT",
|
|
@@ -73,7 +65,7 @@
|
|
|
73
65
|
"type": "git",
|
|
74
66
|
"url": "git+https://github.com/jtalk22/slack-mcp-server.git"
|
|
75
67
|
},
|
|
76
|
-
"homepage": "https://jtalk22.github.io/slack-mcp-server/
|
|
68
|
+
"homepage": "https://jtalk22.github.io/slack-mcp-server/",
|
|
77
69
|
"bugs": {
|
|
78
70
|
"url": "https://github.com/jtalk22/slack-mcp-server/issues"
|
|
79
71
|
},
|
package/public/demo-claude.html
CHANGED
|
@@ -19,13 +19,13 @@
|
|
|
19
19
|
<meta property="og:description" content="Session-based Slack access for Claude with your existing workspace permissions. Search, thread, and messaging workflows.">
|
|
20
20
|
<meta property="og:type" content="website">
|
|
21
21
|
<meta property="og:url" content="https://jtalk22.github.io/slack-mcp-server/public/demo-claude.html">
|
|
22
|
-
<meta property="og:image" content="https://
|
|
22
|
+
<meta property="og:image" content="https://jtalk22.github.io/slack-mcp-server/docs/images/social-preview-v3.png">
|
|
23
23
|
|
|
24
24
|
<!-- Twitter Card -->
|
|
25
25
|
<meta name="twitter:card" content="summary_large_image">
|
|
26
26
|
<meta name="twitter:title" content="Slack MCP Server - Session-Based Slack Access Demo">
|
|
27
27
|
<meta name="twitter:description" content="Session-based Slack access for Claude with your existing workspace permissions. Search, thread, and messaging workflows.">
|
|
28
|
-
<meta name="twitter:image" content="https://
|
|
28
|
+
<meta name="twitter:image" content="https://jtalk22.github.io/slack-mcp-server/docs/images/social-preview-v3.png">
|
|
29
29
|
|
|
30
30
|
<!-- Theme -->
|
|
31
31
|
<meta name="theme-color" content="#1a1a1a">
|
|
@@ -357,6 +357,7 @@
|
|
|
357
357
|
box-shadow: var(--shadow-lg);
|
|
358
358
|
overflow: hidden;
|
|
359
359
|
border: 1px solid var(--window-border);
|
|
360
|
+
position: relative;
|
|
360
361
|
}
|
|
361
362
|
|
|
362
363
|
.window-chrome {
|
|
@@ -922,6 +923,11 @@
|
|
|
922
923
|
display: none !important;
|
|
923
924
|
}
|
|
924
925
|
|
|
926
|
+
body.fullscreen-mode .cta-strip,
|
|
927
|
+
body.fullscreen-mode .scenario-caption {
|
|
928
|
+
display: none !important;
|
|
929
|
+
}
|
|
930
|
+
|
|
925
931
|
body.fullscreen-mode .claude-window {
|
|
926
932
|
max-width: 100%;
|
|
927
933
|
height: 100vh;
|
|
@@ -1078,6 +1084,12 @@
|
|
|
1078
1084
|
.tools-dropdown:hover {
|
|
1079
1085
|
transform: translateX(-50%) translateY(0);
|
|
1080
1086
|
}
|
|
1087
|
+
|
|
1088
|
+
.scenario-caption {
|
|
1089
|
+
top: 56px;
|
|
1090
|
+
font-size: 12px;
|
|
1091
|
+
padding: 7px 14px;
|
|
1092
|
+
}
|
|
1081
1093
|
}
|
|
1082
1094
|
|
|
1083
1095
|
/* ═══════════════════════════════════════════════════════════════
|
|
@@ -1119,7 +1131,7 @@
|
|
|
1119
1131
|
/* Scenario Caption Overlay */
|
|
1120
1132
|
.scenario-caption {
|
|
1121
1133
|
position: absolute;
|
|
1122
|
-
top:
|
|
1134
|
+
top: 60px;
|
|
1123
1135
|
left: 50%;
|
|
1124
1136
|
transform: translateX(-50%);
|
|
1125
1137
|
background: rgba(0, 0, 0, 0.75);
|
|
@@ -1132,6 +1144,10 @@
|
|
|
1132
1144
|
transition: opacity 0.3s ease;
|
|
1133
1145
|
z-index: 50;
|
|
1134
1146
|
pointer-events: none;
|
|
1147
|
+
max-width: calc(100% - 24px);
|
|
1148
|
+
white-space: nowrap;
|
|
1149
|
+
overflow: hidden;
|
|
1150
|
+
text-overflow: ellipsis;
|
|
1135
1151
|
}
|
|
1136
1152
|
|
|
1137
1153
|
.scenario-caption.visible {
|
package/public/demo-video.html
CHANGED
|
@@ -9,14 +9,15 @@
|
|
|
9
9
|
<meta property="og:title" content="Slack MCP Server - Session-Based Slack Access Demo">
|
|
10
10
|
<meta property="og:description" content="Session-based Slack access for Claude with your existing workspace permissions. Video walkthrough for Slack workflows.">
|
|
11
11
|
<meta property="og:url" content="https://jtalk22.github.io/slack-mcp-server/public/demo-video.html">
|
|
12
|
-
<meta property="og:image" content="https://
|
|
12
|
+
<meta property="og:image" content="https://jtalk22.github.io/slack-mcp-server/docs/images/demo-poster.png">
|
|
13
13
|
<meta name="twitter:card" content="summary_large_image">
|
|
14
14
|
<meta name="twitter:title" content="Slack MCP Server - Session-Based Slack Access Demo">
|
|
15
15
|
<meta name="twitter:description" content="Session-based Slack access for Claude with your existing workspace permissions. Video walkthrough for Slack workflows.">
|
|
16
|
-
<meta name="twitter:image" content="https://
|
|
16
|
+
<meta name="twitter:image" content="https://jtalk22.github.io/slack-mcp-server/docs/images/demo-poster.png">
|
|
17
|
+
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
18
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
19
|
+
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap" rel="stylesheet">
|
|
17
20
|
<style>
|
|
18
|
-
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap');
|
|
19
|
-
|
|
20
21
|
:root {
|
|
21
22
|
--font-heading: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;
|
|
22
23
|
--font-body: "IBM Plex Sans", "Inter", "Segoe UI", sans-serif;
|
|
@@ -184,7 +185,7 @@
|
|
|
184
185
|
</div>
|
|
185
186
|
|
|
186
187
|
<div class="video-wrapper">
|
|
187
|
-
<video id="demo" poster="
|
|
188
|
+
<video id="demo" poster="../docs/images/demo-poster.png" playsinline>
|
|
188
189
|
<source src="../docs/videos/demo-claude.webm" type="video/webm">
|
|
189
190
|
<source src="https://jtalk22.github.io/slack-mcp-server/docs/videos/demo-claude.webm" type="video/webm">
|
|
190
191
|
Your browser does not support the video tag.
|
|
@@ -203,10 +204,18 @@
|
|
|
203
204
|
|
|
204
205
|
<script>
|
|
205
206
|
const video = document.getElementById('demo');
|
|
207
|
+
const HIGHLIGHT_START_SECONDS = 6;
|
|
208
|
+
|
|
209
|
+
function playFromHighlight() {
|
|
210
|
+
if (video.duration && video.duration > HIGHLIGHT_START_SECONDS + 1) {
|
|
211
|
+
video.currentTime = HIGHLIGHT_START_SECONDS;
|
|
212
|
+
}
|
|
213
|
+
return video.play();
|
|
214
|
+
}
|
|
206
215
|
|
|
207
216
|
// Autoplay with 1 second delay
|
|
208
217
|
setTimeout(() => {
|
|
209
|
-
|
|
218
|
+
playFromHighlight().catch(() => {
|
|
210
219
|
// Autoplay blocked, user will need to click
|
|
211
220
|
console.log('Autoplay blocked, click to play');
|
|
212
221
|
});
|
|
@@ -227,7 +236,7 @@
|
|
|
227
236
|
|
|
228
237
|
// Loop the video
|
|
229
238
|
video.addEventListener('ended', () => {
|
|
230
|
-
video.currentTime =
|
|
239
|
+
video.currentTime = HIGHLIGHT_START_SECONDS;
|
|
231
240
|
video.play();
|
|
232
241
|
});
|
|
233
242
|
</script>
|
package/public/demo.html
CHANGED
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
<meta property="og:url" content="https://jtalk22.github.io/slack-mcp-server/public/demo.html">
|
|
11
11
|
<meta property="og:title" content="Slack MCP Server - Session-Based Slack Access Demo">
|
|
12
12
|
<meta property="og:description" content="Session-based Slack access for Claude with your existing workspace permissions. DMs, channels, search, and threads.">
|
|
13
|
-
<meta property="og:image" content="https://
|
|
13
|
+
<meta property="og:image" content="https://jtalk22.github.io/slack-mcp-server/docs/images/demo-main.png">
|
|
14
14
|
|
|
15
15
|
<!-- Twitter Card -->
|
|
16
16
|
<meta name="twitter:card" content="summary_large_image">
|
|
17
17
|
<meta name="twitter:title" content="Slack MCP Server - Session-Based Slack Access Demo">
|
|
18
18
|
<meta name="twitter:description" content="Session-based Slack access for Claude with your existing workspace permissions. DMs, channels, search, and threads.">
|
|
19
|
-
<meta name="twitter:image" content="https://
|
|
19
|
+
<meta name="twitter:image" content="https://jtalk22.github.io/slack-mcp-server/docs/images/demo-main.png">
|
|
20
20
|
|
|
21
21
|
<!-- SEO -->
|
|
22
22
|
<meta name="description" content="Session-based Slack access for Claude with your existing workspace permissions. Interactive demo for DMs, channels, search, and thread workflows.">
|