list_channelsLABSCO SUMMARY
Slack posting with the login built in.
Two tools do the work — list the channels, post the message — behind a Slack OAuth flow that runs on first use, so no token is minted by hand.
What it is
A remote Slack server built on FastMCP. It runs the Slack OAuth flow itself and persists the token — locally, or in DynamoDB when deployed to the cloud — so each user authorizes their own workspace.
What you get
- list_channels returns the workspace's channels mapped to their IDs
- post_message posts to a channel by channel_id
- get_auth_status reports whether the current user is authorized
- The OAuth flow starts automatically on the first tool call, rather than needing a token pasted into a config file
- Dynamic client registration, so clients that register themselves connect without manual setup
Requirements
Python 3.11 or later and uv. You bring your own Slack app: register it in Slack's app console and give the server that app's client id and secret, with the chat:write and channels:read scopes and a redirect URL registered. Runs locally or on AWS App Runner.
Setup effort
Build from source — git clone https://github.com/miyatsuki/study-slack-remote-mcp.git
USE CASES
Posting an update where the team will see it
The message goes to the channel from whatever you were working in, without switching to Slack to paste it.
Finding the channel to post into
Channel names mapped to their IDs, which is the lookup that otherwise means scrolling a sidebar.
Checking whether you are still signed in
Authorization status answered directly, so a failed post is diagnosed rather than retried blindly.
3 tools
Listed in project docs. Your client may show a different list.
post_messageget_auth_statusBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Requires
- Python 3.11+
- uv (Python package manager)
- SLACK_CLIENT_ID in your environment
- SLACK_CLIENT_SECRET in your environment
INSTALLATION
Connect your client
Server setup
Create a Slack app at https://api.slack.com/apps, add the chat:write and channels:read OAuth scopes and the redirect URL http://localhost:8080/slack/callback, then copy its Client ID and Client Secret
git clone https://github.com/miyatsuki/study-slack-remote-mcp.git
cd study-slack-remote-mcp
uv syncCreate a .env file in that folder with SLACK_CLIENT_ID=<YOUR_SLACK_CLIENT_ID> and SLACK_CLIENT_SECRET=<YOUR_SLACK_CLIENT_SECRET>
MCP Clients
VS Code
Start the server in your clone with uv run python server.py (it listens on port 8080)
Install the MCP extension for VS Code
Connect to the server URL http://localhost:8080/mcp/
The OAuth flow starts automatically the first time you use a tool