OpenCode Slack MCP Proxy
Provides a proxy for the Slack MCP server, enabling seamless integration with Slack's messaging and collaboration platform by adapting OAuth flows for compatibility with local development tools.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OpenCode Slack MCP Proxysummarize the latest messages in the #development channel"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
opencode-slack-mcp-proxy
Local TypeScript + Hono facade for Slack MCP that only intercepts the Slack OAuth-specific surfaces it must rewrite, while proxying MCP traffic to Slack and preserving the incoming Slack clientId from opencode requests.
Motivation
Slack MCP is designed to work with Claude Code's OAuth flow. opencode uses a fixed local callback port for OAuth, and Slack MCP does not authenticate correctly against that flow out of the box.
Because of that mismatch, Slack MCP authentication fails in opencode unless the OAuth endpoints and callback flow are adapted. This project acts as a small local proxy that rewrites only the Slack OAuth-specific pieces, keeps the rest of the MCP traffic pointed at Slack, and makes Slack MCP usable from opencode.
Related MCP server: slack-mcp
Installation
See docs/installation.md for setup, background-run instructions, Docker usage, verification, and troubleshooting.
Useful commands:
pnpm lint
pnpm format
pnpm format:check
pnpm typecheck
pnpm check
pnpm test
pnpm test:allSource lives in src/, and the main route implementation is in src/app.ts.
For production-style runs, the app can also be compiled to build/ and started with pnpm start.
Optional environment variables:
FACADE_HOST- facade host, default127.0.0.1FACADE_PORTorPORT- facade port, default3120CALLBACK_HOST- callback listener host, default127.0.0.1CALLBACK_PORT- callback port, default3118LOG_LEVEL- pino log level, defaultinfoOPENCODE_HOST- opencode callback host, default127.0.0.1OPENCODE_PORT- opencode callback port, default19876OPENCODE_CALLBACK_PATH- opencode callback path, default/mcp/oauth/callbackREQUEST_TIMEOUT_MS- timeout for Slack and local proxy requests, default10000
All listener hosts are restricted to loopback values (127.0.0.1 or localhost) to avoid exposing the callback bridge on external interfaces.
For containerized runs, listener hosts may also use 0.0.0.0, and OPENCODE_HOST may be set to a reachable host such as host.docker.internal.
opencode config
Use this in place of the remote Slack MCP URL after the local facade is already running:
{
"slack": {
"type": "remote",
"url": "http://127.0.0.1:3120/mcp",
"oauth": {
"clientId": "YOUR_SLACK_CLIENT_ID"
}
}
}Flow
opencode connects to the local MCP facade at
http://127.0.0.1:3120/mcpthe facade serves local OAuth discovery metadata
opencode uses the facade's local authorize and token endpoints
the authorize endpoint redirects to Slack with
redirect_uri=http://localhost:3118/callbackthe callback bridge forwards Slack's callback to
http://127.0.0.1:19876/mcp/oauth/callbackthe token endpoint forwards to Slack and forces the same
redirect_uri=http://localhost:3118/callback
Logs
The server logs:
OAuth discovery responses
authorize forwarding and rewritten
redirect_uritoken forwarding and rewritten
redirect_uriSlack token response status and sanitized body
callback forwarding to opencode
Tests
The unit tests cover the highest-risk rewrite paths:
authorize redirect rewriting
token redirect rewriting
callback proxy failure handling
WWW-Authenticateresource metadata rewriting
Use pnpm test for unit tests and pnpm test:all to run both static checks and tests together.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityBmaintenanceThe most powerful MCP server for Slack Workspaces. This integration supports both Stdio and SSE transports, proxy settings and does not require any permissions or bots being created or approved by Workspace admins 😏.Last updated21,757MIT
- Alicense-qualityDmaintenanceRead-only MCP server for Slack with OAuth 2.1 authentication, enabling message retrieval, thread replies, search, user and channel listing.Last updated8Apache 2.0
- Alicense-qualityDmaintenanceMCP server that connects Claude Code to Slack, allowing two-way communication via Slack Socket Mode without tunnels.Last updatedMIT
- Flicense-qualityBmaintenanceLocal stdio MCP proxy for the official Slack MCP endpoint, using Claude's Slack plugin for authentication to enable Slack integration via MCP without needing a custom Slack app.Last updated
Related MCP Connectors
Slack MCP without OAuth — 21 tools, session-based, local-first. Free OSS + hosted tier from $19/mo.
The official MCP Server from Mia-Platform to interact with Mia-Platform Console
MCP server for verifying EUDI/Talao wallet data via OIDC4VP (pull) for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NikaBuligini/opencode-slack-mcp-proxy'
If you have feedback or need assistance with the MCP directory API, please join our Discord server