Skip to main content
Glama
idean3885

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. 확장 활성화: 설치 후 설정(⌘ + ,) → ExtensionsSlack 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"}]

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes the returned format and that it returns only active users. However, it does not disclose authentication requirements, rate limits, definition of 'active' (e.g., real-time presence vs. last seen), or potential limitations like including/excluding bots. The example helps but more transparency is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: two brief Korean sentences and an English return format example. Every sentence is essential and front-loaded. No superfluous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and an output schema is indicated, the description is sufficiently complete. It explains the purpose, scope (workspace-wide), what is returned, and provides an example. However, it could mention error handling or edge cases (e.g., workspace not available) to be fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and schema coverage is 100%. The description does not need to add parameter details. Baseline is 3, and the description meets that by clearly stating what the tool returns without requiring any input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves currently logged-in active users in the workspace ('워크스페이스에서 현재 로그인한 사용자 목록을 조회한다'). It also specifies that only active users among all users are returned, which distinguishes it from sibling tools like list_dms or fetch_messages that deal with messages and channels.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving active users but does not explicitly state when to use this tool versus alternatives. No sibling tools serve the same purpose, so no contrasting guidance is provided. The description could be improved by noting that it is for presence information and may complement other user-related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_notion_pageA

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

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
contentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It mentions markdown conversion and duplicate page notification, but lacks details on permissions, error handling, or whether the duplicate case leads to failure or overwriting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief and well-structured with a clear intro, a bullet for duplicate handling, and formatted Args and Returns sections. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, parameters, and return value. However, it lacks details on error conditions, prerequisites, or when not to use this tool, which could enhance completeness for a 2-parameter tool with an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description provides meaningful details: title includes example format, and content lists supported markdown syntax. This fully compensates for the missing schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'create' and resource 'Notion page', and distinguishes from sibling tools like list_notion_pages and read_notion_page. It also specifies the conversion of markdown to Notion blocks and duplicate handling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for creating Notion pages and mentions duplicate notification, but does not explicitly state when to use this tool versus alternatives like save_analysis_result or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetch_channel_infoB

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description must carry the full burden. It states that the tool returns a JSON string but does not disclose behavior like side effects (none expected), authentication requirements, rate limits, or that it is read-only. The description lacks critical behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: two lines, no filler, with a clear structure of Args and Returns. Every word is meaningful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that an output schema exists, the description doesn't need to detail return values. However, it could mention what specific channel properties are included (e.g., name, topic, purpose) to be more complete. The current description is minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage. The description compensates by explaining the only parameter (channel_id) with a concrete example (C0123456789), adding meaning beyond the schema's title alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool retrieves detailed information for a specific Slack channel (조회한다). It distinguishes from siblings like list_channels (which lists channels) and fetch_messages (which fetches messages), as it focuses on a single channel's details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of when not to use it, prerequisites, or comparison with sibling tools like list_channels or fetch_channel_info alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetch_messagesB

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
oldestNo
channel_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only states it fetches messages and returns a JSON string, but lacks behavioral details such as pagination, rate limits, ordering, or whether it excludes threaded replies. Without annotations, the description fails to disclose important traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with clear Args and Returns sections. No superfluous text, though it could be slightly more streamlined. Still well-structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and minimal schema, the description provides the essential info (parameters and return type). However, it omits behavioral context like pagination and output format details. Since an output schema exists, the burden is reduced, but overall completeness is adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds valuable meaning: explains channel_id with example, limit with default, oldest as start timestamp. It covers all three parameters, though the format for oldest is not fully detailed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Slack 채널의 메시지를 조회한다' (Fetch messages from Slack channels), indicating the verb and resource. However, it does not differentiate from sibling tools like fetch_thread or fetch_threads, which could cause confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., for threaded messages use fetch_thread). It does not mention prerequisites or context, leaving the agent without decision support.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetch_threadB

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
thread_tsYes
channel_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description should disclose behavioral traits. It does not mention read-only nature, authentication, rate limits, or error handling. The term 'fetch' implies reading, but this is not explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively concise, with the main sentence upfront followed by structured Args and Returns. It could be more concise by omitting the docstring-like format, but it is still clear and well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple two-parameter input and existence of an output schema, the description covers basic usage. However, it lacks context for when to use this tool over similar ones and does not mention potential limitations or edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 0%, the description explains each parameter with examples (channel_id: '채널 ID (예: C0123456789)', thread_ts: '스레드 타임스탬프 (예: 1234567890.123456)'), adding meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches messages from a Slack thread, specifying the action and resource. The sibling fetch_messages and fetch_threads hint at different scopes, but the description does not explicitly differentiate, so not a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like fetch_messages or fetch_threads. The description only explains what the tool does, not the appropriate context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fetch_threadsA

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

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
channel_idYes
channel_nameNo
thread_ts_listYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It describes the tool as collecting and formatting messages (read operation) but does not explicitly state it is read-only, disclose any side effects, permissions, or rate limits. The return format is mentioned, which adds some context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with no superfluous sentences. It is well-structured: a purpose statement, parameter definitions, and return value description. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists (context signal), the description covers inputs and output sufficiently. It explains the formatted text but does not mention potential errors, limits, or pagination. For a 3-parameter tool, this is nearly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description explains each parameter in the Args section with examples (e.g., channel_id format, thread_ts_list as list of timestamps, channel_name for header). This adds significant meaning beyond the input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('수집하고 포맷팅한다' - collect and format) and resource ('여러 Slack 스레드' - multiple Slack threads) with a specific purpose (AI analysis). It distinguishes from sibling tools like fetch_thread (singular) and fetch_messages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for multiple threads ('복수의 스레드'), which differentiates from fetch_thread (single). However, it does not explicitly state when to use or not use this tool relative to siblings, nor does it provide prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

format_messagesA

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

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
oldestNo
channel_idYes
channel_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It only describes the basic operation and does not mention permission requirements, rate limits, side effects, or whether the bot needs to be in the channel. This is insufficient for a tool that collects messages.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with an introductory line and an Args section. It is concise but thorough, with no redundant fluff. Slightly verbose due to the Args repetition, but overall effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description does not need to detail return values. However, it lacks information about error conditions, prerequisites (e.g., bot membership), and rate limits. With 4 parameters and no annotations, more completeness would be beneficial.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description provides detailed explanations for each parameter, including examples and context (e.g., channel_id 예시, channel_name purpose in header, limit default, oldest filter). This adds significant value beyond the schema's titles.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the function: collecting Slack channel messages and formatting them as text for AI analysis. It distinguishes from siblings like fetch_messages by adding the formatting step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for AI analysis formatting (AI 분석용 텍스트로 포맷팅) but does not explicitly state when to use it over alternatives like fetch_messages or fetch_threads. No exclusion criteria or when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_analysis_guide_toolA

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the tool returns text, with no mention of side effects, destructive actions, authentication needs, or idempotency. This is insufficient for a tool that may involve user interaction or data retrieval.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, with two sentences in Korean plus a returns line. Every sentence adds value: purpose, usage context, and output type. The 'Returns:' line could be omitted given the output schema, but it does not significantly bloat the description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and an output schema, the description covers purpose and usage adequately. However, it lacks behavioral transparency (e.g., safety, idempotency). With no annotations, more detail would be needed for full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the description does not need to add parameter meaning. The baseline for zero parameters is 4, and the description appropriately focuses on the tool's output and usage context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns an analysis direction guide with examples and tips. It specifies the resource ('분석 방향 안내') and the action ('반환한다'). The context of use ('사용자에게 어떤 방식으로 정리할지 질문할 때') further distinguishes it from sibling tools like save_analysis_result or get_preferences.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: 'when asking the user how to organize'. This provides clear context. However, it does not mention when not to use it or suggest alternative tools, though the sibling list makes alternatives obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_preferencesA

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Despite no annotations, the description describes the tool as a read operation ('retrieves'), which implies no destructive side effects. It also specifies return values (preference text or guidance message), providing adequate transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise: two sentences plus a return line. Every sentence adds necessary information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with an output schema, the description fully captures what the tool does, when to use it, and what it returns. It is complete for its complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is 100%. The description does not need to add parameter detail, but it clarifies the purpose and return format, which adds value beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves saved analysis preferences and specifies when to call it (before starting analysis). It distinguishes itself from the sibling 'save_preference_tool' by being a read operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises calling before analysis to check preferences, which provides clear usage context. It does not explicitly mention when not to use or list alternatives, but the guidance is sufficient for this simple tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_analysis_historyA

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

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that the tool returns a list of filenames and summaries, and that it relates to previously saved data. However, it does not mention whether the operation is read-only (likely), authentication needs, rate limits, or ordering of results. It is adequate but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, with only a few sentences. It front-loads the purpose, then provides usage guidance, and ends with argument and return description. Every sentence adds value, no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, output schema exists), the description covers the essential aspects: purpose, when to use, parameter meaning, and return format. It also links to the relevant sibling tool. It is complete for the context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, but the description adds meaning to the single parameter 'limit': it explains it is the maximum number to retrieve and gives a default value. This compensates for the schema's lack of description, making the parameter semantics clear and useful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb '조회한다' (queries) and the resource '과거 분석 결과 히스토리' (history of past analysis results). It ties the tool to a specific sibling tool 'save_analysis_result', distinguishing it from other list tools like 'list_notion_pages'. The purpose is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells when to use the tool: when the user mentions phrases like 'like last time' or 'what was organized before'. It also notes that it returns results saved by 'save_analysis_result'. However, it does not mention when not to use it or provide alternatives, but the guidance is clear for the intended use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_channelsA

Slack 채널 목록을 조회한다.

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must cover behavior. It states the return format (JSON list of channels with fields) but does not discuss limitations like pagination, rate limits, or permission requirements. For a simple read-only list, this is adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence stating the purpose and a short example of the return format. No superfluous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description, combined with the example output, provides a complete picture for a simple listing tool with no parameters. However, it does not mention whether the list includes archived channels or any filtering capabilities.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters in the input schema, so a baseline score of 4 is assigned per guidelines. No additional parameter information is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves a Slack channel list, using a specific verb and resource. It implicitly distinguishes from sibling tool 'list_dms' which returns direct messages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'list_dms' or 'fetch_messages'. The context is only implicit from the description itself.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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}]

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that both DM types are returned and id is reusable. Missing details on authentication or side effects, but for a read-only list it is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with a return format example. Each sentence is necessary and front-loaded with the purpose. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple tool with zero params and output schema present. Description provides a concrete return example. Could mention if there are limits, but overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist. Baseline 4 applies since schema coverage is vacuously 100% and description is not required to add parameter info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves Slack DM lists, covering both 1:1 and group DMs. It distinguishes from sibling tool list_channels, as channels are not DMs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions the returned id can be used in fetch_messages and fetch_thread, guiding downstream usage. However, no direct when-to-use vs alternatives, though sibling names imply the context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_notion_pagesA

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

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
parent_page_url_or_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries burden. Describes expected behavior (listing pages) and mentions env var fallback, but doesn't disclose potential side effects, auth requirements, or rate limits. Transparent enough for a safe read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is concise with Args and Returns sections. No unnecessary sentences, though could be slightly more structured for quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and presence of output schema in description, it provides sufficient information to use. Could mention if results are paginated or sorted, but not essential.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 0% description coverage, but description explains the sole parameter (parent_page_url_or_id) as optional with env var default. Adds meaningful context beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool lists subpages under a parent Notion page, using a specific verb and resource. It distinguishes from siblings like create_notion_page and read_notion_page by focusing on listing children.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explains default behavior with environment variable and optional parameter. However, does not explicitly state when to use this tool versus siblings like search_notion or list_dms, though context implies it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_notion_pageA

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
page_url_or_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, but the description implies a read-only operation ('reads'). It mentions return values (title and markdown body), but does not disclose potential errors, rate limits, or authentication requirements. The description is adequate but not detailed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, using two short sentences to cover purpose, arguments, and return values. Every phrase is informative with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter) and the presence of an output schema (implied), the description sufficiently explains inputs and outputs. It could mention error handling or page accessibility, but overall is complete for its straightforward function.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates by explicitly defining the parameter 'page_url_or_id' and its expected format (Notion page URL or ID). This adds meaning beyond the schema's type-only definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool reads Notion page content with a specific verb ('reads') and resource ('Notion page'). It distinguishes from siblings like create_notion_page and search_notion by focusing on reading existing pages.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as listing or searching Notion pages. It lacks context about prerequisites or conditions (e.g., page existence, permissions).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_analysis_resultA

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

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameNo
data_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavior. It mentions return values (file path or error) but does not detail overwrite policy, file location, permissions, or size limits. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is brief, front-loaded with purpose, and uses a clean bullet-style for parameters. No superfluous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and presence of an output schema, the description adequately explains saving behavior and return values. Some gaps like overwrite behavior exist but are minor for a local file save tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains data_json as JSON string to save and filename as optional with auto-generation, adding meaning beyond the schema. The default for filename is also noted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'backup' (백업한다) and the resource 'analysis result to local JSON file'. It distinguishes itself from siblings like create_notion_page or list_analysis_history by specifying local storage and backup purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit use cases are given: retry when Notion upload fails, or archive analysis history. This tells when to use the tool and implies alternatives are Notion-related operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

save_preference_toolA

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

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

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

Returns: 저장 결과 메시지

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description should fully disclose behavior. It states saves preference and returns a result message, but omits details like persistence, overwrite behavior, or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Efficient and front-loaded: purpose in first sentence, usage triggers in second, then structured args/returns. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given tool simplicity (one param, save operation), description covers basic purpose and usage. Could mention persistence or overwrite behavior, but generally complete with output schema present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Single 'text' parameter has 0% schema description coverage. Description adds an example but no format, constraints, or length limits. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool saves user analysis preferences with specific trigger phrases (e.g., '기억해줘'), distinguishing it from sibling tools like get_preferences (read) and save_analysis_result (saves analysis outputs).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly defines when to call: when user expresses preference using example phrases. Does not mention when not to use or explicitly contrast with siblings, but context implies differentiation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_notionA

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

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

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

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description explains that it searches all connected pages and that omitting the query returns all pages, but lacks disclosure of auth needs, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two short paragraphs, front-loaded with the action, and every sentence adds value. The Args/Returns formatting is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists (so return details not needed) and 2 parameters, the description covers the core functionality well. Minor omission: no mention of pagination or error behavior, but sufficient for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema coverage, the description fully explains the 'query' parameter (keyword, full list if omitted) and 'limit' (default 20, max 100), adding essential meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches pages in a Notion workspace using a keyword, distinguishing it from sibling tools like create_notion_page, list_notion_pages, and read_notion_page.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains that omitting the keyword retrieves all accessible pages, but does not explicitly compare with sibling tools like list_notion_pages or provide when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
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

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/idean3885/claude-slack-to-notion'

If you have feedback or need assistance with the MCP directory API, please join our Discord server