MCP Slack Python
Slack API를 활용한 MCP(Model Context Protocol) 서버입니다. FastMCP를 사용하여 Slack 워크스페이스와 상호작용할 수 있는 다양한 도구를 제공합니다.
기능
- 채널 목록 조회 - 워크스페이스의 모든 채널 목록 가져오기
- 메시지 전송 - 채널에 메시지 보내기 (스레드 답글 지원)
- 메시지 조회 - 채널의 최근 메시지 가져오기
- 리액션 추가 - 메시지에 이모지 리액션 달기
- 스레드 답글 조회 - 특정 메시지의 스레드 답글 가져오기
- 사용자 목록 조회 - 워크스페이스의 모든 사용자 목록 가져오기
- 사용자 프로필 조회 - 특정 사용자의 상세 정보 가져오기
설치
단독 프로젝트로 사용
uv sync
다른 uv 프로젝트에서 사용
# 로컬 패키지로 추가
uv add ./mcp-slack-python
환경 설정
환경 변수로 Slack Bot 토큰을 설정합니다:
export SLACK_BOT_TOKEN=xoxb-your-bot-token
Slack Bot 토큰 발급 방법
- Slack API에서 새 앱 생성
- OAuth & Permissions에서 Bot Token Scopes 추가:
channels:read- 채널 목록 조회channels:history- 채널 메시지 조회chat:write- 메시지 전송reactions:write- 리액션 추가users:read- 사용자 정보 조회
- 워크스페이스에 앱 설치
- Bot User OAuth Token 복사
실행
python main.py
MCP 도구 목록
| 도구 | 설명 |
|---|---|
slack_list_channels | 워크스페이스의 채널 목록 조회 |
slack_send_message | 채널에 메시지 전송 |
slack_get_messages | 채널의 최근 메시지 조회 |
slack_add_reaction | 메시지에 리액션 추가 |
slack_get_thread_replies | 스레드 답글 조회 |
slack_get_users | 사용자 목록 조회 |
slack_get_user_profile | 사용자 프로필 조회 |
라이선스
MIT License