Slack MCP not_allowed_token_type on conversations_unreads
Fixes the Slack MCP server failing conversations_unreads with not_allowed_token_type. Use when other Slack tools work but unread counts fail. Not for missing_scope or channel errors.
Slack MCP notallowedtokentype on conversationsunreads
TL;DR: conversationsunreads needs a user token (xoxc or xoxd); a bot token (xoxb) is rejected with notallowedtokentype. Add a user token to the server config alongside the bot token. Restart the client and retry the unread query.
The error
not_allowed_token_typeFix it
- Check which token type your Slack MCP config uses.
Expected: It uses a bot token (xoxb).
- Generate a user token (xoxc or xoxd) for the same Slack app with the needed scopes.
Expected: You have the user token value.
- Add the user token to the server config env.
Expected: Both tokens are configured.
- Restart the client and call conversations_unreads.
Expected: It returns unread data.
When this applies
Slack MCP conversationsunreads fails with notallowedtokentype while other tools work on a bot token.
When this does NOT apply
If everything fails, the bot token itself is wrong. missing_scope means the scope is absent, not the token type.
Tool compatibility
korotovsky/slack-mcp-server, recent versions
Also seen as
- Slack MCP unreads token type
- conversations_unreads xoxb fails
- notallowedtoken_type slack MCP
Why it happens
Slack restricts some read APIs to user tokens. The MCP server passes your bot token through, and Slack rejects the token type before even checking scopes.
Edge cases
- User tokens act as you; only request the scopes you need.
- Some workspaces restrict user token creation; ask an admin.
- Keep both tokens in the config; other tools still use the bot token.
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.