@jtalk22/slack-mcp 2.0.0 → 3.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 +112 -64
- 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 +4 -1
- package/docs/INSTALL-PROOF.md +5 -5
- package/docs/LAUNCH-COPY-v3.0.0.md +73 -0
- package/docs/LAUNCH-MATRIX.md +4 -2
- package/docs/LAUNCH-OPS.md +24 -23
- package/docs/RELEASE-HEALTH.md +9 -0
- 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-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/web-api-mobile-360x800.png +0 -0
- package/docs/images/web-api-mobile-390x844.png +0 -0
- package/package.json +14 -6
- package/public/demo-claude.html +83 -10
- package/public/demo-video.html +33 -4
- package/public/demo.html +136 -2
- package/public/index.html +132 -69
- package/scripts/capture-screenshots.js +103 -53
- package/scripts/check-version-parity.js +25 -11
- package/scripts/cloudflare-browser-tool.js +237 -0
- package/scripts/collect-release-health.js +1 -1
- package/scripts/record-demo.js +22 -9
- package/scripts/release-preflight.js +243 -0
- package/scripts/setup-wizard.js +1 -1
- package/scripts/verify-install-flow.js +2 -1
- package/scripts/verify-web.js +49 -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 +5 -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-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,29 +34,29 @@ 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
|
|
|
@@ -65,6 +66,6 @@ Use:
|
|
|
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
|
@@ -28,6 +28,15 @@ If external registries are still propagating immediately after publish:
|
|
|
28
28
|
npm run verify:version-parity -- --allow-propagation
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
+
## Prepublish dry run
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npm run verify:release-dry-run
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Output:
|
|
38
|
+
- `docs/release-health/prepublish-dry-run.md`
|
|
39
|
+
|
|
31
40
|
24-hour loop artifacts:
|
|
32
41
|
- `docs/release-health/24h-start.md`
|
|
33
42
|
- `docs/release-health/24h-end.md`
|
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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jtalk22/slack-mcp",
|
|
3
3
|
"mcpName": "io.github.jtalk22/slack-mcp-server",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "3.0.0",
|
|
5
5
|
"description": "Session-based Slack access for Claude - DMs, channels, search, and threads. Local-first with your existing Slack session.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "src/server.js",
|
|
@@ -25,9 +25,11 @@
|
|
|
25
25
|
"tokens:clear": "node scripts/token-cli.js clear",
|
|
26
26
|
"screenshot": "node scripts/capture-screenshots.js",
|
|
27
27
|
"record-demo": "node scripts/record-demo.js",
|
|
28
|
+
"cf:browser": "node scripts/cloudflare-browser-tool.js",
|
|
28
29
|
"metrics:release-health": "node scripts/collect-release-health.js",
|
|
29
30
|
"metrics:release-health:delta": "node scripts/build-release-health-delta.js",
|
|
30
|
-
"verify:version-parity": "node scripts/check-version-parity.js"
|
|
31
|
+
"verify:version-parity": "node scripts/check-version-parity.js",
|
|
32
|
+
"verify:release-dry-run": "node scripts/release-preflight.js"
|
|
31
33
|
},
|
|
32
34
|
"keywords": [
|
|
33
35
|
"mcp",
|
|
@@ -40,10 +42,10 @@
|
|
|
40
42
|
"claude",
|
|
41
43
|
"claude-desktop",
|
|
42
44
|
"claude-code",
|
|
45
|
+
"claude-connectors",
|
|
46
|
+
"anthropic",
|
|
43
47
|
"cursor",
|
|
44
48
|
"llm",
|
|
45
|
-
"ai",
|
|
46
|
-
"ai-assistant",
|
|
47
49
|
"automation",
|
|
48
50
|
"workflow-automation",
|
|
49
51
|
"developer-tools",
|
|
@@ -62,6 +64,7 @@
|
|
|
62
64
|
"mcp-tools",
|
|
63
65
|
"mcp-stdio",
|
|
64
66
|
"mcp-http",
|
|
67
|
+
"remote-mcp",
|
|
65
68
|
"open-source"
|
|
66
69
|
],
|
|
67
70
|
"author": "jtalk22",
|
|
@@ -86,9 +89,14 @@
|
|
|
86
89
|
"lib/",
|
|
87
90
|
"public/",
|
|
88
91
|
"scripts/",
|
|
89
|
-
"docs
|
|
92
|
+
"docs/*.md",
|
|
93
|
+
"docs/assets/",
|
|
94
|
+
"docs/images/*.png",
|
|
95
|
+
"docs/images/*.svg",
|
|
90
96
|
"README.md",
|
|
91
|
-
"LICENSE"
|
|
97
|
+
"LICENSE",
|
|
98
|
+
"server.json",
|
|
99
|
+
"smithery.yaml"
|
|
92
100
|
],
|
|
93
101
|
"devDependencies": {
|
|
94
102
|
"playwright": "^1.57.0"
|
package/public/demo-claude.html
CHANGED
|
@@ -19,22 +19,27 @@
|
|
|
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://raw.githubusercontent.com/jtalk22/slack-mcp-server/main/docs/images/demo-claude.gif">
|
|
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://raw.githubusercontent.com/jtalk22/slack-mcp-server/main/docs/images/demo-claude.gif">
|
|
29
29
|
|
|
30
30
|
<!-- Theme -->
|
|
31
31
|
<meta name="theme-color" content="#1a1a1a">
|
|
32
32
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>💬</text></svg>">
|
|
33
33
|
<style>
|
|
34
|
+
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Space+Grotesk:wght@500;600;700&display=swap');
|
|
35
|
+
|
|
34
36
|
/* ═══════════════════════════════════════════════════════════════
|
|
35
37
|
Claude Desktop Color Palette (Dark Mode)
|
|
36
38
|
═══════════════════════════════════════════════════════════════ */
|
|
37
39
|
:root {
|
|
40
|
+
--font-heading: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;
|
|
41
|
+
--font-body: "IBM Plex Sans", "Inter", "Segoe UI", sans-serif;
|
|
42
|
+
|
|
38
43
|
/* Window chrome */
|
|
39
44
|
--window-bg: #1a1a1a;
|
|
40
45
|
--window-chrome: #2d2d2d;
|
|
@@ -83,7 +88,7 @@
|
|
|
83
88
|
}
|
|
84
89
|
|
|
85
90
|
body {
|
|
86
|
-
font-family: -
|
|
91
|
+
font-family: var(--font-body);
|
|
87
92
|
font-size: 15px;
|
|
88
93
|
line-height: 1.5;
|
|
89
94
|
-webkit-font-smoothing: antialiased;
|
|
@@ -118,6 +123,8 @@
|
|
|
118
123
|
align-items: center;
|
|
119
124
|
justify-content: center;
|
|
120
125
|
gap: 12px;
|
|
126
|
+
font-family: var(--font-heading);
|
|
127
|
+
letter-spacing: -0.02em;
|
|
121
128
|
}
|
|
122
129
|
|
|
123
130
|
.page-header p {
|
|
@@ -127,11 +134,11 @@
|
|
|
127
134
|
.cta-strip {
|
|
128
135
|
width: 100%;
|
|
129
136
|
max-width: 960px;
|
|
130
|
-
margin-bottom:
|
|
137
|
+
margin-bottom: 14px;
|
|
131
138
|
background: rgba(15, 52, 96, 0.72);
|
|
132
139
|
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
133
140
|
border-radius: 12px;
|
|
134
|
-
padding: 10px
|
|
141
|
+
padding: 10px 12px;
|
|
135
142
|
display: flex;
|
|
136
143
|
justify-content: space-between;
|
|
137
144
|
align-items: center;
|
|
@@ -183,6 +190,7 @@
|
|
|
183
190
|
margin-bottom: 24px;
|
|
184
191
|
flex-wrap: wrap;
|
|
185
192
|
justify-content: center;
|
|
193
|
+
width: min(100%, 960px);
|
|
186
194
|
}
|
|
187
195
|
|
|
188
196
|
.scenario-btn {
|
|
@@ -257,6 +265,9 @@
|
|
|
257
265
|
gap: 12px;
|
|
258
266
|
margin-bottom: 16px;
|
|
259
267
|
align-items: center;
|
|
268
|
+
flex-wrap: wrap;
|
|
269
|
+
justify-content: center;
|
|
270
|
+
width: min(100%, 920px);
|
|
260
271
|
}
|
|
261
272
|
|
|
262
273
|
.speed-control {
|
|
@@ -967,31 +978,93 @@
|
|
|
967
978
|
/* ═══════════════════════════════════════════════════════════════
|
|
968
979
|
Responsive
|
|
969
980
|
═══════════════════════════════════════════════════════════════ */
|
|
981
|
+
@media (max-width: 900px) {
|
|
982
|
+
body {
|
|
983
|
+
padding: 14px;
|
|
984
|
+
}
|
|
985
|
+
|
|
986
|
+
.page-header {
|
|
987
|
+
margin-bottom: 16px;
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
.page-header h1 {
|
|
991
|
+
font-size: 24px;
|
|
992
|
+
}
|
|
993
|
+
|
|
994
|
+
.scenario-btn {
|
|
995
|
+
padding: 10px 14px;
|
|
996
|
+
}
|
|
997
|
+
|
|
998
|
+
.controls-bar {
|
|
999
|
+
gap: 10px;
|
|
1000
|
+
}
|
|
1001
|
+
|
|
1002
|
+
.claude-window {
|
|
1003
|
+
max-width: 100%;
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
|
|
970
1007
|
@media (max-width: 600px) {
|
|
971
1008
|
body {
|
|
972
1009
|
padding: 12px;
|
|
973
1010
|
}
|
|
974
1011
|
|
|
1012
|
+
.cta-strip {
|
|
1013
|
+
padding: 10px;
|
|
1014
|
+
gap: 8px;
|
|
1015
|
+
}
|
|
1016
|
+
|
|
1017
|
+
.cta-strip .links {
|
|
1018
|
+
width: 100%;
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
.cta-strip .note {
|
|
1022
|
+
font-size: 12px;
|
|
1023
|
+
}
|
|
1024
|
+
|
|
975
1025
|
.page-header h1 {
|
|
976
1026
|
font-size: 22px;
|
|
1027
|
+
flex-wrap: wrap;
|
|
1028
|
+
gap: 8px;
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
.page-header p {
|
|
1032
|
+
font-size: 14px;
|
|
977
1033
|
}
|
|
978
1034
|
|
|
979
1035
|
.scenario-bar {
|
|
980
1036
|
gap: 8px;
|
|
1037
|
+
margin-bottom: 14px;
|
|
981
1038
|
}
|
|
982
1039
|
|
|
983
1040
|
.scenario-btn {
|
|
984
|
-
padding:
|
|
1041
|
+
padding: 9px 12px;
|
|
985
1042
|
font-size: 13px;
|
|
1043
|
+
border-radius: 10px;
|
|
986
1044
|
}
|
|
987
1045
|
|
|
988
1046
|
.scenario-btn .label {
|
|
989
1047
|
display: none;
|
|
990
1048
|
}
|
|
991
1049
|
|
|
1050
|
+
.controls-bar {
|
|
1051
|
+
gap: 8px;
|
|
1052
|
+
margin-bottom: 12px;
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
.replay-btn,
|
|
1056
|
+
.share-btn {
|
|
1057
|
+
padding: 8px 12px;
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
.speed-control {
|
|
1061
|
+
width: 100%;
|
|
1062
|
+
justify-content: space-between;
|
|
1063
|
+
}
|
|
1064
|
+
|
|
992
1065
|
.chat-container {
|
|
993
|
-
height: 450px;
|
|
994
|
-
padding:
|
|
1066
|
+
height: min(55vh, 450px);
|
|
1067
|
+
padding: 14px;
|
|
995
1068
|
}
|
|
996
1069
|
|
|
997
1070
|
.tools-dropdown {
|
|
@@ -1161,7 +1234,7 @@
|
|
|
1161
1234
|
<header class="page-header">
|
|
1162
1235
|
<h1>
|
|
1163
1236
|
<span>Slack MCP Server</span>
|
|
1164
|
-
<span class="badge">🔧 MCP Demo
|
|
1237
|
+
<span class="badge">🔧 MCP Demo v3.0.0</span>
|
|
1165
1238
|
</h1>
|
|
1166
1239
|
<p>See how Claude uses MCP tools to access your Slack workspace</p>
|
|
1167
1240
|
</header>
|
|
@@ -1233,7 +1306,7 @@
|
|
|
1233
1306
|
<div class="title-logo">💬</div>
|
|
1234
1307
|
<h1>Slack MCP Server</h1>
|
|
1235
1308
|
<p class="title-tagline">Full Slack access for Claude Desktop</p>
|
|
1236
|
-
<p class="title-version">
|
|
1309
|
+
<p class="title-version">v3.0.0 • @jtalk22</p>
|
|
1237
1310
|
</div>
|
|
1238
1311
|
|
|
1239
1312
|
<!-- Scenario Caption Overlay -->
|
package/public/demo-video.html
CHANGED
|
@@ -15,13 +15,20 @@
|
|
|
15
15
|
<meta name="twitter:description" content="Session-based Slack access for Claude with your existing workspace permissions. Video walkthrough for Slack workflows.">
|
|
16
16
|
<meta name="twitter:image" content="https://raw.githubusercontent.com/jtalk22/slack-mcp-server/main/docs/images/demo-poster.png">
|
|
17
17
|
<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
|
+
:root {
|
|
21
|
+
--font-heading: "Space Grotesk", "Avenir Next", "Segoe UI", sans-serif;
|
|
22
|
+
--font-body: "IBM Plex Sans", "Inter", "Segoe UI", sans-serif;
|
|
23
|
+
}
|
|
24
|
+
|
|
18
25
|
* {
|
|
19
26
|
margin: 0;
|
|
20
27
|
padding: 0;
|
|
21
28
|
box-sizing: border-box;
|
|
22
29
|
}
|
|
23
30
|
body {
|
|
24
|
-
font-family:
|
|
31
|
+
font-family: var(--font-body);
|
|
25
32
|
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
|
|
26
33
|
min-height: 100vh;
|
|
27
34
|
display: flex;
|
|
@@ -40,6 +47,8 @@
|
|
|
40
47
|
font-weight: 600;
|
|
41
48
|
text-align: center;
|
|
42
49
|
margin-bottom: 0.5rem;
|
|
50
|
+
font-family: var(--font-heading);
|
|
51
|
+
letter-spacing: -0.02em;
|
|
43
52
|
}
|
|
44
53
|
.subtitle {
|
|
45
54
|
color: #94a3b8;
|
|
@@ -137,6 +146,26 @@
|
|
|
137
146
|
.back-link a:hover {
|
|
138
147
|
color: #ffffff;
|
|
139
148
|
}
|
|
149
|
+
|
|
150
|
+
@media (max-width: 640px) {
|
|
151
|
+
body {
|
|
152
|
+
padding: 1rem 0.75rem;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.cta-strip .links {
|
|
156
|
+
width: 100%;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.controls {
|
|
160
|
+
gap: 0.75rem;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.btn {
|
|
164
|
+
flex: 1;
|
|
165
|
+
min-width: 0;
|
|
166
|
+
padding: 0.72rem 0.95rem;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
140
169
|
</style>
|
|
141
170
|
</head>
|
|
142
171
|
<body>
|
|
@@ -155,9 +184,9 @@
|
|
|
155
184
|
</div>
|
|
156
185
|
|
|
157
186
|
<div class="video-wrapper">
|
|
158
|
-
<video id="demo" poster="
|
|
159
|
-
<source src="../docs/videos/demo-claude
|
|
160
|
-
<source src="
|
|
187
|
+
<video id="demo" poster="https://jtalk22.github.io/slack-mcp-server/docs/images/demo-poster.png" playsinline>
|
|
188
|
+
<source src="../docs/videos/demo-claude.webm" type="video/webm">
|
|
189
|
+
<source src="https://jtalk22.github.io/slack-mcp-server/docs/videos/demo-claude.webm" type="video/webm">
|
|
161
190
|
Your browser does not support the video tag.
|
|
162
191
|
</video>
|
|
163
192
|
</div>
|