Skip to main content
Glama
caramuto-redhat

Slack-MCP

slack-mcp

MCP server for Slack with log monitoring capabilities

πŸš€ Features

Core Slack Integration

  • Channel Management: Join channels and retrieve message history

  • Messaging: Post messages and threaded replies

  • Commands: Execute Slack slash commands

  • Reactions: Add emoji reactions to messages

  • Authentication: Verify identity and permissions

Log Monitoring & Team Collaboration

  • Server Log Reading: Access logs from any MCP server or application

  • Automated Alerts: Post log analysis to Slack channels

  • Team Debugging: Share logs instantly with team members

  • Multi-Server Monitoring: Monitor logs from multiple services

Related MCP server: Slack MCP Server

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ User/Team │───▢│ Pipeline-Toolkit │───▢│ Slack-MCP-Logger β”‚ β”‚ (Natural Language) β”‚ β”‚ (AI Orchestrator) β”‚ β”‚ (Slack Specialist)β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β–² β”‚ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Log Files β”‚ β”‚ Slack API β”‚ β”‚ β€’ pipeline_bot.log β”‚ β”‚ β€’ Channels β”‚ β”‚ β€’ testing_farm.log β”‚ β”‚ β€’ Messages β”‚ β”‚ β€’ application.log β”‚ β”‚ β€’ Reactions β”‚ β”‚ β€’ error.log β”‚ β”‚ β€’ Commands β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Workflow Example

  1. User: "Check recent pipeline logs and alert team if errors found"

  2. Pipeline-Toolkit AI: Understands intent, orchestrates actions

  3. Slack-MCP-Logger:

    • Reads logs via get_server_logs()

    • Posts alerts via post_message()

    • Adds reactions via add_reaction()

  4. Result: Team gets notified in Slack with actionable log data

πŸ› οΈ Built-in Tools

1. Channel Management

get_channel_history(channel_id: str) -> list[dict] join_channel(channel_id: str, skip_log: bool = False) -> bool

2. Messaging

post_message(channel_id: str, message: str, thread_ts: str = "", skip_log: bool = False) -> bool post_command(channel_id: str, command: str, text: str, skip_log: bool = False) -> bool

3. Reactions & Interactions

add_reaction(channel_id: str, message_ts: str, reaction: str) -> bool

4. Authentication

whoami() -> str

5. πŸ†• Log Monitoring

get_server_logs(log_file_path: str, lines: int = 50) -> str

πŸ“‹ Usage Examples

Log Monitoring & Team Alerts

# Read recent pipeline logs logs = get_server_logs("logs/pipeline_bot.log", 100) # Alert team with logs post_message("C-DEV-TEAM", f"🚨 Pipeline Issues:\n{logs}") # Mark for urgent attention add_reaction("C-DEV-TEAM", message_ts, "rotating_light")

Automated Monitoring Workflow

# Check multiple log sources pipeline_logs = get_server_logs("logs/pipeline_bot.log", 50) error_logs = get_server_logs("/var/log/app/error.log", 30) # Post to different channels based on content if "ERROR" in pipeline_logs: post_message("C-ALERTS", f"⚠️ Pipeline errors:\n{pipeline_logs}") if "CRITICAL" in error_logs: post_message("C-INCIDENTS", f"🚨 Critical app errors:\n{error_logs}")

Daily Team Updates

# Morning standup automation daily_logs = get_server_logs("logs/pipeline_bot.log", 200) post_message("C-STANDUP", f"β˜€οΈ Overnight activity summary:\n{daily_logs}")

πŸš€ Running with Podman or Docker

You can run the slack-mcp server in a container using Podman or Docker:

Example configuration for running with Podman:

{ "mcpServers": { "slack": { "command": "podman", "args": [ "run", "-i", "--rm", "-e", "SLACK_XOXC_TOKEN", "-e", "SLACK_XOXD_TOKEN", "-e", "MCP_TRANSPORT", "-e", "LOGS_CHANNEL_ID", "quay.io/redhat-ai-tools/slack-mcp" ], "env": { "SLACK_XOXC_TOKEN": "xoxc-...", "SLACK_XOXD_TOKEN": "xoxd-...", "MCP_TRANSPORT": "stdio", "LOGS_CHANNEL_ID": "C7000000", } } } }

🌐 Running with non-stdio transport

To run the server with a non-stdio transport (such as SSE), set the MCP_TRANSPORT environment variable to a value other than stdio (e.g., sse).

Example configuration to connect to a non-stdio MCP server:

{ "mcpServers": { "slack": { "url": "https://slack-mcp.example.com/sse", "headers": { "X-Slack-Web-Token": "xoxc-...", "X-Slack-Cookie-Token": "xoxd-..." } } } }

πŸ” Authentication

Extract your Slack XOXC and XOXD tokens easily using browser extensions or Selenium automation: https://github.com/maorfr/slack-token-extractor.

πŸ”§ Environment Variables

  • SLACK_XOXC_TOKEN: Slack web token (required)

  • SLACK_XOXD_TOKEN: Slack cookie token (required)

  • MCP_TRANSPORT: Transport mode (stdio or sse, default: stdio)

  • LOGS_CHANNEL_ID: Channel ID for logging MCP operations (required)

  • LOG_BASE_PATH: Optional base path for log file access security

🀝 Integration with Pipeline-Toolkit

This MCP server works seamlessly with Pipeline-Toolkit to provide:

  • Natural Language Processing: Ask questions in plain English

  • Intelligent Tool Selection: AI chooses the right tools automatically

  • Multi-Server Coordination: Monitor logs from multiple MCP servers

  • Team Collaboration: Share insights and alerts through Slack

Example Integration

# In Pipeline-Toolkit "Check recent logs and update the team if there are any errors" # Results in: # 1. get_server_logs("logs/pipeline_bot.log", 100) # 2. AI analysis of log content # 3. post_message("C-TEAM", error_summary) if issues found # 4. add_reaction() for team attention

πŸ“Š Use Cases

  • DevOps Monitoring: Automated log analysis and team alerts

  • Incident Response: Quick log sharing and team coordination

  • Daily Standups: Automated activity summaries

  • Build Monitoring: Pipeline status updates and failure alerts

  • Multi-Service Debugging: Centralized log access across services

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

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/caramuto-redhat/slack-mcp-logger'

If you have feedback or need assistance with the MCP directory API, please join our Discord server