-
Notifications
You must be signed in to change notification settings - Fork 19
docs: update README.md with install and feature sections #61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
84c72e1
docs: rewrite README for external users
mwbrooks 3159f6a
docs: replace Issues section with Contributing pointer
mwbrooks d475edf
Merge branch 'main' into mwbrooks-readme-skills-plugin
mwbrooks c1bf7f3
Update README.md
mwbrooks 97edd6f
Update README.md
mwbrooks dd60fb7
Update README.md
WilliamBergamin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,108 +1,93 @@ | ||
| # Slack Plugin | ||
| # Slack MCP and Skills Plugin | ||
|
|
||
| This repository contains the configuration needed to integrate Slack with Cursor IDE and Claude Code. The plugin enables your agents to interact directly with your Slack workspace, allowing you to search messages, send communications, manage canvases, and more—all through natural language. | ||
| A [Claude Code][claude-code] and [Cursor][cursor] plugin that brings Slack into your AI tools with a [Slack MCP Server][slack-mcp-docs] and set of Slack skills for both users and developers. | ||
|
|
||
| ## Features | ||
|
|
||
| The Slack MCP server provides the following capabilities: | ||
|
|
||
| - **Search**: Find messages, files, users, and channels (both public and private) | ||
| - **Messaging**: Send messages, retrieve channel histories, and access threaded conversations | ||
| - **Canvas**: Create and share formatted documents, export content as markdown | ||
| - **User Management**: Retrieve user profiles including custom fields and status information | ||
|
|
||
| ## Prerequisites | ||
|
|
||
| Before setting up the Slack MCP server, ensure you have: | ||
|
|
||
| - Cursor IDE or Claude Code CLI installed | ||
| - Access to a Slack workspace with MCP integration approved by your workspace admin | ||
| [](https://github.com/slackapi/slack-mcp-plugin/actions/workflows/ci-build.yml) | ||
| [](LICENSE) | ||
|
|
||
| ## Installation | ||
|
|
||
| Choose the installation method for your IDE: | ||
|
|
||
| ### Claude Code | ||
|
|
||
| If you're using Claude Code CLI, you can install this as a plugin by cloning it locally: | ||
| The plugin is published on the [official Claude marketplace](https://claude.com/plugins/slack). Install it from inside Claude Code: | ||
|
|
||
| ```bash | ||
| git clone https://github.com/slackapi/slack-mcp-plugin.git | ||
| cd slack-mcp-plugin | ||
| claude --plugin-dir ./ | ||
| ``` | ||
|
|
||
| The Slack MCP server will be automatically configured when the plugin loads. You will be prompted to authenticate into your Slack workspace via OAuth. | ||
|
|
||
| The Claude plugin uses the following MCP configuration (`.mcp.json`): | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "slack": { | ||
| "type": "http", | ||
| "url": "https://mcp.slack.com/mcp", | ||
| "oauth": { | ||
| "clientId": "1601185624273.8899143856786", | ||
| "callbackPort": 3118 | ||
| } | ||
| } | ||
| } | ||
| } | ||
| /plugin install slack@claude-plugins-official | ||
| ``` | ||
|
|
||
| The Slack MCP server is configured automatically. You'll be prompted to authenticate to your Slack workspace via OAuth on first use. | ||
|
|
||
| ### Cursor | ||
|
|
||
| You can use the following Add to Cursor button or follow the steps below to manually configure the Slack MCP server in Cursor: | ||
| Click the button below to add the Slack MCP server to Cursor: | ||
|
|
||
| [](https://cursor.com/en-US/install-mcp?name=slack&config=eyJ1cmwiOiJodHRwczovL21jcC5zbGFjay5jb20vbWNwIiwiYXV0aCI6eyJDTElFTlRfSUQiOiIzNjYwNzUzMTkyNjI2Ljg5MDM0NjkyMjg5ODIifX0%3D) | ||
|
|
||
| #### Step 1: Open Cursor Settings | ||
| After install, Cursor surfaces a connect button - use it to authenticate to your Slack workspace. | ||
|
|
||
| ## Features | ||
|
|
||
| Navigate to **Cursor → Settings → Cursor Settings** (or use the keyboard shortcut `Cmd+,` on macOS, `Ctrl+,` on Windows/Linux). | ||
| ### MCP Server | ||
|
|
||
| #### Step 2: Navigate to MCP Tab | ||
| The plugin connects your AI tool to Slack's hosted [MCP server][slack-mcp-docs]: | ||
|
|
||
| In the Settings interface, click on the **MCP** tab to access MCP server configurations. | ||
| - **Search** - find messages, files, users, and channels (public and private) | ||
| - **Messaging** - send and schedule messages, read channels, follow threads, add reactions | ||
| - **Canvas** - create, read, and update canvas documents | ||
| - **Users** - read profiles and list channel members | ||
|
|
||
| #### Step 3: Add Slack MCP Configuration | ||
| ### Skills | ||
|
|
||
| Add the following configuration to connect to the remote Slack MCP server: | ||
| Six skills load on demand to handle messaging tasks and developer workflows: | ||
|
|
||
| ```json | ||
| { | ||
| "mcpServers": { | ||
| "slack": { | ||
| "url": "https://mcp.slack.com/mcp", | ||
| "auth": { | ||
| "CLIENT_ID": "3660753192626.8903469228982" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| - [`slack:slack-messaging`](skills/slack-messaging/SKILL.md) - composing well-formatted, effective Slack messages | ||
| - [`slack:slack-search`](skills/slack-search/SKILL.md) - finding messages, files, channels, and people | ||
| - [`slack:slack-api`](skills/slack-api/SKILL.md) - discovering and calling Slack Web API methods | ||
| - [`slack:slack-cli`](skills/slack-cli/SKILL.md) - using the [Slack CLI][slack-cli] to create, run, and manage apps | ||
| - [`slack:create-slack-app`](skills/create-slack-app/SKILL.md) - building a Slack app or agent with the CLI and [Bolt][bolt] | ||
| - [`slack:block-kit`](skills/block-kit/SKILL.md) - building and validating [Block Kit][block-kit] layouts | ||
|
|
||
| ### Commands | ||
|
|
||
| Five slash commands for common Slack workflows: | ||
|
|
||
| - `/slack:summarize-channel <channel-name>` - Summarize recent activity in a Slack channel | ||
| - `/slack:find-discussions <topic>` - Find discussions about a specific topic across Slack channels | ||
| - `/slack:draft-announcement <topic>` - Draft a well-formatted Slack announcement and save it as a draft | ||
| - `/slack:standup` - Generate a standup update based on your recent Slack activity | ||
| - `/slack:channel-digest <channel1, channel2, ...>` - Get a digest of recent activity across multiple Slack channels | ||
|
|
||
| ## Usage examples | ||
|
|
||
| Save the configuration. You will also see a connect button once added. Click that to authenticate into your Slack Workspace. | ||
| Once installed, talk to your tool in natural language: | ||
|
|
||
| ## Usage Examples | ||
| - "Search for messages about the product launch from the last week" | ||
| - "Send a message to #general saying the deployment is complete" | ||
| - "Summarize the last day of activity in #engineering" | ||
| - "Draft an announcement about the new pricing page" | ||
| - "Create a new Slack app using Bolt for Python" | ||
| - "Build a Block Kit feedback modal with a rating select and a comments field" | ||
| - "Validate the Block Kit JSON in ./modal.json" | ||
|
|
||
| Once configured, you can interact with Slack through your AI assistant using natural language: | ||
| ## Documentation | ||
|
|
||
| - **Search messages**: "Search for messages about the product launch in the last week" | ||
| - **Send messages**: "Send a message to #general channel saying the deployment is complete" | ||
| - **Find users**: "Who is the user with email john@example.com?" | ||
| - **Access threads**: "Show me the conversation thread from that message" | ||
| - **Create canvases**: "Create a canvas document with our meeting notes" | ||
| - [Slack MCP server][slack-mcp-docs] | ||
| - [Slack developer docs](https://docs.slack.dev/) | ||
| - [Block Kit Builder][block-kit] | ||
|
|
||
| ## Documentation & Resources | ||
| ## Limitations | ||
|
|
||
| - [Official Slack MCP Server Documentation](https://docs.slack.dev/ai/mcp-server/) | ||
| - **Workspace admin approval.** Your Slack workspace admin must approve MCP integration before you can authenticate. | ||
|
|
||
| ## Notes & Limitations | ||
| ## Contributing | ||
|
|
||
| - **Remote server only**: This configuration connects to Slack's hosted MCP server. No local installation is required or supported. | ||
| - **Admin approval required**: Your Slack workspace administrator must approve MCP integration before you can use this feature. | ||
| We welcome contributions from everyone! Please check out our [contributor's guide](.github/contributing.md) for guidelines on opening issues and pull requests. | ||
|
|
||
| ## Questions or Issues? | ||
| Working on the plugin itself? See the [maintainer's guide](.github/maintainers_guide.md) for local development setup. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Praise 🙏 |
||
|
|
||
| For questions about the Slack MCP server or integration issues, please refer to the [official Slack documentation](https://docs.slack.dev/ai/mcp-server/) or contact your workspace administrator. | ||
| [claude-code]: https://claude.com/claude-code | ||
| [cursor]: https://cursor.com | ||
| [slack-mcp-docs]: https://docs.slack.dev/ai/mcp-server/ | ||
| [slack-cli]: https://tools.slack.dev/slack-cli | ||
| [bolt]: https://tools.slack.dev/bolt-js | ||
| [block-kit]: https://app.slack.com/block-kit-builder | ||
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
➕