{"id":35519242,"url":"https://github.com/jtalk22/slack-mcp-server","last_synced_at":"2026-03-11T02:04:08.010Z","repository":{"id":332460922,"uuid":"1127385442","full_name":"jtalk22/slack-mcp-server","owner":"jtalk22","description":"Full Slack access for Claude - DMs, channels, search. No OAuth. No admin approval. Just works.","archived":false,"fork":false,"pushed_at":"2026-02-24T14:28:57.000Z","size":15743,"stargazers_count":13,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-24T18:52:24.336Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://jtalk22.github.io/slack-mcp-server/public/demo-claude.html","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jtalk22.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"jtalk22","ko_fi":"jtalk22","buy_me_a_coffee":"jtalk22"}},"created_at":"2026-01-03T19:19:56.000Z","updated_at":"2026-02-24T14:30:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jtalk22/slack-mcp-server","commit_stats":null,"previous_names":["jtalk22/slack-mcp-server"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/jtalk22/slack-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtalk22%2Fslack-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtalk22%2Fslack-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtalk22%2Fslack-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtalk22%2Fslack-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jtalk22","download_url":"https://codeload.github.com/jtalk22/slack-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jtalk22%2Fslack-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29927644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"online","status_checked_at":"2026-02-28T02:00:07.010Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","anthropic","automation","browser-tokens","claude","claude-desktop","cli","developer-tools","llm","mcp","mcp-server","model-context-protocol","no-oauth","productivity","slack","slack-api"],"created_at":"2026-01-03T23:11:52.180Z","updated_at":"2026-03-11T02:04:07.999Z","avatar_url":"https://github.com/jtalk22.png","language":"JavaScript","funding_links":["https://github.com/sponsors/jtalk22","https://ko-fi.com/jtalk22","https://buymeacoffee.com/jtalk22"],"categories":["💬 Communication"],"sub_categories":[],"readme":"# Slack MCP Server\n\n[![npm version](https://img.shields.io/npm/v/@jtalk22/slack-mcp)](https://www.npmjs.com/package/@jtalk22/slack-mcp)\n[![npm downloads](https://img.shields.io/npm/dm/@jtalk22/slack-mcp)](https://www.npmjs.com/package/@jtalk22/slack-mcp)\n[![MCP Registry](https://img.shields.io/badge/MCP_Registry-v3.2.0-blue)](https://registry.modelcontextprotocol.io)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n\nGive Claude your Slack. 16 tools — read channels, search messages, send replies, react, manage unreads. Self-host free or Cloud from $19/mo.\n\n## Tools\n\n| Tool | Description | Safety |\n|------|-------------|--------|\n| `slack_health_check` | Verify token validity and workspace info | read-only |\n| `slack_token_status` | Token age, health, and cache stats | read-only |\n| `slack_refresh_tokens` | Auto-extract fresh tokens from Chrome | read-only* |\n| `slack_list_conversations` | List DMs and channels | read-only |\n| `slack_conversations_history` | Get messages from a channel or DM | read-only |\n| `slack_get_full_conversation` | Export full history with threads | read-only |\n| `slack_search_messages` | Search across workspace | read-only |\n| `slack_get_thread` | Get thread replies | read-only |\n| `slack_users_info` | Get user details | read-only |\n| `slack_list_users` | List workspace users (paginated, 500+) | read-only |\n| `slack_users_search` | Search users by name, display name, or email | read-only |\n| `slack_conversations_unreads` | Get channels/DMs with unread messages | read-only |\n| `slack_send_message` | Send a message to any conversation | **destructive** |\n| `slack_add_reaction` | Add an emoji reaction to a message | **destructive** |\n| `slack_remove_reaction` | Remove an emoji reaction from a message | **destructive** |\n| `slack_conversations_mark` | Mark a conversation as read | **destructive** |\n\nAll 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.\n\n\\* `slack_refresh_tokens` modifies local token file only — no external Slack state.\n\n## Cloud (Recommended)\n\nSkip 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.\n\n| Plan | Price | Includes |\n|------|-------|----------|\n| Solo | $19/mo | 15 standard tools, AES-256-GCM encrypted storage, 5K requests/mo |\n| Team | $49/mo | 15 standard + 3 AI compound tools, 3 workspaces, 25K requests/mo |\n\n[Get Started](https://mcp.revasserlabs.com) · [Privacy Policy](https://mcp.revasserlabs.com/privacy)\n\n## Install (Self-Hosted)\n\n**Runtime:** Node.js 20+\n\n```bash\nnpx -y @jtalk22/slack-mcp --setup\n```\n\nThe setup wizard handles token extraction and validation automatically.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eClaude Desktop (macOS)\u003c/strong\u003e\u003c/summary\u003e\n\nEdit `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"slack\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@jtalk22/slack-mcp\"]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eClaude Desktop (Windows/Linux)\u003c/strong\u003e\u003c/summary\u003e\n\nEdit `%APPDATA%\\Claude\\claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"slack\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@jtalk22/slack-mcp\"],\n      \"env\": {\n        \"SLACK_TOKEN\": \"xoxc-your-token\",\n        \"SLACK_COOKIE\": \"xoxd-your-cookie\"\n      }\n    }\n  }\n}\n```\n\n\u003e Windows/Linux users must provide tokens via `env` since auto-refresh is macOS-only.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eClaude Code CLI\u003c/strong\u003e\u003c/summary\u003e\n\nAdd to `~/.claude.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"slack\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@jtalk22/slack-mcp\"]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eDocker\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\ndocker pull ghcr.io/jtalk22/slack-mcp-server:latest\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"slack\": {\n      \"command\": \"docker\",\n      \"args\": [\"run\", \"-i\", \"--rm\",\n               \"-v\", \"~/.slack-mcp-tokens.json:/root/.slack-mcp-tokens.json\",\n               \"ghcr.io/jtalk22/slack-mcp-server\"]\n    }\n  }\n}\n```\n\n\u003c/details\u003e\n\nRestart Claude after configuration. Full setup guide: [docs/SETUP.md](docs/SETUP.md)\n\n## Hosted HTTP Mode\n\nFor remote MCP endpoints (Cloudflare Worker, VPS, etc.):\n\n```bash\nSLACK_TOKEN=xoxc-... \\\nSLACK_COOKIE=xoxd-... \\\nSLACK_MCP_HTTP_AUTH_TOKEN=change-this \\\nSLACK_MCP_HTTP_ALLOWED_ORIGINS=https://claude.ai \\\nnode src/server-http.js\n```\n\nDetails: [docs/DEPLOYMENT-MODES.md](docs/DEPLOYMENT-MODES.md)\n\n## Troubleshooting\n\n**Tokens expired:** Run `npx -y @jtalk22/slack-mcp --setup` or use `slack_refresh_tokens` in Claude (macOS).\n\n**DMs not showing:** Use `slack_list_conversations` with `discover_dms=true` to force discovery.\n\n**Claude not seeing tools:** Verify JSON syntax in config, check logs at `~/Library/Logs/Claude/mcp*.log`, fully restart Claude (Cmd+Q).\n\nMore: [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md)\n\n## Docs\n\n- [Setup Guide](docs/SETUP.md) — Token extraction and configuration\n- [API Reference](docs/API.md) — All 16 tools with parameters and examples\n- [Deployment Modes](docs/DEPLOYMENT-MODES.md) — stdio, web, hosted HTTP, Cloudflare Worker\n- [Use Case Recipes](docs/USE_CASE_RECIPES.md) — 12 copy-paste prompts\n- [Troubleshooting](docs/TROUBLESHOOTING.md) — Common issues and fixes\n- [Compatibility](docs/COMPATIBILITY.md) — Client compatibility matrix\n- [Support Boundaries](docs/SUPPORT-BOUNDARIES.md) — Scope and response targets\n- [Docs Index](docs/INDEX.md) — Full documentation index\n\n## Security\n\n- Token files stored with `chmod 600` (owner-only)\n- macOS Keychain provides encrypted backup\n- Web server binds to localhost only\n- API keys are cryptographically random (`crypto.randomBytes`)\n- See [SECURITY.md](SECURITY.md) for vulnerability reporting\n\n## Contributing\n\nPRs welcome. Run `node --check` on modified files before submitting.\n\n## License\n\nMIT — See [LICENSE](LICENSE)\n\n## Disclaimer\n\nThis 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtalk22%2Fslack-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjtalk22%2Fslack-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjtalk22%2Fslack-mcp-server/lists"}