Slack MCP Server - Complete Implementation

by yeoamlog

308 downloads
Not rated
GitHub

Description

# Slack MCP Server - Complete Implementation ## πŸ“‹ ν”„λ‘œμ νŠΈ κ°œμš” FastMCP v2λ₯Ό μ‚¬μš©ν•˜μ—¬ κ΅¬ν˜„ν•œ μ™„μ „ν•œ Slack API 연동 MCP μ„œλ²„μž…λ‹ˆλ‹€. 과제 κ°€μ΄λ“œλΌμΈμ— 따라 **ν•„μˆ˜ κΈ°λŠ₯ 4개**, **선택 κΈ°λŠ₯ 4개**, 그리고 **λ³΄λ„ˆμŠ€ λ½€λͺ¨λ„λ‘œ 타이머 κΈ°λŠ₯ 4개**λ₯Ό λͺ¨λ‘ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€. ### 🎯 μ£Όμš” νŠΉμ§• - βœ… **μ™„μ „ν•œ UTF-8 ν•œκΈ€ 지원** - λͺ¨λ“  λ©”μ‹œμ§€μ—μ„œ ν•œκΈ€ μ™„λ²½ 지원 - βœ… **이쀑 토큰 μ‹œμŠ€ν…œ** - Bot Token + User…

About

# Slack MCP Server - Complete Implementation ## πŸ“‹ ν”„λ‘œμ νŠΈ κ°œμš” FastMCP v2λ₯Ό μ‚¬μš©ν•˜μ—¬ κ΅¬ν˜„ν•œ μ™„μ „ν•œ Slack API 연동 MCP μ„œλ²„μž…λ‹ˆλ‹€. 과제 κ°€μ΄λ“œλΌμΈμ— 따라 **ν•„μˆ˜ κΈ°λŠ₯ 4개**, **선택 κΈ°λŠ₯ 4개**, 그리고 **λ³΄λ„ˆμŠ€ λ½€λͺ¨λ„λ‘œ 타이머 κΈ°λŠ₯ 4개**λ₯Ό λͺ¨λ‘ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€. ### 🎯 μ£Όμš” νŠΉμ§• - βœ… **μ™„μ „ν•œ UTF-8 ν•œκΈ€ 지원** - λͺ¨λ“  λ©”μ‹œμ§€μ—μ„œ ν•œκΈ€ μ™„λ²½ 지원 - βœ… **이쀑 토큰 μ‹œμŠ€ν…œ** - Bot Token + User Token으둜 λͺ¨λ“  κΈ°λŠ₯ 지원 - βœ… **슀마트 파일 μ—…λ‘œλ“œ** -…

Details

Author
yeoamlog
Downloads
308
Categories
Communication, API

- Full UTF‑8 Korean support in all messages
- Dual token system: Bot Token + User Token for all features
- Smart file upload with size‑based optimization
- Pomodoro timer with automatic notifications
- Async high‑performance asyncio implementation
- Detailed error handling for all API calls

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Slack MCP Server - Complete Implementation
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install via uv package manager: clone the repo, run uv venv and uv sync, then create a .env file with SLACK_BOT_TOKEN (required) and optionally SLACK_USER_TOKEN and SLACK_TEST_CHANNEL_ID. Configure a Slack app with required Bot Token scopes (e.g. channels:read, chat:write) and optional User Token scopes. Start the server with python slack_mcp_server.py or uv run slack_mcp_server.py. Invoke tools (e.g. send_slack_message) through any MCP host such as Claude.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "slack mcp server - complete implementation": {
            "slack-mcp-server-yeoamlog": {
                "command": "uv",
                "args": [
                    "venv"
                ]
            }
        }
    }
}

McpServers

{
    "slack-mcp-server-yeoamlog": {
        "command": "uv",
        "args": [
            "venv"
        ]
    }
}

Slack MCP Server - Complete Implementation

πŸ“‹ ν”„λ‘œμ νŠΈ κ°œμš”

FastMCP v2λ₯Ό μ‚¬μš©ν•˜μ—¬ κ΅¬ν˜„ν•œ μ™„μ „ν•œ Slack API 연동 MCP μ„œλ²„μž…λ‹ˆλ‹€. 과제 κ°€μ΄λ“œλΌμΈμ— 따라 ν•„μˆ˜ κΈ°λŠ₯ 4개, 선택 κΈ°λŠ₯ 4개, 그리고 λ³΄λ„ˆμŠ€ λ½€λͺ¨λ„λ‘œ 타이머 κΈ°λŠ₯ 4개λ₯Ό λͺ¨λ‘ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€.

🎯 μ£Όμš” νŠΉμ§•

- βœ… μ™„μ „ν•œ UTF-8 ν•œκΈ€ 지원 - λͺ¨λ“  λ©”μ‹œμ§€μ—μ„œ ν•œκΈ€ μ™„λ²½ 지원
- βœ… 이쀑 토큰 μ‹œμŠ€ν…œ - Bot Token + User Token으둜 λͺ¨λ“  κΈ°λŠ₯ 지원
- βœ… 슀마트 파일 μ—…λ‘œλ“œ - 크기별 졜적 μ—…λ‘œλ“œ 방식 μžλ™ 선택
- βœ… λ½€λͺ¨λ„λ‘œ 타이머 - μžλ™ μ•Œλ¦Ό κΈ°λŠ₯이 ν¬ν•¨λœ μ‹œκ°„ 관리 도ꡬ
- βœ… 비동기 처리 - κ³ μ„±λŠ₯ asyncio 기반 κ΅¬ν˜„
- βœ… μƒμ„Έν•œ μ—λŸ¬ 핸듀링 - λͺ¨λ“  API ν˜ΈμΆœμ— λŒ€ν•œ μ μ ˆν•œ μ˜ˆμ™Έ 처리

πŸš€ κΈ°λŠ₯ λͺ©λ‘

πŸ”΄ ν•„μˆ˜ κΈ°λŠ₯ (Required Features - 4개)

1. send_slack_message - λ©”μ‹œμ§€ 전솑
- 채널 λ˜λŠ” DM에 λ©”μ‹œμ§€ 전솑
- μŠ€λ ˆλ“œ λ‹΅κΈ€ 지원
- μ™„μ „ν•œ UTF-8 ν•œκΈ€ 지원

2. get_slack_channels - 채널 λͺ©λ‘ 쑰회
- 곡개/λΉ„κ³΅κ°œ 채널 ꡬ뢄
- 멀버십 μƒνƒœ 확인
- λ³΄κ΄€λœ 채널 필터링

3. get_slack_channel_history - λ©”μ‹œμ§€ νžˆμŠ€ν† λ¦¬ 쑰회
- μ΅œμ‹  λ©”μ‹œμ§€λΆ€ν„° 쑰회
- μ‹œκ°„ λ²”μœ„ μ§€μ • κ°€λŠ₯
- λ©”μ‹œμ§€ 메타데이터 포함

4. send_slack_direct_message - DM 전솑
- νŠΉμ • μ‚¬μš©μžμ—κ²Œ 1:1 λ©”μ‹œμ§€ 전솑
- μžλ™ DM 채널 생성
- 봇 μ‚¬μš©μž 필터링

🟑 선택 κΈ°λŠ₯ (Optional Features - 4개)

5. get_slack_users - μ‚¬μš©μž λͺ©λ‘ 쑰회
- μ‚¬μš©μž νƒ€μž…λ³„ λΆ„λ₯˜ (κ΄€λ¦¬μž, 멀버, 게슀트, 봇)
- DM κ°€λŠ₯ μ‚¬μš©μž 필터링
- μƒμ„Έν•œ ν”„λ‘œν•„ 정보

6. search_slack_messages - λ©”μ‹œμ§€ 검색 (User Token ν•„μš”)
- ν‚€μ›Œλ“œ 기반 전체 μ›Œν¬μŠ€νŽ˜μ΄μŠ€ 검색
- μ •λ ¬ 및 필터링 μ˜΅μ…˜
- 검색 κ²°κ³Ό 메타데이터

7. upload_file_to_slack - 슀마트 파일 μ—…λ‘œλ“œ
- 파일 크기별 졜적 μ—…λ‘œλ“œ 방식
- λ‹€μ–‘ν•œ 파일 ν˜•μ‹ 지원
- μžλ™ 미리보기 및 μ½”λ“œ ν•˜μ΄λΌμ΄νŒ…

8. add_slack_reaction - λ©”μ‹œμ§€ λ°˜μ‘ μΆ”κ°€
- 이λͺ¨μ§€ λ°˜μ‘ μΆ”κ°€
- λ‹€μ–‘ν•œ 이λͺ¨μ§€ ν˜•μ‹ 지원

🟒 λ³΄λ„ˆμŠ€ κΈ°λŠ₯ (Bonus Features - 4개)

9. start_pomodoro_timer - λ½€λͺ¨λ„λ‘œ 타이머 μ‹œμž‘
- 5κ°€μ§€ 타이머 νƒ€μž… (study, work, break, meeting, custom)
- μžλ™ μ‹œμž‘/μ’…λ£Œ μ•Œλ¦Ό
- μ‚¬μš©μž μ •μ˜ μ‹œκ°„ 및 λ©”μ‹œμ§€

10. cancel_pomodoro_timer - 타이머 μ·¨μ†Œ
- μ‹€ν–‰ 쀑인 타이머 μ¦‰μ‹œ 쀑단
- μ·¨μ†Œ μ•Œλ¦Ό 전솑

11. list_active_timers - ν™œμ„± 타이머 λͺ©λ‘
- ν˜„μž¬ μ‹€ν–‰ 쀑인 λͺ¨λ“  타이머
- μ§„ν–‰λ₯  및 남은 μ‹œκ°„ ν‘œμ‹œ

12. get_timer_status - 타이머 μƒνƒœ 쑰회
- νŠΉμ • νƒ€μ΄λ¨Έμ˜ 상세 μƒνƒœ
- μ‹€μ‹œκ°„ μ§„ν–‰ 상황

πŸ› οΈ μœ ν‹Έλ¦¬ν‹° κΈ°λŠ₯

13. test_slack_connection - μ—°κ²° ν…ŒμŠ€νŠΈ
14. get_workspace_info - μ›Œν¬μŠ€νŽ˜μ΄μŠ€ 정보
15. get_file_preview - 파일 미리보기
16. verify_or_create_file - 파일 확인/생성

πŸ“¦ μ„€μΉ˜ 및 μ‹€ν–‰ 방법

1. ν”„λ‘œμ νŠΈ μ΄ˆκΈ°ν™”

```bash

No reviews yet β€” be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.