Slack MCP Server

by ubie-oss
Verified

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.

Integrations

  • Supports environment variable configuration through .env files for storing Slack tokens and other configuration settings.

  • Integrated for code linting during development to maintain code quality and consistency.

  • Hosts the package in GitHub Registry, requiring a Personal Access Token (PAT) for installation and access to the MCP server package.

슬랙-mcp-서버

Slack API에 접근하기 위한 MCP(Model Context Protocol) 서버입니다. 이 서버를 통해 AI 어시스턴트는 표준화된 인터페이스를 통해 Slack API와 상호 작용할 수 있습니다.

특징

사용 가능한 도구:

  • slack_list_channels - 페이지 번호를 사용하여 작업 공간의 공개 채널을 나열합니다.
  • slack_post_message - Slack 채널에 새 메시지를 게시합니다.
  • slack_reply_to_thread - Slack에서 특정 메시지 스레드에 답장
  • slack_add_reaction - 메시지에 반응 이모티콘 추가
  • slack_get_channel_history - 채널의 최근 메시지 가져오기
  • slack_get_thread_replies - 메시지 스레드의 모든 답글을 가져옵니다.
  • slack_get_users - 작업 공간에 있는 모든 사용자의 기본 프로필 정보를 검색합니다.
  • slack_get_user_profile - 사용자 프로필 정보 가져오기
  • slack_search_messages - 작업 공간에서 메시지 검색

빠른 시작

설치

지엑스피1

참고: 이제 GitHub 레지스트리에 호스팅되므로 PAT가 필요합니다.

구성

다음 환경 변수를 설정해야 합니다.

  • SLACK_BOT_TOKEN : Slack Bot 사용자 OAuth 토큰
  • SLACK_USER_TOKEN : Slack 사용자 OAuth 토큰(메시지 검색 등 일부 기능에 필요)

다음 환경 변수를 설정하려면 .env 파일을 만들 수도 있습니다.

SLACK_BOT_TOKEN=xoxb-your-bot-token SLACK_USER_TOKEN=xoxp-your-user-token

용법

MCP 서버를 시작합니다

곧장:

npx @ubie-oss/slack-mcp-server

또는, node로 설치된 모듈을 실행합니다.

node node_modules/.bin/slack-mcp-server

클라이언트에 대한 MCP 구성 JSON을 편집하세요.

{ "slack": { "command": "npx", "args": [ "-y", "@ubie-oss/slack-mcp-server" ], "env": { "NPM_CONFIG_//npm.pkg.github.com/:_authToken": "<your-github-pat>", "SLACK_BOT_TOKEN": "<your-bot-token>", "SLACK_USER_TOKEN": "<your-user-token>" } } }

구현 패턴

이 서버는 다음과 같은 구현 패턴을 채택합니다.

  1. Zod 스키마를 사용하여 요청/응답 정의
    • 요청 스키마: 입력 매개변수 정의
    • 응답 스키마: 필수 필드로 제한된 응답 정의
  2. 구현 흐름:
    • Zod 스키마로 요청 검증
    • Slack WebAPI 호출
    • 필수 필드로 제한하기 위해 Zod 스키마로 응답 구문 분석
    • JSON으로 반환

예를 들어, slack_list_channels 구현은 ListChannelsRequestSchema 로 요청을 구문 분석하고, slackClient.conversations.list 호출하고, ListChannelsResponseSchema 로 구문 분석된 응답을 반환합니다.

개발

사용 가능한 스크립트

  • npm run dev - 핫 리로딩을 사용하여 개발 모드로 서버 시작
  • npm run build - 프로덕션을 위한 프로젝트 빌드
  • npm run start - 프로덕션 서버 시작
  • npm run lint - 린팅 검사 실행(ESLint 및 Prettier)
  • npm run fix - 린팅 문제를 자동으로 수정합니다

기여하다

  1. 저장소를 포크하세요
  2. 기능 브랜치를 생성하세요
  3. 테스트 및 린팅 실행: npm run lint
  4. 변경 사항을 커밋하세요
  5. 지점으로 밀어 넣기
  6. 풀 리퀘스트 만들기

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

AI 어시스턴트가 표준화된 인터페이스를 통해 Slack API와 상호 작용할 수 있도록 하는 모델 컨텍스트 프로토콜을 구현하는 서버로, 메시징, 채널 관리, 사용자 정보 검색 등을 위한 도구를 제공합니다.

  1. Features
    1. Quick Start
      1. Installation
      2. Configuration
      3. Usage
    2. Implementation Pattern
      1. Development
        1. Available Scripts
        2. Contributing
      ID: sa995xz7mo