@jtalk22/slack-mcp 1.2.1 → 1.2.3

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 CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  <p align="center">
8
8
  <em>Give Claude the same Slack access you have.<br>
9
- DMs, threads, history—no admin approval.</em>
9
+ DMs, threads, history—using your existing Slack session.</em>
10
10
  </p>
11
11
 
12
12
  <p align="center">
@@ -37,9 +37,11 @@
37
37
 
38
38
  ---
39
39
 
40
+ > Free local-first path: install with `npx -y @jtalk22/slack-mcp`, run on your own machine, and keep full control of session tokens.
41
+
40
42
  ### Why This Exists
41
43
 
42
- I built this because I was working with someone to help me manage a complex workload, and we kept hitting walls. They needed context from my messages—"what did X say about Y?"—but Slack's API blocks access to DMs without admin approval.
44
+ I built this because I was working with someone to help me manage a complex workload, and we kept hitting walls. They needed context from my messages—"what did X say about Y?"—and standard app/OAuth flows were too constrained for that workflow.
43
45
 
44
46
  Screenshotting messages is not a workflow.
45
47
 
@@ -100,6 +102,25 @@ Instead of authenticating as a bot, this server leverages your existing Chrome s
100
102
 
101
103
  **Runtime:** Node.js 20+
102
104
 
105
+ ### 30-Second Proof
106
+
107
+ ```bash
108
+ npx -y @jtalk22/slack-mcp --version
109
+ npx -y @jtalk22/slack-mcp --doctor
110
+ npx -y @jtalk22/slack-mcp --setup
111
+ ```
112
+
113
+ Expected:
114
+ - `--version` prints `slack-mcp-server v1.2.x`
115
+ - `--doctor` returns one clear next action with exit code:
116
+ - `0` ready
117
+ - `1` missing credentials
118
+ - `2` invalid/expired credentials
119
+ - `3` connectivity/runtime issue
120
+ - `--setup` launches the interactive wizard
121
+
122
+ Proof script for launch threads: [docs/HN-LAUNCH.md](docs/HN-LAUNCH.md)
123
+
103
124
  ### Option A: npm (Recommended)
104
125
 
105
126
  ```bash
@@ -120,6 +141,20 @@ npm install
120
141
  docker pull ghcr.io/jtalk22/slack-mcp-server:latest
121
142
  ```
122
143
 
144
+ ### Install Sanity (Clean Temp Directory)
145
+
146
+ ```bash
147
+ tmpdir="$(mktemp -d)"
148
+ cd "$tmpdir"
149
+ npx -y @jtalk22/slack-mcp --version
150
+ npx -y @jtalk22/slack-mcp --help
151
+ npx -y @jtalk22/slack-mcp --status
152
+ ```
153
+
154
+ Expected:
155
+ - `--version` and `--help` exit `0`
156
+ - `--status` exits non-zero until credentials are configured
157
+
123
158
  ---
124
159
 
125
160
  ## Configuration
@@ -131,7 +166,7 @@ docker pull ghcr.io/jtalk22/slack-mcp-server:latest
131
166
  The interactive setup wizard handles token extraction and validation automatically:
132
167
 
133
168
  ```bash
134
- npx @jtalk22/slack-mcp --setup
169
+ npx -y @jtalk22/slack-mcp --setup
135
170
  ```
136
171
 
137
172
  - **macOS**: Auto-extracts tokens from Chrome (have Slack open in a tab)
@@ -142,7 +177,7 @@ npx @jtalk22/slack-mcp --setup
142
177
  #### Check Token Status
143
178
 
144
179
  ```bash
145
- npx @jtalk22/slack-mcp --status
180
+ npx -y @jtalk22/slack-mcp --status
146
181
  ```
147
182
 
148
183
  #### Alternative: Manual Token Scripts
@@ -283,14 +318,14 @@ If you're using claude.ai in a browser (which doesn't support MCP), you can use
283
318
 
284
319
  ```bash
285
320
  npm run web
286
- # Or: npx @jtalk22/slack-mcp web
321
+ # Or: npx -y @jtalk22/slack-mcp web
287
322
  ```
288
323
 
289
324
  **Magic Link:** The console prints a one-click URL with the API key embedded:
290
325
 
291
326
  ```
292
327
  ════════════════════════════════════════════════════════════
293
- Slack Web API Server v1.2.1
328
+ Slack Web API Server v1.2.3
294
329
  ════════════════════════════════════════════════════════════
295
330
 
296
331
  Dashboard: http://localhost:3000/?key=smcp_xxxxxxxxxxxx
@@ -309,6 +344,37 @@ Just click the link - no copy-paste needed. The key is saved to your browser and
309
344
 
310
345
  ---
311
346
 
347
+ ## Operations Guides
348
+
349
+ - [Docs Index](docs/INDEX.md) - One-click index for setup, API, troubleshooting, deployment, and support docs
350
+ - [Deployment Modes](docs/DEPLOYMENT-MODES.md) - Choose the right operating model (`stdio`, `web`, hosted HTTP, Smithery/Worker)
351
+ - [Use Case Recipes](docs/USE_CASE_RECIPES.md) - 12 copy/paste prompts mapped to current tool contracts
352
+ - [Support Boundaries](docs/SUPPORT-BOUNDARIES.md) - Scope, response targets, and solo-maintainer capacity limits
353
+
354
+ If you're evaluating team rollout, start with [Deployment Modes](docs/DEPLOYMENT-MODES.md) before exposing remote endpoints.
355
+
356
+ ---
357
+
358
+ ## Getting Help Fast
359
+
360
+ 1. Run:
361
+ ```bash
362
+ npx -y @jtalk22/slack-mcp --version
363
+ npx -y @jtalk22/slack-mcp --doctor
364
+ ```
365
+ 2. If setup fails, run:
366
+ ```bash
367
+ npx -y @jtalk22/slack-mcp --setup
368
+ ```
369
+ 3. Open an issue with full environment details:
370
+ - [Bug Report Template](.github/ISSUE_TEMPLATE/bug_report.md)
371
+ - [Deployment Intake Template](.github/ISSUE_TEMPLATE/deployment-intake.md)
372
+ 4. Check scope and response targets:
373
+ - [Support Boundaries](docs/SUPPORT-BOUNDARIES.md)
374
+ - [Troubleshooting Guide](docs/TROUBLESHOOTING.md)
375
+
376
+ ---
377
+
312
378
  ## Troubleshooting
313
379
 
314
380
  ### Tokens Expired
@@ -317,6 +383,9 @@ Just click the link - no copy-paste needed. The key is saved to your browser and
317
383
  slack_refresh_tokens # In Claude
318
384
  # Or: npm run tokens:auto
319
385
 
386
+ # Package setup wizard
387
+ npx -y @jtalk22/slack-mcp --setup
388
+
320
389
  # Linux/Windows: Manual update
321
390
  # Edit ~/.slack-mcp-tokens.json with fresh values
322
391
  ```
@@ -0,0 +1,65 @@
1
+ # Communication Style Guide
2
+
3
+ Use this guide for release notes, issue replies, and changelog entries.
4
+
5
+ ## Rules
6
+
7
+ 1. Keep text technical, concise, and factual.
8
+ 2. Do not include model/tool credit lines.
9
+ 3. Do not include co-author trailers from tooling.
10
+ 4. State exact versions and commands when relevant.
11
+ 5. Avoid speculative claims.
12
+
13
+ ## Issue Reply Template
14
+
15
+ ```md
16
+ Thanks for reporting this.
17
+
18
+ Status: fixed in `<version>`.
19
+
20
+ Included:
21
+ - `<fix 1>`
22
+ - `<fix 2>`
23
+
24
+ Verify:
25
+ - `npx -y @jtalk22/slack-mcp --version`
26
+ - `npx -y @jtalk22/slack-mcp --status`
27
+
28
+ Install/update:
29
+ - `npx -y @jtalk22/slack-mcp`
30
+ - `npm i -g @jtalk22/slack-mcp@<version>`
31
+
32
+ If it still reproduces, reply with OS, Node version, runtime mode (`stdio|web|http|worker`), and exact error output.
33
+ ```
34
+
35
+ ## Release Notes Template
36
+
37
+ ````md
38
+ ## <version> — <short title>
39
+
40
+ ### Improved
41
+ - <item>
42
+ - <item>
43
+
44
+ ### Compatibility
45
+ - No API/tool schema changes.
46
+
47
+ ### Verify
48
+ ```bash
49
+ npx -y @jtalk22/slack-mcp --version
50
+ npx -y @jtalk22/slack-mcp --setup
51
+ npx -y @jtalk22/slack-mcp --status
52
+ ```
53
+ ````
54
+
55
+ ## Changelog Entry Template
56
+
57
+ ```md
58
+ ## [<version>] - YYYY-MM-DD
59
+
60
+ ### Fixed
61
+ - <item>
62
+
63
+ ### Changed
64
+ - <item>
65
+ ```
@@ -0,0 +1,48 @@
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 | Remote endpoint | Requires runtime hardening and monitoring |
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. Confirm `slack_get_thread`, `slack_search_messages`, and `slack_users_info` behavior.
48
+ 3. Confirm token handling mode (ephemeral vs env persistence) is documented.
@@ -0,0 +1,61 @@
1
+ # HN Launch Kit
2
+
3
+ Use this file as copy/paste launch material with no extra edits.
4
+
5
+ ## Launch Post Draft
6
+
7
+ Title idea: `Show HN: Slack MCP Server (local-first, session-based Slack access for Claude)`
8
+
9
+ Post body:
10
+
11
+ ```md
12
+ Built a local-first Slack MCP server so Claude can use the same Slack access already available in your browser session.
13
+
14
+ What it does:
15
+ - DMs/channels/thread reads
16
+ - workspace search
17
+ - message send + user lookups
18
+ - local web mode when MCP is unavailable
19
+
20
+ Quick proof:
21
+ - `npx -y @jtalk22/slack-mcp --version`
22
+ - `npx -y @jtalk22/slack-mcp --status`
23
+ - `npx -y @jtalk22/slack-mcp --setup`
24
+
25
+ Repo: https://github.com/jtalk22/slack-mcp-server
26
+ npm: https://www.npmjs.com/package/@jtalk22/slack-mcp
27
+ ```
28
+
29
+ ## First Comment Draft
30
+
31
+ ```md
32
+ Notes up front:
33
+ - Local-first usage is fully supported.
34
+ - Tokens are your Slack session credentials and are stored locally by default.
35
+ - macOS supports automatic Chrome extraction; Linux/Windows use guided manual setup.
36
+ - Current docs include deployment modes, support boundaries, and troubleshooting.
37
+
38
+ If install fails, include OS, Node version, runtime mode (`stdio|web|http|worker`), and exact error output.
39
+ ```
40
+
41
+ ## Rebuttal Mini-FAQ
42
+
43
+ ### Is this bypassing Slack app scopes?
44
+ It does not use Slack app OAuth scopes. It uses your existing signed-in session permissions.
45
+
46
+ ### What about token expiry?
47
+ Session tokens expire. `--setup` refreshes credentials, and macOS supports automatic extraction from Chrome.
48
+
49
+ ### Is this intended as a stealth hosted proxy?
50
+ No. The free path is local/self-hosted first. Deployment docs describe tradeoffs and support boundaries before team rollout.
51
+
52
+ ### Is this safe for production teams?
53
+ Treat as operator-managed infrastructure. Validate with your own risk/compliance controls before broader rollout.
54
+
55
+ ## Install Proof Block
56
+
57
+ ```bash
58
+ npx -y @jtalk22/slack-mcp --version
59
+ npx -y @jtalk22/slack-mcp --status
60
+ npx -y @jtalk22/slack-mcp --setup
61
+ ```
package/docs/INDEX.md ADDED
@@ -0,0 +1,28 @@
1
+ # Documentation Index
2
+
3
+ Start here for setup, validation, operations, and support.
4
+
5
+ ## Core
6
+
7
+ - [Setup Guide](SETUP.md)
8
+ - [API Reference](API.md)
9
+ - [Web API Reference](WEB-API.md)
10
+ - [Troubleshooting](TROUBLESHOOTING.md)
11
+
12
+ ## Operations
13
+
14
+ - [Deployment Modes](DEPLOYMENT-MODES.md)
15
+ - [Use Case Recipes](USE_CASE_RECIPES.md)
16
+ - [Support Boundaries](SUPPORT-BOUNDARIES.md)
17
+
18
+ ## Launch and Communication
19
+
20
+ - [HN Launch Kit](HN-LAUNCH.md)
21
+ - [Communication Style](COMMUNICATION-STYLE.md)
22
+ - [Changelog](../CHANGELOG.md)
23
+
24
+ ## Issue Intake
25
+
26
+ - [Bug Report Template](../.github/ISSUE_TEMPLATE/bug_report.md)
27
+ - [Feature Request Template](../.github/ISSUE_TEMPLATE/feature_request.md)
28
+ - [Deployment Intake Template](../.github/ISSUE_TEMPLATE/deployment-intake.md)
package/docs/SETUP.md CHANGED
@@ -23,18 +23,42 @@ cd ~/slack-mcp-server
23
23
  npm install
24
24
  ```
25
25
 
26
+ ### 2.5 Verify Install Path in a Clean Directory
27
+
28
+ ```bash
29
+ tmpdir="$(mktemp -d)"
30
+ cd "$tmpdir"
31
+ npx -y @jtalk22/slack-mcp --version
32
+ npx -y @jtalk22/slack-mcp --help
33
+ npx -y @jtalk22/slack-mcp --doctor
34
+ ```
35
+
36
+ Expected:
37
+ - `--version` and `--help` succeed.
38
+ - `--doctor` exits with one clear status:
39
+ - `0` ready
40
+ - `1` missing credentials
41
+ - `2` invalid/expired credentials
42
+ - `3` connectivity/runtime issue
43
+
26
44
  ### 3. Get Slack Tokens
27
45
 
28
- **Option A: Automatic Extraction**
46
+ **Option A: Setup Wizard (recommended)**
29
47
 
30
48
  1. Open Chrome
31
49
  2. Navigate to https://app.slack.com and log in
32
50
  3. Run:
33
51
  ```bash
34
- npm run tokens:auto
52
+ npx -y @jtalk22/slack-mcp --setup
35
53
  ```
36
54
 
37
- **Option B: Manual Extraction**
55
+ **Option B: Automatic Extraction (repo clone workflow)**
56
+
57
+ ```bash
58
+ npm run tokens:auto
59
+ ```
60
+
61
+ **Option C: Manual Extraction**
38
62
 
39
63
  1. Open https://app.slack.com in Chrome
40
64
  2. Press F12 to open DevTools
@@ -114,11 +138,11 @@ You should see your username and team name.
114
138
 
115
139
  ### "No credentials found"
116
140
 
117
- Run `npm run tokens:auto` with Slack open in Chrome, or `npm run tokens:refresh` to enter manually.
141
+ Run `npx -y @jtalk22/slack-mcp --doctor` to confirm diagnostic code, then `npx -y @jtalk22/slack-mcp --setup` with Slack open in Chrome.
118
142
 
119
143
  ### "invalid_auth" Error
120
144
 
121
- Tokens have expired. Open Slack in Chrome and use `slack_refresh_tokens` in Claude Code.
145
+ Tokens have expired. Run `npx -y @jtalk22/slack-mcp --doctor` and follow the suggested next action.
122
146
 
123
147
  ### MCP Server Not Loading
124
148
 
@@ -0,0 +1,49 @@
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.
@@ -4,6 +4,30 @@ Common issues and their solutions.
4
4
 
5
5
  ---
6
6
 
7
+ ## Install Flow Sanity Check
8
+
9
+ If first-run setup is failing, validate command resolution in a clean directory:
10
+
11
+ ```bash
12
+ tmpdir="$(mktemp -d)"
13
+ cd "$tmpdir"
14
+ npx -y @jtalk22/slack-mcp --version
15
+ npx -y @jtalk22/slack-mcp --help
16
+ npx -y @jtalk22/slack-mcp --doctor
17
+ ```
18
+
19
+ Expected:
20
+ - `--version` and `--help` exit `0`
21
+ - `--doctor` exits with one of:
22
+ - `0` ready
23
+ - `1` missing credentials
24
+ - `2` invalid/expired credentials
25
+ - `3` connectivity/runtime issue
26
+
27
+ If `--version` fails here, the issue is install/runtime path, not Slack credentials.
28
+
29
+ ---
30
+
7
31
  ## DMs Not Showing Up
8
32
 
9
33
  **Symptom:** `slack_list_conversations` returns channels but no DMs.
@@ -54,10 +78,16 @@ slack_list_conversations limit=50
54
78
  # Option 1: In Claude Code/Desktop
55
79
  slack_refresh_tokens
56
80
 
57
- # Option 2: CLI
81
+ # Option 2: Package setup wizard
82
+ npx -y @jtalk22/slack-mcp --setup
83
+
84
+ # Option 3: Doctor diagnostics
85
+ npx -y @jtalk22/slack-mcp --doctor
86
+
87
+ # Option 3: Repo CLI
58
88
  npm run tokens:auto
59
89
 
60
- # Option 3: Manual
90
+ # Option 4: Manual
61
91
  npm run tokens:refresh
62
92
  ```
63
93
 
@@ -0,0 +1,69 @@
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.
package/docs/WEB-API.md CHANGED
@@ -7,6 +7,8 @@ The Slack Web Server exposes all MCP tools as REST endpoints, accessible from an
7
7
  ```bash
8
8
  cd ~/slack-mcp-server
9
9
  npm run web
10
+ # Or run directly from npm:
11
+ npx -y @jtalk22/slack-mcp web
10
12
  ```
11
13
 
12
14
  The server will:
package/lib/handlers.js CHANGED
@@ -116,7 +116,7 @@ export async function handleHealthCheck() {
116
116
  return {
117
117
  content: [{
118
118
  type: "text",
119
- text: "NO CREDENTIALS\n\nOptions:\n1. Open Slack in Chrome, then use slack_refresh_tokens\n2. Run: npm run tokens:auto (or npx @jtalk22/slack-mcp tokens:auto)"
119
+ text: "NO CREDENTIALS\n\nOptions:\n1. Open Slack in Chrome, then use slack_refresh_tokens\n2. Run: npx -y @jtalk22/slack-mcp --setup"
120
120
  }],
121
121
  isError: true
122
122
  };
@@ -150,7 +150,7 @@ export async function slackAPI(method, params = {}, options = {}) {
150
150
 
151
151
  const creds = loadTokens(false, logger);
152
152
  if (!creds) {
153
- throw new Error("No credentials available. Run refresh-tokens.sh or open Slack in Chrome.");
153
+ throw new Error("No credentials available. Run npx -y @jtalk22/slack-mcp --setup or open Slack in Chrome.");
154
154
  }
155
155
 
156
156
  // Proactive token health check (non-blocking, only on first attempt)
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": "1.2.1",
5
- "description": "Full Slack access for Claude - DMs, channels, search. No OAuth. No admin approval. Just works.",
4
+ "version": "1.2.3",
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",
8
8
  "bin": {
@@ -17,6 +17,8 @@
17
17
  "http": "node src/server-http.js",
18
18
  "web": "node src/web-server.js",
19
19
  "setup": "node scripts/setup-wizard.js --setup",
20
+ "hooks:setup": "bash scripts/setup-git-hooks.sh",
21
+ "verify:owner-attribution": "bash scripts/check-owner-attribution.sh",
20
22
  "tokens:status": "node scripts/token-cli.js status",
21
23
  "tokens:refresh": "node scripts/token-cli.js refresh",
22
24
  "tokens:auto": "node scripts/token-cli.js auto",