https://github.com/jtalk22/slack-mcp-server
Full Slack access for Claude - DMs, channels, search. No OAuth. No admin approval. Just works.
https://github.com/jtalk22/slack-mcp-server
ai anthropic automation browser-tokens claude claude-desktop cli developer-tools llm mcp mcp-server model-context-protocol no-oauth productivity slack slack-api
Last synced: 4 months ago
JSON representation
Full Slack access for Claude - DMs, channels, search. No OAuth. No admin approval. Just works.
- Host: GitHub
- URL: https://github.com/jtalk22/slack-mcp-server
- Owner: jtalk22
- License: mit
- Created: 2026-01-03T19:19:56.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-02-24T14:28:57.000Z (4 months ago)
- Last Synced: 2026-02-24T18:52:24.336Z (4 months ago)
- Topics: ai, anthropic, automation, browser-tokens, claude, claude-desktop, cli, developer-tools, llm, mcp, mcp-server, model-context-protocol, no-oauth, productivity, slack, slack-api
- Language: JavaScript
- Homepage: https://jtalk22.github.io/slack-mcp-server/public/demo-claude.html
- Size: 15 MB
- Stars: 13
- Watchers: 1
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-mcp-servers - **jtalk22/slack-mcp-server π πͺ π§** - Your complete Slack context for ClaudeβDMs, channels, threads, search. No OAuth apps, no admin approval. --setup and done, 11 tools, auto-refresh. `auth` `oauth` `http` `git` `github` (π¬ Communication)
README
# Slack MCP Server
[](https://www.npmjs.com/package/@jtalk22/slack-mcp)
[](https://www.npmjs.com/package/@jtalk22/slack-mcp)
[](https://registry.modelcontextprotocol.io)
[](https://opensource.org/licenses/MIT)
Give Claude your Slack. 16 tools β read channels, search messages, send replies, react, manage unreads. Self-host free or Cloud from $19/mo.
## Tools
| Tool | Description | Safety |
|------|-------------|--------|
| `slack_health_check` | Verify token validity and workspace info | read-only |
| `slack_token_status` | Token age, health, and cache stats | read-only |
| `slack_refresh_tokens` | Auto-extract fresh tokens from Chrome | read-only* |
| `slack_list_conversations` | List DMs and channels | read-only |
| `slack_conversations_history` | Get messages from a channel or DM | read-only |
| `slack_get_full_conversation` | Export full history with threads | read-only |
| `slack_search_messages` | Search across workspace | read-only |
| `slack_get_thread` | Get thread replies | read-only |
| `slack_users_info` | Get user details | read-only |
| `slack_list_users` | List workspace users (paginated, 500+) | read-only |
| `slack_users_search` | Search users by name, display name, or email | read-only |
| `slack_conversations_unreads` | Get channels/DMs with unread messages | read-only |
| `slack_send_message` | Send a message to any conversation | **destructive** |
| `slack_add_reaction` | Add an emoji reaction to a message | **destructive** |
| `slack_remove_reaction` | Remove an emoji reaction from a message | **destructive** |
| `slack_conversations_mark` | Mark a conversation as read | **destructive** |
All tools carry [MCP safety annotations](https://modelcontextprotocol.io/specification/2025-03-26/server/tools#annotations): 12 read-only (`readOnlyHint: true`), 4 write-path (`destructiveHint: true`). Only `slack_send_message` is non-idempotent.
\* `slack_refresh_tokens` modifies local token file only β no external Slack state.
## Cloud (Recommended)
Skip all local setup. Paste one URL into Claude and get 16 Slack tools in 60 seconds. Encrypted token storage on Cloudflare's edge (300+ PoPs). OAuth 2.1 with PKCE S256.
| Plan | Price | Includes |
|------|-------|----------|
| Solo | $19/mo | 15 standard tools, AES-256-GCM encrypted storage, 5K requests/mo |
| Team | $49/mo | 15 standard + 3 AI compound tools, 3 workspaces, 25K requests/mo |
[Get Started](https://mcp.revasserlabs.com) Β· [Privacy Policy](https://mcp.revasserlabs.com/privacy)
## Install (Self-Hosted)
**Runtime:** Node.js 20+
```bash
npx -y @jtalk22/slack-mcp --setup
```
The setup wizard handles token extraction and validation automatically.
Claude Desktop (macOS)
Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@jtalk22/slack-mcp"]
}
}
}
```
Claude Desktop (Windows/Linux)
Edit `%APPDATA%\Claude\claude_desktop_config.json`:
```json
{
"mcpServers": {
"slack": {
"command": "npx",
"args": ["-y", "@jtalk22/slack-mcp"],
"env": {
"SLACK_TOKEN": "xoxc-your-token",
"SLACK_COOKIE": "xoxd-your-cookie"
}
}
}
}
```
> Windows/Linux users must provide tokens via `env` since auto-refresh is macOS-only.
Claude Code CLI
Add to `~/.claude.json`:
```json
{
"mcpServers": {
"slack": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@jtalk22/slack-mcp"]
}
}
}
```
Docker
```bash
docker pull ghcr.io/jtalk22/slack-mcp-server:latest
```
```json
{
"mcpServers": {
"slack": {
"command": "docker",
"args": ["run", "-i", "--rm",
"-v", "~/.slack-mcp-tokens.json:/root/.slack-mcp-tokens.json",
"ghcr.io/jtalk22/slack-mcp-server"]
}
}
}
```
Restart Claude after configuration. Full setup guide: [docs/SETUP.md](docs/SETUP.md)
## Hosted HTTP Mode
For remote MCP endpoints (Cloudflare Worker, VPS, etc.):
```bash
SLACK_TOKEN=xoxc-... \
SLACK_COOKIE=xoxd-... \
SLACK_MCP_HTTP_AUTH_TOKEN=change-this \
SLACK_MCP_HTTP_ALLOWED_ORIGINS=https://claude.ai \
node src/server-http.js
```
Details: [docs/DEPLOYMENT-MODES.md](docs/DEPLOYMENT-MODES.md)
## Troubleshooting
**Tokens expired:** Run `npx -y @jtalk22/slack-mcp --setup` or use `slack_refresh_tokens` in Claude (macOS).
**DMs not showing:** Use `slack_list_conversations` with `discover_dms=true` to force discovery.
**Claude not seeing tools:** Verify JSON syntax in config, check logs at `~/Library/Logs/Claude/mcp*.log`, fully restart Claude (Cmd+Q).
More: [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md)
## Docs
- [Setup Guide](docs/SETUP.md) β Token extraction and configuration
- [API Reference](docs/API.md) β All 16 tools with parameters and examples
- [Deployment Modes](docs/DEPLOYMENT-MODES.md) β stdio, web, hosted HTTP, Cloudflare Worker
- [Use Case Recipes](docs/USE_CASE_RECIPES.md) β 12 copy-paste prompts
- [Troubleshooting](docs/TROUBLESHOOTING.md) β Common issues and fixes
- [Compatibility](docs/COMPATIBILITY.md) β Client compatibility matrix
- [Support Boundaries](docs/SUPPORT-BOUNDARIES.md) β Scope and response targets
- [Docs Index](docs/INDEX.md) β Full documentation index
## Security
- Token files stored with `chmod 600` (owner-only)
- macOS Keychain provides encrypted backup
- Web server binds to localhost only
- API keys are cryptographically random (`crypto.randomBytes`)
- See [SECURITY.md](SECURITY.md) for vulnerability reporting
## Contributing
PRs welcome. Run `node --check` on modified files before submitting.
## License
MIT β See [LICENSE](LICENSE)
## Disclaimer
This project accesses Slack's Web API using browser session credentials. It is not affiliated with or endorsed by Slack Technologies, Inc. Slack workspace administrators should review their acceptable use policies.