Monday, July 13, 2026

Getting Grok Build connected to Slack MCP

 


Now that I have Grok Build Installed https://www.whiteboardcoder.com/2026/07/install-grok-build-on-ubuntu-2404.html [1]

Let’s see if I can get it talking to Slack via the Slack MCP https://mcp.slack.com/mcp .  For some details on Slack MCP see https://docs.slack.dev/ai/slack-mcp-server/  [2]


 

What is MCP?

Before I dive into it… what is MCP?

Anthropic, the company that created Claude Code, announced the introduction the Model Context Protocol (see Introducing the Model Context Protocol https://www.anthropic.com/news/model-context-protocol [3]

For the latest specks on MCP head over to  https://modelcontextprotocol.io/specification/2025-11-25 [4]

 

What is an MCP server?

The short answer is it’s a small program.  It can run locally or remotely.  It acts as a standardized bridge between and AI model like Claude Code and some capability or data source.

The MCP server is like a specialized adapter that gives the AI access to something specific.

An MCP server can expose three main things.   Tools, Resources, and prompts.

 


Connecting it up

OK let’s see what we can do to this connected up.
I do not think this will currently work with a free plan.  I believe you need a pro or higher Slack plan.

From the command line run this.  (this should handle OAuth Automatically)

 

> grok mcp add --transport http slack https://mcp.slack.com/mcp

 

 


OK that did not do any authorization at all.
Let me see what it updated in the config.toml file

 

> vi ~/.grok/config.toml

 

 


Nothing much there so something still needs to be authorized/set up

Let me restart grok

 

> grok

 

 

And run

 

> /mcps

 

 



I can see the Slack MCP but I can also see it needs auth

Scroll down and click on it


OK it failed… I already knew that… Looks like nothing here to help me

OK how can I fix this?

From the command line, not grok, run this command.

 

> grok mcp list

 

 

OK I can see my list of MCPs but there it not much there.

 

Edit ~/.grok/config.toml file

 

> vi ~/.grok/config.toml

 

And update the Slack section to

 

[mcp_servers.slack]
url = "https://mcp.slack.com/mcp"
enabled = true
oauth = true          # ← Add this line
# Optional extra headers for discovery
headers = { "Accept" = "application/json" }

 

 

Now restart grok

… Still failing


Run this to check

 

 

> grok mcp doctor slack

 

And I get back this…

 

2026-07-13T13:15:52.219592Z ERROR worker quit with fatal: Transport channel closed, when AuthRequired(AuthRequiredError { www_authenticate_header: "Bearer resource_metadata=\"https://mcp.slack.com/.well-known/oauth-protected-resource\"" })

MCP Doctor

  Config sources
    ~/.grok/config.toml                      1 server
    ~/.claude.json                           1 server
    .mcp.json                                not found
    grok.com                                 0 servers 

  slack (http: https://mcp.slack.com/mcp)
     server started (0.3s)
     handshake failed (Send message error Transport [rmcp::transport::worker::WorkerTransport<rmcp::transport::streamable_http_client::StreamableHttpClientWorker<xai_grok_mcp::mcp_http_client::McpHttpClient<reqwest::async_impl::client::Client>>>] error: Auth required, when send initialize request)
    → check server logs

 Found 0 healthy, 1 failing. Run `grok mcp doctor --json` for full diagnostics.

 

 


So… What is going on?

At this point it seems grok build is failing to make the OAuth connection.   I believe this is an error on Grok’s part.  So maybe this method will work a month from now…

In the meantime can I get it working an alternate way?

 


Alternate Connection Method

OK let’s try another way to connect.  I am going to create a slack app just to borrow its OAuth token to reuse.  (this assumes you are an admin in your Slack Pro or higher plan)

Open https://api.slack.com/apps

 


 

Click on Create New App

 

 


Choose From scratch

 

 


Give it a name, I am calling mine Grok MPC and click Create App

 

 



Click on OAuth & Permissions

 

 

 


Under User Token Scopes click on Add an OAuth Scope

 

 

 



Add the following scopes

 

search:read
search:read.public
search:read.private
channels:history
groups:history
mpim:history
im:history
chat:write
files:read
users:read
channels:read
emoji:read
reactions:write

 

 



 

 


Click on Install to <Workspace>


 

 


Click Allow

 

 

 



Copy the xoxp- OAuth token

 

 

 

 



Click On Agents and enable “Slack Model Context Protocol (MCP) Server.

 

 

 

 



Now we are going to put it in our config

 

> vi ~/.grok/config.toml

 

 

 

Place the following in it.

 

[mcp_servers.slack]
url = "https://mcp.slack.com/mcp"
enabled = true
headers = { "Authorization" = "Bearer ${SLACK_USER_TOKEN}" }

 

 


 

Now export your token (but use your token)

 

> export SLACK_USER_TOKEN="xoxp-your-actual-token-here"

 

(Now eventually you will need to put this in your ~/.profile or ~/.bashrc file so its always captured

 

Now run

 

> grok mcp doctor slack

 

 



OK I think we might be OK.

 

Let’s start Grok

 

> grok

 

 

Run /mcps

 

> /mcps

 

 


OK it looks happy now!

 


Testing

 

> Send a message to myself in Slack that says "My First MCP Slack Test vi Grok"

 

 





Wahoo got it to work!



 

> What is the last direct message Lisa sent me?

 

 


Nice it found it!

 

(I dragged and dropped the file into the cmd prompt)

 

> Send this image to myself in Slack C:\Users\baile\Downloads\gir_for_wheel.png

 

 



Oops it failed looks like I need to add some permissions to my Temporary MCP app

 

Head back to Add an OAuth Scope



Add Files:Write permission

 

Then reinstall your app (So changes take place)

 

 

 


 

It Worked!!

Neat

 


 

Conclusions

I need to review this in a month or two.  My temporary solution is kinda neat and I can see needing to make specific apps like this for MCP access in the future that could be used to limit… or control permissions into Slack.

But I think the common answer for a user would be to just set up the default MCP and … I think when you do that it would try to authorize your user?  Then you could use your own permissions to post/read slack… So for example you would not be able to read from rooms you are not a part of.


 

References

 

[1]       Install Grok Build on Ubuntu 24.04
             
https://www.whiteboardcoder.com/2026/07/install-grok-build-on-ubuntu-2404.html
               
Accessed 07/2026
[2]       MCP overview
           https://docs.slack.dev/ai/slack-mcp-server/
            
Accessed 07/2026
[3]      Introducing the Model Context Protocol
           https://www.anthropic.com/news/model-context-protocol
           
Accessed 07/2026
[4]       MCP Spec
           https://modelcontextprotocol.io/specification/2025-11-25
            
Accessed 07/2026

 

 

 

 


No comments:

Post a Comment