Skip to main content
Glama
claude-slack-to-notion

claude-slack-to-notion

by idean3885

claude-slack-to-notion

Slack 메시지를 AI로 분석하여 Notion 페이지로 정리하는 Claude 플러그인

이게 뭔가요?

Slack 채널의 대화를 자동으로 수집하고, 원하는 방향으로 분석하여 Notion 페이지로 만들어줍니다. 회의록 정리, 이슈 추출, 주제별 분류 등 분석 방향은 자유롭게 지정할 수 있습니다.

graph LR
    A["Slack 채널"] -->|메시지 수집| B["Claude"]
    B -->|AI 분석| C["Notion 페이지"]

Related MCP server: Slack MCP Server

설치

사용하는 환경에 맞는 방법을 선택하세요.

Desktop Extension 설치 (권장)

.mcpb 파일을 사용하면 JSON 수동 편집 없이 원클릭으로 설치할 수 있습니다.

사전 준비: 토큰 발급 (처음 한 번만)

설치 시 아래 3개의 값이 필요합니다. 미리 준비해두세요:

항목

발급 방법

형식

Slack User Token

api.slack.com/apps → 앱 선택 → OAuth & Permissions → User OAuth Token

xoxp-...

Notion API Key

notion.so/profile/integrations → 새 API 통합 생성

ntn_...

Notion Page URL

결과를 저장할 Notion 페이지 → 우측 상단 공유 → 링크 복사

https://www.notion.so/...

토큰 발급이 처음이라면 설치 및 토큰 설정 가이드에서 스크린샷과 함께 단계별로 안내합니다.

설치

  1. GitHub Releases에서 최신 slack-to-notion-mcp.mcpb 파일을 다운로드합니다

  2. 다운로드한 .mcpb 파일을 더블클릭합니다

  3. Claude Desktop이 열리며 토큰 입력 화면이 나타납니다 - 위에서 준비한 3개의 값을 붙여넣으세요

  4. 확장 활성화: 설치 후 설정(⌘ + ,) → Extensions → Slack to Notion 항목의 토글을 켜주세요 (설치 직후에는 비활성화 상태입니다)

  5. 설치 완료! 입력창 우측 하단에 도구 아이콘이 나타나면 정상입니다

업데이트할 때도 새 .mcpb 파일을 다운로드하여 동일하게 설치하면 됩니다.

수동 설치 (고급)

JSON 설정 파일을 직접 편집하는 방법입니다. Desktop Extension 설치가 안 되는 경우에 사용하세요.

1단계: uv 설치 (처음 한 번만)

이 플러그인은 uv라는 도구가 필요합니다. 이미 설치했다면 2단계로 넘어가세요.

  1. 터미널을 엽니다 (Spotlight에서 "터미널" 검색, 또는 응용 프로그램 > 유틸리티 > 터미널)

  2. 아래 명령어를 복사해서 터미널에 붙여넣고 Enter를 누릅니다:

    curl -LsSf https://astral.sh/uv/install.sh | sh
  3. 설치가 끝나면 터미널을 닫았다가 다시 엽니다

  4. 아래 명령어를 붙여넣고 Enter를 누릅니다. 출력된 경로를 복사해두세요:

    which uvx

    /Users/사용자이름/.local/bin/uvx 같은 경로가 나옵니다. 이 경로를 2단계에서 사용합니다.

which uvx에서 아무것도 나오지 않으면 터미널을 닫고 다시 열어보세요. 그래도 안 되면 $HOME/.local/bin/uvx 경로를 직접 사용하세요.

2단계: 설정 파일 열기

  1. Claude Desktop 앱 좌측 상단의 계정 아이콘을 클릭합니다

  2. 설정을 클릭합니다 (단축키: ⌘ + ,)

  3. 왼쪽 메뉴 하단 데스크톱 앱 섹션에서 개발자를 클릭합니다

  4. 구성 편집을 클릭하면 Finder에서 설정 파일(claude_desktop_config.json)이 열립니다

  5. 이 파일을 텍스트 편집기로 엽니다 (파일을 우클릭 → 다음으로 열기 → 텍스트 편집기)

3단계: 설정 붙여넣기

파일의 기존 내용을 전부 지우고 아래 내용을 붙여넣습니다. 두 군데를 수정하세요:

  • 여기에-uvx-경로-붙여넣기 → 1단계에서 복사한 uvx 경로로 교체

  • 토큰값을-여기에-입력 → 실제 토큰으로 교체 (토큰 발급 가이드)

{
  "mcpServers": {
    "slack-to-notion": {
      "command": "여기에-uvx-경로-붙여넣기",
      "args": ["--refresh", "slack-to-notion-mcp"],
      "env": {
        "SLACK_USER_TOKEN": "xoxp-토큰값을-여기에-입력",
        "NOTION_API_KEY": "토큰값을-여기에-입력",
        "NOTION_PARENT_PAGE_URL": "https://www.notion.so/페이지-링크를-여기에-붙여넣기"
      }
    }
  }
}

예시 (uvx 경로가 /Users/hong/.local/bin/uvx인 경우):

{
  "mcpServers": {
    "slack-to-notion": {
      "command": "/Users/hong/.local/bin/uvx",
      "args": ["--refresh", "slack-to-notion-mcp"],
      "env": {
        "SLACK_USER_TOKEN": "xoxp-1234-5678-abcd",
        "NOTION_API_KEY": "ntn_또는secret_로시작하는토큰",
        "NOTION_PARENT_PAGE_URL": "https://www.notion.so/My-Page-abc123"
      }
    }
  }
}

팀에서 공유하려면 SLACK_USER_TOKEN 대신 SLACK_BOT_TOKEN(xoxb-)을 사용할 수 있습니다. 자세한 내용은 토큰 발급 가이드를 참고하세요.

4단계: Claude Desktop 재시작

파일을 저장(⌘ + S)하고 Claude Desktop을 완전히 종료(Dock에서 우클릭 → 종료)한 뒤 다시 실행합니다.

정상 연결 시: 입력창 우측 하단에 도구 아이콘이 나타납니다.

재시작해도 오류가 나오면 문제 해결 가이드를 확인하세요.

Claude Code CLI (개발자)

터미널에 아래 명령어를 붙여넣으세요. 안내에 따라 토큰을 입력하면 자동으로 설치됩니다:

curl -sL https://raw.githubusercontent.com/idean3885/claude-slack-to-notion/main/scripts/setup.sh | bash

토큰 발급이 처음이라면 설치 및 토큰 설정 가이드를 참고하세요.

사용법

Claude에게 자연어로 말하면 됩니다. 아래 예시를 그대로 복사해서 사용하세요:

Slack 채널 목록 보여줘
#general 채널의 최근 메시지를 Notion에 회의록으로 정리해줘
#backend 채널에서 이번 주 논의된 버그 이슈만 추려서 정리해줘
이 스레드 내용을 주제별로 분류해서 Notion 페이지로 만들어줘

분석 방향은 자유롭게 지정할 수 있습니다. "요약해줘", "액션 아이템만 뽑아줘", "결정사항 위주로 정리해줘" 등 원하는 대로 요청하세요.

활용 팁

분석 스타일 기억시키기

매번 분석 방향을 설명하는 대신, 한 번만 알려주면 다음부터 자동으로 적용됩니다:

앞으로 회의록은 결정사항과 액션 아이템 위주로 정리해줘. 기억해줘.
Slack 메시지 정리할 때 항상 날짜별로 묶어서 정리해줘. 기억해줘.

이렇게 말하면 선호도가 저장되어, 이후 분석 시 자동으로 반영됩니다.

분석 결과 고도화하기

한 번에 완벽한 결과를 기대하기보다, 대화를 이어가며 다듬어 보세요:

이 회의록에서 후속 조치가 필요한 항목만 따로 뽑아줘
방금 정리한 내용에서 담당자별로 다시 분류해줘

멘션된 스레드 분석 요청하기

멘션은 보통 논의 끝에 CC나 확인 요청으로 달리므로, 멘션된 댓글만 보면 맥락을 놓칩니다.

이 스레드에서 내가 멘션된 맥락을 파악해서, 내가 알아야 할 내용과 해야 할 일을 정리해줘

문제가 생겼나요?

문제 해결 가이드를 확인하세요.

더 알아보기

라이선스

MIT

Available Tools

17 tools
check_active_usersA

워크스페이스에서 현재 로그인한 사용자 목록을 조회한다.

전체 사용자 중 현재 Slack에 로그인하여 활동 중인 사용자만 반환한다.

Returns: 로그인한 사용자 리스트를 JSON 형식 문자열로 반환 [{"id": "U123", "name": "홍길동", "real_name": "홍길동", "presence": "active"}]

Inputs: no named parameters. Returns: result

create_notion_pageA

분석 결과를 Notion 페이지로 생성한다.

자유 형식 텍스트(마크다운)를 Notion 블록으로 변환하여 페이지를 생성한다. 동일 제목의 페이지가 이미 있으면 안내한다.

Args: title: 페이지 제목 (예: "[general] 분석 결과 - 2024-01-15") content: 분석 결과 텍스트 (마크다운 형식 지원: #, ##, ###, -, *, **, 코드, 링크, 취소선)

Returns: 생성된 Notion 페이지 URL 또는 에러 메시지

Inputs: title (required), content (required). Returns: result

fetch_channel_infoB

Slack 채널의 상세 정보를 조회한다.

Args: channel_id: 채널 ID (예: C0123456789)

Returns: 채널 정보를 JSON 형식 문자열로 반환

Inputs: channel_id (required). Returns: result

fetch_messagesB

Slack 채널의 메시지를 조회한다.

Args: channel_id: 채널 ID (예: C0123456789) limit: 조회할 메시지 수 (기본값: 100) oldest: 시작 타임스탬프 (해당 시점 이후 메시지만 조회)

Returns: 메시지 리스트를 JSON 형식 문자열로 반환

Inputs: channel_id (required), limit, oldest. Returns: result

fetch_threadB

Slack 스레드의 메시지를 조회한다.

Args: channel_id: 채널 ID (예: C0123456789) thread_ts: 스레드 타임스탬프 (예: 1234567890.123456)

Returns: 스레드 메시지 리스트를 JSON 형식 문자열로 반환

Inputs: thread_ts (required), channel_id (required). Returns: result

fetch_threadsA

여러 Slack 스레드의 메시지를 한 번에 수집하고 AI 분석용으로 포맷팅한다.

복수의 스레드를 입력받아 각 스레드의 댓글을 모두 수집한 뒤, AI가 분석할 수 있는 텍스트로 변환하여 반환한다.

Args: channel_id: 채널 ID (예: C0123456789) thread_ts_list: 스레드 타임스탬프 리스트 (예: ["1234567890.123456", "1234567891.654321"]) channel_name: 채널 이름 (포맷팅 헤더에 표시, 미지정 시 채널 ID 사용)

Returns: AI 분석용으로 포맷팅된 복수 스레드 메시지 텍스트

Inputs: channel_id (required), thread_ts_list (required), channel_name. Returns: result

format_messagesA

Slack 채널 메시지를 수집하고 AI 분석용 텍스트로 포맷팅한다.

메시지 수집과 포맷팅을 한 번에 수행한다.

Args: channel_id: 채널 ID (예: C0123456789) channel_name: 채널 이름 (포맷팅 헤더에 표시) limit: 조회할 메시지 수 (기본값: 100) oldest: 시작 타임스탬프 (해당 시점 이후 메시지만 조회)

Returns: AI 분석용으로 포맷팅된 메시지 텍스트

Inputs: channel_id (required), channel_name (required), limit, oldest. Returns: result

get_analysis_guide_toolA

분석 방향 안내를 반환한다.

사용자에게 어떤 방식으로 정리할지 질문할 때 사용한다. 예시와 팁을 포함한 안내 텍스트를 반환한다.

Returns: 분석 방향 안내 텍스트 (예시 포함)

Inputs: no named parameters. Returns: result

get_preferencesA

저장된 분석 선호도를 조회한다.

분석을 시작하기 전에 호출하여 사용자의 선호도를 확인한다. 저장된 선호도가 있으면 분석 시 해당 방향을 반영한다.

Returns: 저장된 선호도 텍스트. 없으면 안내 메시지.

Inputs: no named parameters. Returns: result

list_analysis_historyA

과거 분석 결과 히스토리를 조회한다.

사용자가 "지난번처럼", "이전에 정리한 거" 등을 언급할 때 호출한다. save_analysis_result로 저장된 분석 결과 목록을 반환한다.

Args: limit: 조회할 최대 건수 (기본값: 10)

Returns: 히스토리 목록 (파일명, 요약 포함)

Inputs: limit. Returns: result

list_channelsA

Slack 채널 목록을 조회한다.

Returns: 채널 정보 리스트를 JSON 형식 문자열로 반환 [{"id": "C123", "name": "general", "topic": "...", "num_members": 10}]

Inputs: no named parameters. Returns: result

list_dmsA

Slack DM(다이렉트 메시지) 목록을 조회한다.

1:1 DM과 그룹 DM을 조회한다. 반환된 id는 fetch_messages, fetch_thread 등에 그대로 사용 가능하다.

Returns: DM 정보 리스트를 JSON 형식 문자열로 반환 [{"id": "D123", "name": "DM: 김동영", "is_dm": true, "is_group_dm": false}]

Inputs: no named parameters. Returns: result

list_notion_pagesA

Notion 상위 페이지 하위의 페이지 목록을 조회한다.

상위 페이지를 지정하지 않으면 NOTION_PARENT_PAGE_URL 환경변수의 페이지를 사용한다.

Args: parent_page_url_or_id: 상위 페이지 URL 또는 ID (미지정 시 환경변수 사용)

Returns: 하위 페이지 목록 (JSON 형식: [{"id": "...", "title": "..."}])

Inputs: parent_page_url_or_id. Returns: result

read_notion_pageA

Notion 페이지의 내용을 읽는다.

Args: page_url_or_id: Notion 페이지 URL 또는 ID

Returns: 페이지 제목과 마크다운 형식의 본문 텍스트

Inputs: page_url_or_id (required). Returns: result

save_analysis_resultA

분석 결과를 로컬 JSON 파일로 백업한다.

Notion 업로드 실패 시 재시도하거나, 분석 히스토리를 보관할 때 사용한다.

Args: data_json: 저장할 데이터 (JSON 문자열) filename: 파일명 (미지정 시 타임스탬프 기반 자동 생성)

Returns: 저장된 파일 경로 또는 에러 메시지

Inputs: data_json (required), filename. Returns: result

save_preference_toolA

사용자의 분석 선호도를 저장한다.

사용자가 "기억해줘", "앞으로 ~해줘", "다음에는 ~방식으로" 등 분석 방향에 대한 선호를 표현할 때 호출한다.

Args: text: 저장할 선호도 (예: "회의록은 결정사항 위주로 정리해줘")

Returns: 저장 결과 메시지

Inputs: text (required). Returns: result

search_notionA

Notion 워크스페이스에서 페이지를 검색한다.

Integration에 연결된 모든 페이지를 키워드로 검색한다. 키워드를 지정하지 않으면 접근 가능한 전체 페이지를 조회한다.

Args: query: 검색 키워드 (미지정 시 전체 조회) limit: 결과 수 (기본 20, 최대 100)

Returns: 검색 결과 페이지 목록 (JSON 형식)

Inputs: limit, query. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 17 tools

    Disambiguation4/5

    Most tools have distinct purposes (e.g., fetch_messages vs fetch_thread vs fetch_threads), though format_messages overlaps with fetch_messages by adding formatting. Descriptions clarify, so only minor confusion possible.

    Naming Consistency4/5

    Generally follows verb_noun pattern (list_, fetch_, create_, etc.), but some tools include 'tool' suffix (get_analysis_guide_tool, save_preference_tool) deviating from the norm. Mostly consistent with minor exceptions.

    Tool Count4/5

    17 tools are reasonable for the Slack-to-Notion domain, covering Slack retrieval, Notion management, and analysis utilities. Some redundancy (e.g., fetch_threads vs fetch_thread) but not excessive.

    Completeness3/5

    Covers core workflow: fetch Slack data, analyze, and create Notion pages. Missing update/delete for Notion and ability to post to Slack, but these are not central to the use case. Minor gaps.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables AI-powered Slack workspace management with 18+ tools for messaging, channel management, conversation analysis, and real-time bot responses. Features an autonomous AI agent that can plan and execute complex multi-step tasks combining Slack operations with web research.
      2
      -
    • A
      license
      A
      quality
      D
      maintenance
      Integrates AI assistants with Slack workspaces using OAuth 2.0 authenticated user tokens for secure, multi-functional interaction. It enables comprehensive operations including channel management, message searching, file handling, and reaction management through natural language.
      20
      169 npm
      MIT