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 서버는 다음과 같이 구성할 수 있습니다:
-
환경 변수 설정:
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" -
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"]
}
}
}
- 공식 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 서버를 사용하기 전에 다음 단계를 완료해야 합니다:
- Notion 통합 생성:
- Notion Developers 사이트에서 새 통합을 생성
-
적절한 권한을 설정하고 통합 토큰을 받음
-
페이지 공유:
- 통합이 Notion 콘텐츠에 접근하려면 각 페이지나 데이터베이스를 명시적으로 통합과 공유해야 함
- 페이지의 오른쪽 상단 공유 버튼에서 통합을 검색하고 추가
- 상위 페이지에서 공유된 권한은 하위 페이지에 자동으로 상속됨
보안 고려사항
- 통합 토큰은 매우 민감한 정보이므로 안전하게 관리해야 합니다.
- 통합에 필요한 최소한의 권한만 부여하세요.
- 통합이 접근해야 하는 페이지와 데이터베이스만 공유하세요.
- 환경 변수나 구성 파일에 저장된 통합 토큰을 안전하게 관리하세요.
연결된 구성 요소
- Obsidian Markdown Notes - Obsidian 볼트나 마크다운 노트가 포함된 디렉토리 읽기 및 검색
- obsidian-mcp - 메모 검색, 읽기, 쓰기 및 구성을 위한 도구가 있는 Obsidian.md용 MCP 서버
- OneNote - Microsoft Graph API를 사용하여 Microsoft OneNote에 연결하는 MCP 서버
- Atlassian - Atlassian Cloud 제품(Confluence 및 Jira) 상호작용