Skip to main content

Create a Slack App

The Slack MCP server uses OAuth with user tokens — it needs to act as you in Slack, not as a bot. Slack requires you to bring your own OAuth app (client ID + secret) so that access tokens are issued under your Slack workspace's control.

This page walks you through creating a Slack app from a JSON manifest and getting the credentials that Bloque needs.

Prerequisites

  • A Slack account with permission to create apps in your workspace (you do not need to be a workspace admin)

Step 1: Create the app

  1. Go to https://api.slack.com/apps and click Create New App.
  2. Choose From a manifest.
  3. Select the Slack workspace you want to connect, then click Next.
  4. Choose JSON as the manifest format, replace the default content with the manifest below, then click Next and Create.
{
"display_information": {
"name": "Bloque Slack Integration",
"description": "Slack integration for Bloque MCP Hub"
},
"oauth_config": {
"redirect_urls": [
"https://bloque.run/api"
],
"scopes": {
"user": [
"chat:write",
"canvases:write",
"search:read.public",
"search:read.private",
"search:read.mpim",
"search:read.im",
"search:read.files",
"search:read.users",
"channels:history",
"groups:history",
"mpim:history",
"im:history",
"canvases:read",
"users:read",
"users:read.email"
]
},
"pkce_enabled": false
},
"settings": {
"org_deploy_enabled": false,
"socket_mode_enabled": false,
"token_rotation_enabled": false,
"is_mcp_enabled": true
}
}

No bot scopes: The Slack MCP server uses user tokens only. The manifest intentionally includes no bot scopes — bot tokens are for Slack's own in-Slack AI experience and are not needed here.

Step 2: Get your credentials

After the app is created, you land on the app's configuration page.

  1. In the left sidebar, click Basic Information.
  2. Scroll to App Credentials.
  3. Copy the Client ID and Client Secret.

You will enter these values when adding the Slack MCP server in Bloque.

Next step

Add the Slack MCP server to your Hub and paste the credentials in the authentication form. See Authenticate for the full OAuth flow.