Provides comprehensive integration with Slack, including sending messages to channels/DMs, retrieving channel history, managing user lists, uploading files, adding reactions, searching messages, and running Pomodoro timers with automatic notifications.
Slack MCP Server - Complete Implementation
π νλ‘μ νΈ κ°μ
FastMCP v2λ₯Ό μ¬μ©νμ¬ κ΅¬νν μμ ν Slack API μ°λ MCP μλ²μ λλ€. κ³Όμ κ°μ΄λλΌμΈμ λ°λΌ νμ κΈ°λ₯ 4κ°, μ ν κΈ°λ₯ 4κ°, κ·Έλ¦¬κ³ λ³΄λμ€ λ½λͺ¨λλ‘ νμ΄λ¨Έ κΈ°λ₯ 4κ°λ₯Ό λͺ¨λ ꡬννμ΅λλ€.
π― μ£Όμ νΉμ§
β μμ ν UTF-8 νκΈ μ§μ - λͺ¨λ λ©μμ§μμ νκΈ μλ²½ μ§μ
β μ΄μ€ ν ν° μμ€ν - Bot Token + User TokenμΌλ‘ λͺ¨λ κΈ°λ₯ μ§μ
β μ€λ§νΈ νμΌ μ λ‘λ - ν¬κΈ°λ³ μ΅μ μ λ‘λ λ°©μ μλ μ ν
β λ½λͺ¨λλ‘ νμ΄λ¨Έ - μλ μλ¦Ό κΈ°λ₯μ΄ ν¬ν¨λ μκ° κ΄λ¦¬ λꡬ
β λΉλκΈ° μ²λ¦¬ - κ³ μ±λ₯ asyncio κΈ°λ° κ΅¬ν
β μμΈν μλ¬ νΈλ€λ§ - λͺ¨λ API νΈμΆμ λν μ μ ν μμΈ μ²λ¦¬
π κΈ°λ₯ λͺ©λ‘
π΄ νμ κΈ°λ₯ (Required Features - 4κ°)
send_slack_message
- λ©μμ§ μ μ‘μ±λ λλ DMμ λ©μμ§ μ μ‘
μ€λ λ λ΅κΈ μ§μ
μμ ν UTF-8 νκΈ μ§μ
get_slack_channels
- μ±λ λͺ©λ‘ μ‘°ν곡κ°/λΉκ³΅κ° μ±λ ꡬλΆ
λ©€λ²μ μν νμΈ
보κ΄λ μ±λ νν°λ§
get_slack_channel_history
- λ©μμ§ νμ€ν 리 μ‘°νμ΅μ λ©μμ§λΆν° μ‘°ν
μκ° λ²μ μ§μ κ°λ₯
λ©μμ§ λ©νλ°μ΄ν° ν¬ν¨
send_slack_direct_message
- DM μ μ‘νΉμ μ¬μ©μμκ² 1:1 λ©μμ§ μ μ‘
μλ DM μ±λ μμ±
λ΄ μ¬μ©μ νν°λ§
π‘ μ ν κΈ°λ₯ (Optional Features - 4κ°)
get_slack_users
- μ¬μ©μ λͺ©λ‘ μ‘°νμ¬μ©μ νμ λ³ λΆλ₯ (κ΄λ¦¬μ, λ©€λ², κ²μ€νΈ, λ΄)
DM κ°λ₯ μ¬μ©μ νν°λ§
μμΈν νλ‘ν μ 보
search_slack_messages
- λ©μμ§ κ²μ (User Token νμ)ν€μλ κΈ°λ° μ 체 μν¬μ€νμ΄μ€ κ²μ
μ λ ¬ λ° νν°λ§ μ΅μ
κ²μ κ²°κ³Ό λ©νλ°μ΄ν°
upload_file_to_slack
- μ€λ§νΈ νμΌ μ λ‘λνμΌ ν¬κΈ°λ³ μ΅μ μ λ‘λ λ°©μ
λ€μν νμΌ νμ μ§μ
μλ 미리보기 λ° μ½λ νμ΄λΌμ΄ν
add_slack_reaction
- λ©μμ§ λ°μ μΆκ°μ΄λͺ¨μ§ λ°μ μΆκ°
λ€μν μ΄λͺ¨μ§ νμ μ§μ
π’ 보λμ€ κΈ°λ₯ (Bonus Features - 4κ°)
start_pomodoro_timer
- λ½λͺ¨λλ‘ νμ΄λ¨Έ μμ5κ°μ§ νμ΄λ¨Έ νμ (study, work, break, meeting, custom)
μλ μμ/μ’ λ£ μλ¦Ό
μ¬μ©μ μ μ μκ° λ° λ©μμ§
cancel_pomodoro_timer
- νμ΄λ¨Έ μ·¨μμ€ν μ€μΈ νμ΄λ¨Έ μ¦μ μ€λ¨
μ·¨μ μλ¦Ό μ μ‘
list_active_timers
- νμ± νμ΄λ¨Έ λͺ©λ‘νμ¬ μ€ν μ€μΈ λͺ¨λ νμ΄λ¨Έ
μ§νλ₯ λ° λ¨μ μκ° νμ
get_timer_status
- νμ΄λ¨Έ μν μ‘°ννΉμ νμ΄λ¨Έμ μμΈ μν
μ€μκ° μ§ν μν©
π οΈ μ νΈλ¦¬ν° κΈ°λ₯
test_slack_connection
- μ°κ²° ν μ€νΈget_workspace_info
- μν¬μ€νμ΄μ€ μ 보get_file_preview
- νμΌ λ―Έλ¦¬λ³΄κΈ°verify_or_create_file
- νμΌ νμΈ/μμ±
π¦ μ€μΉ λ° μ€ν λ°©λ²
1. νλ‘μ νΈ μ΄κΈ°ν
2. νκ²½ λ³μ μ€μ
.env
νμΌμ μμ±νκ³ λ€μκ³Ό κ°μ΄ μ€μ :
3. Slack App μ€μ
νμν Bot Token Scopes:
μΆκ° User Token Scopes (μ ν κΈ°λ₯μ©):
4. μλ² μ€ν
π‘ μ¬μ©λ² λ° μμ
κΈ°λ³Έ λ©μμ§ μ μ‘
νμΌ μ λ‘λ (μ€λ§νΈ μ²λ¦¬)
λ½λͺ¨λλ‘ νμ΄λ¨Έ μ¬μ©
λ©μμ§ κ²μ (User Token νμ)
ποΈ νλ‘μ νΈ κ΅¬μ‘°
π§ κΈ°μ μ ꡬν μΈλΆμ¬ν
μ΄μ€ ν ν° μμ€ν
Bot Token (xoxb-): μΌλ°μ μΈ λ΄ κΈ°λ₯ (λ©μμ§ μ μ‘, μ±λ μ‘°ν λ±)
User Token (xoxp-): μ¬μ©μ κΆν νμν κΈ°λ₯ (κ²μ, λμ©λ νμΌ μ λ‘λ)
μ€λ§νΈ νμΌ μ λ‘λ μ λ΅
μμ ν μ€νΈ νμΌ (< 50KB): λ©μμ§ λ΄μ©μΌλ‘ μ§μ μ μ‘
μ€κ° νμΌ (50KB - 1MB): μ½λ μ€λν«μΌλ‘ μ λ‘λ
μΌλ° νμΌ (1MB - 100MB): νμ€ νμΌ μ λ‘λ
λμ©λ νμΌ (100MB - 1GB): User TokenμΌλ‘ μ λ‘λ
μ΄λμ©λ νμΌ (> 1GB): νμΌ μ λ³΄λ§ κ³΅μ
λΉλκΈ° μ²λ¦¬ λ° λμμ±
asyncio
κΈ°λ° μμ λΉλκΈ° ꡬνλ½λͺ¨λλ‘ νμ΄λ¨Έμ λ³λ ¬ μ€ν μ§μ
λ½(Lock)μ ν΅ν ν΄λΌμ΄μΈνΈ μ΄κΈ°ν μμ μ± λ³΄μ₯
UTF-8 νκΈ μ§μ
π κ°λ° κ³Όμ μμ κ²ͺμ μ΄λ €μκ³Ό ν΄κ²° λ°©λ²
1. ν¨μλ€ κ°μ Input λ³μλͺ ν΅μΌ μ΄λ €μ
λ¬Έμ : API ν¨μλ§λ€ λ§€κ°λ³μ μ΄λ¦μ΄ λ¬λΌμ μΌκ΄μ± λΆμ‘±
channel
vschannel_id
vschannels
text
vsmessage
vscontent
ν΄κ²°μ± :
Slack API 곡μ λ¬Έμ κΈ°μ€μΌλ‘ λ³μλͺ ν΅μΌ(ν₯ν μ λ°μ΄νΈ μμ )
λ΄λΆ ν¨μμμλ μΌκ΄λ λ€μ΄λ° 컨벀μ μ μ©
docstringμ λͺ νν λ§€κ°λ³μ μ€λͺ μΆκ°
2. Input-Output λ³μλͺ μ°ΎκΈ° μ΄λ €μ
λ¬Έμ : Slack API μλ΅μ 볡μ‘ν μ€μ²© κ΅¬μ‘°λ‘ νμν λ°μ΄ν° μΆμΆ μ΄λ €μ
ν΄κ²°μ± :
API μλ΅μ λ‘κ·Έλ‘ μΆλ ₯νμ¬ κ΅¬μ‘° νμ
κ³΅ν΅ λ°μ΄ν° μΆμΆ ν¨μ μμ±
μλ΅ λ°μ΄ν° μ κ·ν λ° ν¬λ§·ν
3. Outdated file_upload ν¨μλ₯Ό μ΅μ λ²μ μΌλ‘ μ¬μ©νκΈ°κΉμ§ λ§μ μνμ°©μ€
λ¬Έμ : Slackμ νμΌ μ λ‘λ APIκ° μ¬λ¬ λ² λ³κ²½λμ΄ κΈ°μ‘΄ λ°©μ deprecated
ν΄κ²°μ± :
files.upload
(deprecated) βfiles.getUploadURLExternal
+files.completeUploadExternal
Slack SDKμ κΈ°μ‘΄ REST APIμ νμ΄λΈλ¦¬λ μ κ·Όλ²
νμΌ ν¬κΈ°λ³ λ€λ₯Έ μ λ‘λ μ λ΅ κ΅¬ν
4. User Tokenμ΄ νμν κ²½μ° vs Bot Tokenλ§μΌλ‘ ν΄κ²°λλ κ²½μ°
λ¬Έμ : μ΄λ€ κΈ°λ₯μ μ΄λ€ ν ν°μ΄ νμνμ§ νμ νκΈ° μ΄λ €μ
ν΄κ²°μ± :
κΈ°λ₯λ³ ν ν° μꡬμ¬ν λͺ νν λΆλ₯
μ΄μ€ ν ν° μμ€ν μΌλ‘ μλ μ ν
ν ν° λΆμ‘± μ λͺ νν μλ΄ λ©μμ§
5. GET vs POSTμ μ°¨μ΄
λ¬Έμ : μΈμ GETμ μ°κ³ μΈμ POSTλ₯Ό μ¨μΌ νλμ§ νΌλ
ν΄κ²°μ± :
Slack API λ¬Έμμ HTTP λ©μλ μ νν νμΈ
λ°μ΄ν° μ‘°νλ GET, λ°μ΄ν° μμ±/μμ μ POST
ν΅μΌλ
_make_request
ν¨μλ‘ μ²λ¦¬
6. κΈ°ν ν΄κ²°ν μ΄μλ€
Rate Limiting: μ§μ λ°±μ€νμ μ¬μλ λ‘μ§
Error Handling: κ° μλ¬ μ½λλ³ λ§μΆ€ν ν΄κ²° μ μ
UTF-8 Encoding: νκΈ λ©μμ§ μλ²½ μ§μ
Async Safety: λ½λͺ¨λλ‘ νμ΄λ¨Έμ λμ μ€ν μ²λ¦¬
π μ±λ₯ λ° μ νμ¬ν
νμΌ μ λ‘λ μ ν
λ¬΄λ£ νλ: μ΅λ 5GB μν¬μ€νμ΄μ€ μ€ν 리μ§
κ°λ³ νμΌ: μ΅λ 1GB (μ λ£ νλμμ)
Bot Token: μ΅λ 100MB νμΌ μ λ‘λ
User Token: μ΅λ 1GB νμΌ μ λ‘λ
API Rate Limits
Tier 1 λ©μλ: 1+ per minute
Tier 2 λ©μλ: 20+ per minute
Tier 3 λ©μλ: 50+ per minute
Tier 4 λ©μλ: 100+ per minute
π ν μ€νΈ λ°©λ²
1. μ°κ²° ν μ€νΈ
2. κΈ°λ³Έ κΈ°λ₯ ν μ€νΈ
3. κ³ κΈ κΈ°λ₯ ν μ€νΈ
π€ κΈ°μ¬ λ°©λ²
μ΄μ μ 보: GitHub Issues μ¬μ©
κΈ°λ₯ μ μ: Feature Request ν νλ¦Ώ μ¬μ©
μ½λ κΈ°μ¬: Pull Request νμ
λ¬Έμ κ°μ : README λ° docstring κ°μ
π λΌμ΄μ μ€
μ΄ νλ‘μ νΈλ MIT λΌμ΄μ μ€λ₯Ό λ°λ¦ λλ€.
πββοΈ λ¬Έμ λ° μ§μ
κ°λ°μ: JunHyuck Kwon
λ²μ : 8.5.2 (Complete Implementation)
μ΅μ’ μ λ°μ΄νΈ: 2025-06-04
κ³Όμ μμ±λ: β νμ 4κ° + β μ ν 4κ° + β 보λμ€ 4κ° + β μ νΈλ¦¬ν° 4κ° = μ΄ 16κ° κΈ°λ₯ μμ ꡬν
μ΄ νλ‘μ νΈλ₯Ό ν΅ν΄ μ€μ μ 무μμ νμ©ν μ μλ κ³ νμ§ Slack μ°λ λꡬλ₯Ό ꡬμΆν μ μμ΅λλ€! π
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A comprehensive Slack integration server that enables sending messages, managing channels, uploading files, and running Pomodoro timers through FastMCP v2.
- π νλ‘μ νΈ κ°μ
- π κΈ°λ₯ λͺ©λ‘
- π¦ μ€μΉ λ° μ€ν λ°©λ²
- π‘ μ¬μ©λ² λ° μμ
- ποΈ νλ‘μ νΈ κ΅¬μ‘°
- π§ κΈ°μ μ ꡬν μΈλΆμ¬ν
- π κ°λ° κ³Όμ μμ κ²ͺμ μ΄λ €μκ³Ό ν΄κ²° λ°©λ²
- 1. ν¨μλ€ κ°μ Input λ³μλͺ ν΅μΌ μ΄λ €μ
- 2. Input-Output λ³μλͺ μ°ΎκΈ° μ΄λ €μ
- 3. Outdated file_upload ν¨μλ₯Ό μ΅μ λ²μ μΌλ‘ μ¬μ©νκΈ°κΉμ§ λ§μ μνμ°©μ€
- 4. User Tokenμ΄ νμν κ²½μ° vs Bot Tokenλ§μΌλ‘ ν΄κ²°λλ κ²½μ°
- 5. GET vs POSTμ μ°¨μ΄
- 6. κΈ°ν ν΄κ²°ν μ΄μλ€
- π μ±λ₯ λ° μ νμ¬ν
- π ν μ€νΈ λ°©λ²
- π€ κΈ°μ¬ λ°©λ²
- π λΌμ΄μ μ€
- πββοΈ λ¬Έμ λ° μ§μ
Related MCP Servers
- AsecurityAlicenseAqualityMCP Server for the Slack API, enabling Claude to interact with Slack workspaces.Last updated -11,12069,516MIT License
- -securityFlicense-qualityAn MCP server that enables LLMs to access Slack's search functionality to retrieve users, channels, messages, and thread replies from a Slack workspace.Last updated -3
- AsecurityAlicenseAqualityThe 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 updated -2755MIT License
- -securityFlicense-qualityA FastMCP-based server that provides complete Slack integration for Cursor IDE, allowing users to interact with Slack API features using natural language.Last updated -