A slack bot with an MCP client for slack in Typescript.
Current support for:
- HTTP Streamable, Stdio MCP servers as defined in version 2025-03-26
- The Oauth based authorization flow defined in version 2025-03-26
- SSE MCP servers as defined in the previous version of the protocol.
- MCP Tools only (more coming soon)
Check out the video for a brief overview of what it can do! The video is using this linkedin-mcp-server which supports the latest authentication specification of the protocol.
Demo.slack.agent.mp4
Follow those instructions to run it locally.
- Expose your http://localhost:3000 to the web: https://ngrok.com/docs/getting-started/
- You can also use the socketMode of slack apps if you do not want to use ngrok. You'll need to set socketMode to true when instanciating the bolt App, and activate the socketMode of your app in the slack App management dashboard.
- Edit the slack-app-manifest.json: copy your ngrok url in the request_url fields.
- Add a new App in your slack workspace, you can configure it with the slack-app-manifest.json file.
- Create an .env file from the env.example file
cp .env.example .env