Hi! Two issues hit while using this plugin via Claude Code.
Environment
- Claude Code: 2.1.141
- Plugin:
slack@claude-plugins-official v1.0.0
- macOS
1. .mcp.json self-collision on plugin load
The bundled .mcp.json declares the server with key "slack":
{
"mcpServers": {
"slack": {
"type": "http",
"url": "https://mcp.slack.com/mcp",
...
}
}
}
When Claude Code loads it as a plugin, the loader appears to attempt registration twice — once namespaced and once plain — and the second one is dropped. /doctor reports the following warning on every reload, with no actionable fix on the user side:
Plugin (slack @ plugin:slack:slack): MCP server "slack" skipped — same command/URL as already-configured "slack"
claude mcp list confirms the plugin is registered as plugin:slack:slack and tools work normally. The warning seems purely cosmetic but never clears.
Suggested fix: rename the internal server key inside .mcp.json from slack to something like slack-mcp so the namespaced ID (plugin:slack:slack-mcp) does not collide with the plain key.
2. OAuth redirect_uri mismatch
Following the OAuth URL returned by the auth flow yields:
redirect_uri did not match any configured URIs. Passed URI: http://...
The passed redirect_uri is http://localhost:3118/callback. The Slack OAuth app behind client_id=1601185624273.8899143856786 (the one declared in .mcp.json) does not seem to have this redirect URI configured.
Worth noting: the plugin also ships a .cursor-mcp.json with a different client_id (3660753192626.8903469228982), suggesting separate OAuth apps for Claude Code vs Cursor — perhaps the Claude-targeted one is missing the http://localhost:3118/callback redirect URI in its Slack app config.
Happy to provide more detail if helpful.
Hi! Two issues hit while using this plugin via Claude Code.
Environment
slack@claude-plugins-officialv1.0.01.
.mcp.jsonself-collision on plugin loadThe bundled
.mcp.jsondeclares the server with key"slack":{ "mcpServers": { "slack": { "type": "http", "url": "https://mcp.slack.com/mcp", ... } } }When Claude Code loads it as a plugin, the loader appears to attempt registration twice — once namespaced and once plain — and the second one is dropped.
/doctorreports the following warning on every reload, with no actionable fix on the user side:claude mcp listconfirms the plugin is registered asplugin:slack:slackand tools work normally. The warning seems purely cosmetic but never clears.Suggested fix: rename the internal server key inside
.mcp.jsonfromslackto something likeslack-mcpso the namespaced ID (plugin:slack:slack-mcp) does not collide with the plain key.2. OAuth
redirect_urimismatchFollowing the OAuth URL returned by the auth flow yields:
The passed
redirect_uriishttp://localhost:3118/callback. The Slack OAuth app behindclient_id=1601185624273.8899143856786(the one declared in.mcp.json) does not seem to have this redirect URI configured.Worth noting: the plugin also ships a
.cursor-mcp.jsonwith a differentclient_id(3660753192626.8903469228982), suggesting separate OAuth apps for Claude Code vs Cursor — perhaps the Claude-targeted one is missing thehttp://localhost:3118/callbackredirect URI in its Slack app config.Happy to provide more detail if helpful.