@ignission/slack-task-mcp 0.2.6 → 0.2.8

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.
Files changed (3) hide show
  1. package/README.ja.md +379 -0
  2. package/README.md +123 -0
  3. package/package.json +1 -1
package/README.ja.md ADDED
@@ -0,0 +1,379 @@
1
+ <p align="center">
2
+ <h1 align="center">Slack Task MCP</h1>
3
+ </p>
4
+
5
+ <p align="center">
6
+ <strong>メンションから着手までの摩擦をゼロに</strong>
7
+ </p>
8
+
9
+ <p align="center">
10
+ <a href="https://www.npmjs.com/package/@ignission/slack-task-mcp"><img src="https://img.shields.io/npm/v/@ignission/slack-task-mcp" alt="npm version"></a>
11
+ <a href="https://opensource.org/licenses/ISC"><img src="https://img.shields.io/badge/License-ISC-blue.svg" alt="License: ISC"></a>
12
+ </p>
13
+
14
+ <p align="center">
15
+ ADHDの特性を持つユーザー向けに設計されたMCPサーバー
16
+ </p>
17
+
18
+ <p align="center">
19
+ <a href="README.md">English</a>
20
+ </p>
21
+
22
+ ---
23
+
24
+ ## なぜ作ったか
25
+
26
+ Slackでメンションがたまると、どこから手を付けていいか迷う。難しい依頼は固まってしまう。返信を書くのに時間がかかる。心当たりはありませんか?
27
+
28
+ | 課題 | 解決策 |
29
+ |:-----|:-------|
30
+ | 「何を求められてる?」が曖昧 | 目的を明確化 |
31
+ | 「何を聞けばいい?」がわからない | 不明点の洗い出し + 確認メッセージ案 |
32
+ | 「どう返せばいい?」で時間がかかる | 返信メッセージの添削・構造化 |
33
+ | 「次何する?」で迷う | ネクストアクション提示 |
34
+
35
+ ---
36
+
37
+ ## Before / After
38
+
39
+ ```
40
+ ❌ Before
41
+ メンション来る → 「何求められてる?」 → 固まる → 後回し → 忘れる
42
+
43
+ ✅ After
44
+ メンション来る → スレッドURLを渡す → 目的・不明点・次のアクションが整理される → すぐ着手
45
+ ```
46
+
47
+ ---
48
+
49
+ ## こんな人におすすめ
50
+
51
+ - 💭 Slackのメッセージを何度読んでも、どこから手を付けていいかわからない
52
+ - 📝 返信を書くのに時間がかかる(言い回しを考えすぎる)
53
+ - 🔄 難しい依頼は後回しにして、結局忘れてしまう
54
+ - 🧠 ADHDの特性があり、タスクの着手が苦手
55
+
56
+ ---
57
+
58
+ ## ユースケース
59
+
60
+ ### 1. 曖昧な依頼を分解する
61
+
62
+ > 「四半期レポートお願いできる?」
63
+
64
+ **このツールがやること:**
65
+ - 「お願い」の意味を明確化(作成?レビュー?プレゼン?)
66
+ - 不明点を特定(期限は?フォーマットは?誰向け?)
67
+ - 適切な確認メッセージを生成
68
+ - 明確になったら5分単位のステップに分解
69
+
70
+ ### 2. 雑な返信を構造化する
71
+
72
+ > 「できました。添付します。確認お願いします。」
73
+
74
+ **添削後:**
75
+ > 「四半期レポートが完成しましたので添付いたします。お手すきの際にご確認いただけますでしょうか。修正点があればお知らせください。」
76
+
77
+ - 結論 → 根拠 → アクション の構造
78
+ - 丁寧だけど簡潔なトーン
79
+
80
+ ### 3. 中断後に作業を再開する
81
+
82
+ > 「あのクライアントの依頼、どこまでやったっけ?」
83
+
84
+ **このツールがやること:**
85
+ - 過去のSlackスレッドを検索
86
+ - タスクの進捗と次のステップを表示
87
+ - スレッドを読み直す必要なし
88
+
89
+ ### 4. 大量のメンションをトリアージ
90
+
91
+ 未読メンションが10件以上あるとき:
92
+ - 各スレッドを素早く分析
93
+ - 優先度を特定(誰かをブロックしてる?期限近い?)
94
+ - 不明確なものは確認メッセージを生成
95
+ - タスクとして保存し、1つずつ片付ける
96
+
97
+ ---
98
+
99
+ ## デモ
100
+
101
+ ```
102
+ あなた: このスレッドを分析して https://xxx.slack.com/archives/C123/p456
103
+
104
+ Claude: ## 依頼の分析
105
+
106
+ ### 把握した内容
107
+ - **目的**: Q4の売上レポートを作成
108
+ - **成果物**: グラフ付きPDFレポート
109
+ - **期限**: 来週金曜日
110
+
111
+ ### 不明点
112
+ - ❓ どの指標を含めるか?
113
+ - 影響: これがわからないと着手できない
114
+ - 選択肢: 売上のみ / 売上+コスト / 完全なP&L
115
+
116
+ ### 確認メッセージ案
117
+ 「ご依頼ありがとうございます!確認させてください。
118
+ 売上のみで良いでしょうか、それともP&L全体を含めますか?
119
+ また、Q3と同じテンプレートで良いでしょうか?」
120
+
121
+ ### ネクストアクション
122
+ 📌 確認メッセージを送る(2分)
123
+
124
+ ---
125
+
126
+ あなた: P&L全体で、テンプレートは同じでいいって。分解して保存して。
127
+
128
+ Claude: ✅ タスクを保存しました!
129
+
130
+ ### Q4売上レポート
131
+ 1. ☐ Q3テンプレートを開いて複製(2分)
132
+ 2. ☐ ダッシュボードからQ4データをエクスポート(3分)
133
+ 3. ☐ 売上数値を貼り付け(5分)
134
+ 4. ☐ コスト数値を貼り付け(5分)
135
+ 5. ☐ グラフを更新(5分)
136
+ 6. ☐ サマリー文を書く(5分)
137
+ 7. ☐ PDFでエクスポートして送信(2分)
138
+
139
+ 📌 まずステップ1から - たった2分です!
140
+ ```
141
+
142
+ ---
143
+
144
+ ## アーキテクチャ
145
+
146
+ ```
147
+ ┌─────────────────────────────────────────────────────────────┐
148
+ │ Claude Desktop / Claude Code │
149
+ │ └── MCP Client │
150
+ └──────────────────────────┬──────────────────────────────────┘
151
+ │ MCP Protocol
152
+ ┌──────────────────────────▼──────────────────────────────────┐
153
+ │ Slack Task MCP Server │
154
+ │ ┌────────────────────────────────────────────────────────┐ │
155
+ │ │ MCP Tools │ │
156
+ │ │ • get_slack_thread • save_task • analyze_request │ │
157
+ │ │ • search_slack • list_tasks • draft_reply │ │
158
+ │ │ • complete_step │ │
159
+ │ └────────────────────────────────────────────────────────┘ │
160
+ │ ┌────────────────────────────────────────────────────────┐ │
161
+ │ │ Agent SDK Layer (AI分析) │ │
162
+ │ │ • analyze.js → 依頼分析 │ │
163
+ │ │ • draft-reply.js → 返信添削 │ │
164
+ │ └────────────────────────────────────────────────────────┘ │
165
+ └──────────────────────────┬──────────────────────────────────┘
166
+
167
+ ┌────────────────┴────────────────┐
168
+ ▼ ▼
169
+ ┌─────────────┐ ┌─────────────┐
170
+ │ Slack API │ │ Claude API │
171
+ │ (User Token)│ │ (Agent SDK) │
172
+ └─────────────┘ └─────────────┘
173
+ ```
174
+
175
+ ---
176
+
177
+ ## 機能
178
+
179
+ | ツール | 説明 | Agent SDK |
180
+ |--------|------|:---------:|
181
+ | `get_slack_thread` | SlackスレッドURLからメッセージを取得 | - |
182
+ | `analyze_request` | 依頼を分析し、目的・不明点を特定 | ✅ |
183
+ | `draft_reply` | 返信を添削し、論理的に構造化 | ✅ |
184
+ | `save_task` | タスクを保存(5分以内のステップに分解) | - |
185
+ | `list_tasks` | アクティブなタスク一覧を表示 | - |
186
+ | `search_tasks` | キーワード・日付でタスクを検索 | - |
187
+ | `complete_step` | ステップを完了にする | - |
188
+ | `search_slack` | Slackメッセージをキーワード検索 | - |
189
+
190
+ ---
191
+
192
+ ## クイックスタート
193
+
194
+ ### 1. Slack認証
195
+
196
+ ```bash
197
+ npx -y @ignission/slack-task-mcp auth login
198
+ ```
199
+
200
+ ブラウザが開きSlack認証が行われます。複数ワークスペースも対応可能です。
201
+
202
+ ### 2. Claude Code / Claude Desktop の設定
203
+
204
+ **Claude Code(ターミナル)**:
205
+
206
+ ```bash
207
+ claude mcp add slack-task -- npx -y @ignission/slack-task-mcp
208
+ ```
209
+
210
+ **Claude Desktop** (`~/.claude/claude_desktop_config.json`):
211
+
212
+ ```json
213
+ {
214
+ "mcpServers": {
215
+ "slack-task": {
216
+ "command": "npx",
217
+ "args": ["-y", "@ignission/slack-task-mcp"]
218
+ }
219
+ }
220
+ }
221
+ ```
222
+
223
+ ### 3. 再起動
224
+
225
+ Claude Code / Claude Desktop を再起動して設定を反映します。
226
+
227
+ ---
228
+
229
+ ## 使い方
230
+
231
+ ### 基本ワークフロー
232
+
233
+ ```
234
+ 1. get_slack_thread → スレッド取得(文脈DB化)
235
+ 2. analyze_request → 目的・不明点・確認メッセージ案を生成
236
+ 3. draft_reply → 返信の下書きを添削・構造化
237
+ 4. save_task → タスクとして保存
238
+ 5. complete_step → 進捗管理
239
+ ```
240
+
241
+ ### 使用例
242
+
243
+ #### スレッドを取得して分析
244
+
245
+ ```
246
+ このSlackスレッドを分析して:
247
+ https://xxx.slack.com/archives/C12345678/p1234567890123456
248
+ ```
249
+
250
+ #### タスクを保存
251
+
252
+ ```
253
+ これを5分以内のステップに分解して保存して
254
+ ```
255
+
256
+ #### 返信を添削
257
+
258
+ ```
259
+ この返信を添削して: 「レポートできました。添付します。確認お願いします。」
260
+ ```
261
+
262
+ #### タスク一覧を表示
263
+
264
+ ```
265
+ タスク一覧を見せて
266
+ ```
267
+
268
+ #### ステップを完了
269
+
270
+ ```
271
+ ステップ1を完了にして
272
+ ```
273
+
274
+ ---
275
+
276
+ ## ADHD向け設計
277
+
278
+ - **脳から追い出せる** — タスクを保存して忘れてOK。ワーキングメモリを解放
279
+ - **5分以内のステップに分解** — 小さな達成感を積み上げる
280
+ - **最初のステップは最も簡単に** — 着手のハードルを下げる
281
+ - **明確な区切り** — 途中で止めても再開しやすい
282
+ - **Slackを文脈DBとして活用** — 「あの話どうなったっけ」をClaudeに聞ける
283
+
284
+ ### 本当の価値:頭の中で抱えなくていい
285
+
286
+ ```
287
+ ❌ 頭の中で抱える
288
+ 「あれも忘れちゃダメ」+「これも」+「あとあれも...」→ 常にワーキングメモリ消費 → 疲弊
289
+
290
+ ✅ MCPに預ける
291
+ タスク保存 → 忘れてOK → 脳のリソース解放 → 目の前の1つに集中できる
292
+ ```
293
+
294
+ 脳は考えるためのもの。覚えておくのはツールに任せよう。
295
+
296
+ ---
297
+
298
+ ## 技術スタック
299
+
300
+ | 技術 | 用途 |
301
+ |------|------|
302
+ | **Node.js** (ES Modules) | ランタイム |
303
+ | **MCP Protocol** | Claude Code/Desktop との通信 |
304
+ | **Claude Agent SDK** | AI による依頼分析・返信添削 |
305
+ | **Slack Web API** | Slack連携(User Token) |
306
+ | **Zod** | スキーマバリデーション |
307
+ | **Cloudflare Workers** | OAuth認証(トークン交換) |
308
+
309
+ ---
310
+
311
+ ## プロジェクト構成
312
+
313
+ ```
314
+ slack-task-mcp/
315
+ ├── src/
316
+ │ ├── index.js # MCPサーバーエントリーポイント
317
+ │ ├── cli.js # CLIコマンド
318
+ │ ├── auth.js # OAuth認証(ハイブリッド)
319
+ │ ├── credentials.js # 認証情報管理
320
+ │ ├── paths.js # パス管理(XDG準拠)
321
+ │ └── agents/ # Agent SDKエージェント
322
+ │ ├── index.js # 共通設定
323
+ │ ├── analyze.js # 依頼分析
324
+ │ └── draft-reply.js # 返信添削
325
+ ├── worker/ # Cloudflare Workers(トークン交換)
326
+ │ ├── index.js
327
+ │ └── wrangler.toml
328
+ └── package.json
329
+ ```
330
+
331
+ ---
332
+
333
+ ## データ保存場所
334
+
335
+ XDG Base Directory Specification に準拠:
336
+
337
+ ```
338
+ ~/.local/share/slack-task-mcp/
339
+ ├── credentials/
340
+ │ ├── T01234567.json # ワークスペースごとの認証情報
341
+ │ └── T98765432.json
342
+ └── tasks.json # タスクデータ
343
+ ```
344
+
345
+ `XDG_DATA_HOME` が設定されている場合はそちらを使用します。
346
+
347
+ ---
348
+
349
+ ## トラブルシューティング
350
+
351
+ ### Slack APIエラー
352
+
353
+ ```bash
354
+ npx -y @ignission/slack-task-mcp auth status # 認証状態を確認
355
+ npx -y @ignission/slack-task-mcp auth login # 新規ワークスペースを認証
356
+ npx -y @ignission/slack-task-mcp auth logout # 全ワークスペースからログアウト
357
+ npx -y @ignission/slack-task-mcp auth logout -w mycompany # 特定ワークスペースからログアウト
358
+ ```
359
+
360
+ ### MCPサーバーが認識されない
361
+
362
+ - 設定ファイルのパスが正しいか確認
363
+ - Claude Code / Claude Desktop を再起動
364
+
365
+ ### プライベートチャンネルが読めない
366
+
367
+ - 自分が参加しているチャンネルのみ読み取り可能です
368
+
369
+ ---
370
+
371
+ ## コントリビューション
372
+
373
+ Issue や PR を歓迎します!
374
+
375
+ ---
376
+
377
+ ## ライセンス
378
+
379
+ [ISC](LICENSE)
package/README.md CHANGED
@@ -15,6 +15,10 @@
15
15
  An MCP server designed for users with ADHD traits
16
16
  </p>
17
17
 
18
+ <p align="center">
19
+ <a href="README.ja.md">日本語</a>
20
+ </p>
21
+
18
22
  ---
19
23
 
20
24
  ## Why
@@ -30,6 +34,112 @@ When Slack mentions pile up, it's hard to know where to start. Complex requests
30
34
 
31
35
  ---
32
36
 
37
+ ## Before / After
38
+
39
+ ```
40
+ ❌ Before
41
+ Mention arrives → "What do they want?" → Freeze → Postpone → Forget
42
+
43
+ ✅ After
44
+ Mention arrives → Paste thread URL → Purpose, unknowns & next action organized → Start immediately
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Who is this for?
50
+
51
+ - 💭 You read a Slack message multiple times but still don't know where to start
52
+ - 📝 Writing replies takes forever because you overthink the wording
53
+ - 🔄 You postpone complex requests and end up forgetting them
54
+ - 🧠 You have ADHD traits and struggle with task initiation
55
+
56
+ ---
57
+
58
+ ## Use Cases
59
+
60
+ ### 1. Break down a vague request
61
+
62
+ > "Can you handle the quarterly report?"
63
+
64
+ **What this tool does:**
65
+ - Clarifies what "handle" means (create? review? present?)
66
+ - Identifies unknowns (deadline? format? audience?)
67
+ - Generates a confirmation message to ask the right questions
68
+ - Breaks the task into 5-minute steps once clarified
69
+
70
+ ### 2. Structure a messy reply
71
+
72
+ > "Done with the thing. Attached. Check it."
73
+
74
+ **After editing:**
75
+ > "I've completed the quarterly report and attached it. Could you review it when you have a moment? Let me know if any changes are needed."
76
+
77
+ - Conclusion → Reasoning → Action structure
78
+ - Polite but concise tone
79
+
80
+ ### 3. Resume work after interruption
81
+
82
+ > "What was I working on for that client request?"
83
+
84
+ **What this tool does:**
85
+ - Searches past Slack threads
86
+ - Shows task progress and next steps
87
+ - No need to re-read the entire thread
88
+
89
+ ### 4. Triage multiple mentions
90
+
91
+ When you have 10+ unread mentions:
92
+ - Analyze each thread quickly
93
+ - Identify priorities (blocking others? deadline?)
94
+ - Generate confirmation messages for unclear ones
95
+ - Save as tasks and tackle one by one
96
+
97
+ ---
98
+
99
+ ## Demo
100
+
101
+ ```
102
+ You: Analyze this thread https://xxx.slack.com/archives/C123/p456
103
+
104
+ Claude: ## Request Analysis
105
+
106
+ ### Summary
107
+ - **Purpose**: Create sales report for Q4
108
+ - **Deliverable**: PDF report with charts
109
+ - **Deadline**: Next Friday
110
+
111
+ ### Unknowns
112
+ - ❓ Which metrics to include?
113
+ - Impact: Can't start without this
114
+ - Options: Revenue only / Revenue + costs / Full P&L
115
+
116
+ ### Suggested Confirmation Message
117
+ "Thanks for the request! Quick question - should I include just revenue,
118
+ or the full P&L breakdown? Also, should I use the same template as Q3?"
119
+
120
+ ### Next Action
121
+ 📌 Send confirmation message (2 min)
122
+
123
+ ---
124
+
125
+ You: They said full P&L, same template. Break it down and save.
126
+
127
+ Claude: ✅ Task saved!
128
+
129
+ ### Q4 Sales Report
130
+ 1. ☐ Open Q3 template and duplicate (2 min)
131
+ 2. ☐ Export Q4 data from dashboard (3 min)
132
+ 3. ☐ Paste revenue numbers (5 min)
133
+ 4. ☐ Paste cost numbers (5 min)
134
+ 5. ☐ Update charts (5 min)
135
+ 6. ☐ Write summary paragraph (5 min)
136
+ 7. ☐ Export as PDF and send (2 min)
137
+
138
+ 📌 Start with step 1 - just 2 minutes!
139
+ ```
140
+
141
+ ---
142
+
33
143
  ## Architecture
34
144
 
35
145
  ```
@@ -164,11 +274,24 @@ Mark step 1 as complete
164
274
 
165
275
  ## ADHD-Friendly Design
166
276
 
277
+ - **Offload from your brain** — Save tasks and forget them. Free up working memory.
167
278
  - **Break into <5 min steps** — Build small wins
168
279
  - **Easiest step first** — Lower the barrier to start
169
280
  - **Clear stopping points** — Easy to pause and resume
170
281
  - **Slack as context DB** — Ask Claude "what happened with that?"
171
282
 
283
+ ### The Real Value: Stop Carrying Everything in Your Head
284
+
285
+ ```
286
+ ❌ Keeping tasks in your head
287
+ "Don't forget this" + "That too" + "And this..." → Constant working memory drain → Exhaustion
288
+
289
+ ✅ Offload to MCP
290
+ Save task → OK to forget → Brain freed up → Focus on just one thing
291
+ ```
292
+
293
+ Your brain is for thinking, not for storing. Let the tool remember so you don't have to.
294
+
172
295
  ---
173
296
 
174
297
  ## Tech Stack
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ignission/slack-task-mcp",
3
- "version": "0.2.6",
3
+ "version": "0.2.8",
4
4
  "description": "MCP Server for Slack task management with Claude Code",
5
5
  "type": "module",
6
6
  "main": "src/index.js",