Slack Feedback MCP Server
Enables Claude to collect and search for product feedback directly from Slack workspaces. It provides tools for pulling stakeholder messages with date filtering, retrieving full conversation threads, and searching feedback by keywords.
README
Slack Feedback MCP Server
MCP server for collecting product feedback from Bryan and others in the StartupOS Slack workspace.
What It Does
This MCP server provides three tools for Claude Code:
- get_stakeholder_feedback - Pull messages from Bryan (and others) with flexible date filtering
- get_thread_context - Retrieve full conversation threads
- search_feedback - Search feedback by keywords
Setup Instructions
Step 1: Create the Slack Channel
- In your StartupOS Slack workspace, create a new channel:
#bryan-product-feedback - Invite Bryan to the channel
- Get the channel ID:
- Right-click the channel name
- Select "View channel details"
- Scroll to the bottom and copy the Channel ID (starts with C...)
Step 2: Get Bryan's User ID
- Click on Bryan's profile in Slack
- Click "More" → "Copy member ID"
- Save this ID (starts with U...)
Step 3: Create the Slack App
- Go to https://api.slack.com/apps
- Click "Create New App" → "From scratch"
- Name: "Feedback Collector MCP"
- Workspace: StartupOS
- Click "Create App"
Step 4: Configure Bot Permissions
- In your app settings, go to "OAuth & Permissions"
- Scroll to "Scopes" → "Bot Token Scopes"
- Add these scopes:
channels:history- Read messages in public channelschannels:read- View basic channel infogroups:history- Read messages in private channelsgroups:read- View basic private channel infousers:read- Get user infosearch:read- Search messages
Step 5: Install to Workspace
- Scroll to the top of "OAuth & Permissions"
- Click "Install to Workspace"
- Click "Allow"
- Copy the "Bot User OAuth Token" (starts with
xoxb-)
Step 6: Add Bot to Channel
- Go to the
#bryan-product-feedbackchannel in Slack - Type:
/invite @Feedback Collector MCP - Press Enter
Step 7: Deploy to Railway
Option A: Deploy from GitHub (Recommended)
- Push this code to a GitHub repository
- Go to https://railway.app and sign up with GitHub
- Click "New Project" → "Deploy from GitHub repo"
- Select your repository
- Railway will auto-detect the Node.js project
Option B: Deploy via CLI
npm install -g @railway/cli
railway login
railway init
railway up
Step 8: Set Environment Variables in Railway
In your Railway project dashboard:
-
Go to the "Variables" tab
-
Add these variables:
SLACK_BOT_TOKEN= your xoxb- token from Step 5SLACK_BRYAN_USER_ID= Bryan's user ID from Step 2FEEDBACK_CHANNEL_ID= channel ID from Step 1PORT= 3000
-
Save and redeploy if needed
Step 9: Get Your Railway URL
After deployment, Railway assigns you a public URL like:
https://slack-feedback-mcp-production-xxxx.up.railway.app
Copy this URL.
Step 10: Configure Claude Code
Add to your Claude Code MCP settings file:
Location: ~/.claude/settings.json or project .mcp.json
{
"mcpServers": {
"slack-feedback": {
"type": "sse",
"url": "https://YOUR-RAILWAY-URL.up.railway.app/sse"
}
}
}
Replace YOUR-RAILWAY-URL with your actual Railway URL.
Testing
Restart Claude Code and try:
- "Pull feedback from Bryan from the last 48 hours"
- "Search for feedback mentioning 'authentication'"
- "Get the full thread for this message" (when you have a thread_ts)
Available Tools
get_stakeholder_feedback
Pull messages from the feedback channel with date filtering.
Parameters:
time_range(optional): "last 48 hours", "last 7 days", "today", "this week", etc.stakeholder(optional): "bryan" or "all" (default: "all")channel_id(optional): Specific channel to search
Example:
Pull Bryan's feedback from the last 2 days
get_thread_context
Get full conversation thread including all replies.
Parameters:
channel_id(required): Channel IDthread_ts(required): Parent message timestamp
Example:
Get the full thread for message ts: 1234567890.123456 in channel C0XXXXXXXXX
search_feedback
Search Bryan's messages by keyword.
Parameters:
query(required): Search keywordstime_range(optional): Time range filter
Example:
Search Bryan's feedback for "login flow" from the last month
Local Development
- Copy
.env.exampleto.env - Fill in your values
- Run:
npm run dev
Server runs on http://localhost:3000
Security Notes
- Never commit
.envor tokens to git - Slack bot token only has read permissions
- Railway environment variables are encrypted at rest
Troubleshooting
"Channel not found" error:
- Make sure you invited the bot to the channel (
/invite @Feedback Collector MCP) - Verify the channel ID is correct
"Not authorized" error:
- Check that all required scopes are added in the Slack app settings
- Reinstall the app to workspace after adding scopes
No messages returned:
- Verify Bryan's user ID is correct
- Check that there are actually messages in the time range
- Try a longer time range like "last 30 days"
Future Enhancements
The codebase is structured to support Claude-powered summarization and categorization of feedback. To enable this:
- Add
ANTHROPIC_API_KEYenvironment variable - Uncomment summarization logic in the tools
- Add
@anthropic-ai/sdkdependency
For now, raw messages are returned for maximum flexibility.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。