MCP 문서 관리

메뉴

Notion

Notion

Notion MCP 서버는 Notion API와 상호작용할 수 있는 Model Context Protocol 서버입니다. 이 서버는 LLM이 Notion 워크스페이스의 페이지, 데이터베이스, 블록 및 코멘트 등에 접근하고 조작할 수 있는 표준화된 인터페이스를 제공합니다.

특징

  • Notion 페이지 및 블록 내용 조회
  • 새 페이지 및 블록 생성
  • 기존 페이지 및 블록 수정
  • 데이터베이스 조회, 생성 및 수정
  • 댓글 조회 및 작성
  • 페이지 검색 및 필터링
  • 사용자 관리 및 워크스페이스 정보 조회
  • 일괄 작업 수행 기능

API

리소스

대부분의 Notion MCP 서버 구현은 주로 도구(tools)를 통한 상호작용을 제공하며, 일부 구현은 리소스를 노출하지 않습니다.

도구

페이지 및 블록 관리

search_pages

Notion 워크스페이스에서 페이지를 검색합니다. - 입력: - query: 검색 쿼리

read_page

특정 페이지의 내용을 읽습니다. 블록 ID와 유형(블록 작업에 필요)을 표시합니다. - 입력: - pageId: 읽을 페이지의 ID

create_page

새 페이지 또는 데이터베이스 항목을 생성합니다. - 입력: - parentPageId: 페이지가 생성될 부모 페이지의 ID - title: 페이지 제목(선택적) - content: 마크다운 형식의 페이지 내용(선택적) - properties: 데이터베이스 항목을 위한 추가 속성(선택적)

update_page

기존 Notion 페이지를 업데이트합니다. - 입력: - pageId: 업데이트할 페이지의 ID - content: 추가할 새 내용 - mode: 업데이트 모드(replace, append, merge) - type: 추가할 내용 유형(paragraph, task, todo, heading, image) - position: 병합 모드를 위한 위치(start, end)

update_block

블록의 내용을 업데이트합니다(원래 블록과 동일한 유형 사용). - 입력: - blockId: 업데이트할 블록의 ID - content: 블록의 새 내용 - type: 블록 유형(paragraph, heading_1, heading_2, heading_3, bulleted_list_item, numbered_list_item)

delete_block

페이지에서 특정 블록을 삭제합니다. - 입력: - blockId: 삭제할 블록의 ID

데이터베이스 관리

create_database

페이지에 새 데이터베이스를 생성합니다. - 입력: - parentPageId: 부모 페이지의 ID - title: 데이터베이스 제목 - properties: 데이터베이스 스키마 속성

query_database

데이터베이스를 쿼리합니다. - 입력: - databaseId: 데이터베이스의 ID - filter: 필터 조건(선택적) - sort: 정렬 조건(선택적)

retrieve_database

데이터베이스의 메타데이터를 조회합니다. - 입력: - databaseId: 조회할 데이터베이스의 ID

update_database

데이터베이스의 속성을 업데이트합니다. - 입력: - databaseId: 업데이트할 데이터베이스의 ID - title: 데이터베이스의 새 제목(선택적) - description: 데이터베이스의 새 설명(선택적) - properties: 업데이트할 속성 스키마(선택적)

update_database_item

데이터베이스 항목의 속성을 업데이트합니다. - 입력: - pageId: 업데이트할 데이터베이스 항목(페이지)의 ID - properties: 업데이트할 속성

댓글 관리

retrieve_comments

페이지의 모든 댓글을 가져옵니다. - 입력: - pageId: 페이지의 ID - pageSize: 검색할 댓글 수(최대 100) - startCursor: 페이지네이션 커서(선택적)

add_comment

페이지에 댓글을 추가합니다. - 입력: - pageId: 댓글을 추가할 페이지의 ID - content: 댓글 텍스트

사용 방법

Notion MCP 서버는 다음과 같이 구성할 수 있습니다:

  1. 환경 변수 설정:

    NOTION_TOKEN=<your-notion-api-token>
    NOTION_PAGE_ID=<your-notion-page-id>
    NOTION_VERSION="2022-06-28"
    NOTION_BASE_URL="https://api.notion.com/v1"

  2. Claude Desktop 구성:

    {
      "mcpServers": {
        "notion": {
          "command": "npx",
          "args": ["-y", "notion-mcp-server"],
          "env": {
            "NOTION_TOKEN": "YOUR_KEY",
            "NOTION_PAGE_ID": "YOUR_PAGE_ID"
          }
        }
      }
    }

또는 단일 명령으로 구성:

{
  "mcpServers": {
    "notion": {
      "command": "env NOTION_TOKEN=YOUR_KEY NOTION_PAGE_ID=YOUR_PAGE_ID npx",
      "args": ["-y", "notion-mcp-server"]
    }
  }
}

  1. 공식 Notion MCP 서버:
    {
      "mcpServers": {
        "notionApi": {
          "command": "npx",
          "args": ["-y", "@notionhq/notion-mcp-server"],
          "env": {
            "OPENAPI_MCP_HEADERS": "{\"Authorization\": \"Bearer ntn_****\", \"Notion-Version\": \"2022-06-28\" }"
          }
        }
      }
    }

Notion API 통합 설정

Notion MCP 서버를 사용하기 전에 다음 단계를 완료해야 합니다:

  1. Notion 통합 생성:
  2. Notion Developers 사이트에서 새 통합을 생성
  3. 적절한 권한을 설정하고 통합 토큰을 받음

  4. 페이지 공유:

  5. 통합이 Notion 콘텐츠에 접근하려면 각 페이지나 데이터베이스를 명시적으로 통합과 공유해야 함
  6. 페이지의 오른쪽 상단 공유 버튼에서 통합을 검색하고 추가
  7. 상위 페이지에서 공유된 권한은 하위 페이지에 자동으로 상속됨

보안 고려사항

  • 통합 토큰은 매우 민감한 정보이므로 안전하게 관리해야 합니다.
  • 통합에 필요한 최소한의 권한만 부여하세요.
  • 통합이 접근해야 하는 페이지와 데이터베이스만 공유하세요.
  • 환경 변수나 구성 파일에 저장된 통합 토큰을 안전하게 관리하세요.

연결된 구성 요소

  • Obsidian Markdown Notes - Obsidian 볼트나 마크다운 노트가 포함된 디렉토리 읽기 및 검색
  • obsidian-mcp - 메모 검색, 읽기, 쓰기 및 구성을 위한 도구가 있는 Obsidian.md용 MCP 서버
  • OneNote - Microsoft Graph API를 사용하여 Microsoft OneNote에 연결하는 MCP 서버
  • Atlassian - Atlassian Cloud 제품(Confluence 및 Jira) 상호작용