Notion API MCP Server

by pbohannon
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

  • Provides advanced todo list management and content organization capabilities through Notion's API, including task management, database operations, content structuring, and real-time integration with Notion's workspace, pages, and databases.

Notion API MCP

Notion API를 통해 고급 할 일 목록 관리 및 콘텐츠 구성 기능을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. MCP는 AI 모델이 외부 도구 및 서비스와 상호 작용할 수 있도록 지원하여 Notion의 강력한 기능과 원활하게 통합됩니다.

MCP 개요

AI 모델이 Notion API와 상호 작용할 수 있도록 하는 Python 기반 MCP 서버로, 다음을 제공합니다.

  • 할 일 관리 : 서식 있는 텍스트, 마감일, 우선순위 및 중첩된 하위 작업을 사용하여 작업을 만들고, 업데이트하고, 추적합니다.
  • 데이터베이스 작업 : 사용자 정의 속성, 필터 및 뷰를 사용하여 Notion 데이터베이스를 만들고 관리합니다.
  • 콘텐츠 구성 : 마크다운 지원, 계층적 목록 및 블록 작업을 통해 콘텐츠 구조화 및 형식 지정
  • 실시간 통합 : 깔끔한 비동기 구현을 통해 Notion의 작업 공간, 페이지 및 데이터베이스와 직접 상호 작용합니다.

전체 기능 목록 →

빠른 시작

지엑스피1

시작하기

1. Notion 통합 생성

  1. https://www.notion.so/my-integrations 로 이동하세요
  2. "새로운 통합"을 클릭하세요
  3. 통합 이름을 지정하세요(예: "내 MCP 통합")
  4. 통합을 사용할 작업 공간을 선택하세요
  5. "내부 통합 토큰"을 복사하세요. 이것이 NOTION_API_KEY 가 됩니다.
    • "ntn_"로 시작해야 합니다.

2. Notion Access 설정

새 데이터베이스를 생성하려면 부모 페이지나 기존 데이터베이스 ID가 필요합니다.

옵션 A: 새 데이터베이스의 부모 페이지

  1. 브라우저에서 Notion을 엽니다.
  2. 데이터베이스를 만들려는 새 페이지를 만들거나 기존 페이지를 엽니다.
  3. 오른쪽 상단의 ••• 메뉴를 클릭하세요
  4. "연결 추가"를 선택하고 통합을 선택하세요
  5. URL에서 페이지 ID를 복사합니다. 이는 마지막 슬래시 뒤와 물음표 앞의 문자열입니다.
    • 예: https://notion.so/myworkspace/123456abcdef... 에서 ID는 123456abcdef... 입니다.
    • 이것이 당신의 NOTION_PARENT_PAGE_ID 가 될 것입니다

옵션 B: 기존 데이터베이스

  1. 기존 Notion 데이터베이스를 엽니다.
  2. 통합에 연결되었는지 확인하세요(••• 메뉴 > 연결 추가)
  3. URL에서 데이터베이스 ID를 복사합니다.
    • 예: https://notion.so/myworkspace/123456abcdef...?v=... 에서 ID는 123456abcdef... 입니다.
    • 이것이 당신의 NOTION_DATABASE_ID 가 될 것입니다

3. MCP 서버 설치

  1. 가상 환경 생성:
cd notion-api-mcp uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  1. 종속성 설치:
uv pip install -e .
  1. 환경 구성:
cp .env.integration.template .env
  1. Notion 자격 증명으로 .env를 편집하세요.
NOTION_API_KEY=ntn_your_integration_token_here # Choose one or both of these depending on your needs: NOTION_PARENT_PAGE_ID=your_page_id_here # For creating new databases NOTION_DATABASE_ID=your_database_id_here # For working with existing databases

4. Claude Desktop 구성

중요: 서버는 .env 파일과 환경 변수를 모두 지원하지만, Claude Desktop은 MCP를 사용하려면 특별히 해당 구성 파일에서 구성이 필요합니다.

Claude Desktop의 구성( ~/Library/Application Support/Claude/claude_desktop_config.json )에 다음을 추가합니다.

{ "mcpServers": { "notion-api": { "command": "/path/to/your/.venv/bin/python", "args": ["-m", "notion_api_mcp"], "env": { "NOTION_API_KEY": "ntn_your_integration_token_here", // Choose one or both: "NOTION_PARENT_PAGE_ID": "your_page_id_here", "NOTION_DATABASE_ID": "your_database_id_here" } } } }

참고: .env 파일을 구성했더라도 Claude가 MCP를 사용하려면 Claude Desktop 구성에 다음 환경 변수를 추가해야 합니다. .env 파일은 주로 로컬 개발 및 테스트용으로 사용됩니다.

선적 서류 비치

개발

서버는 전반적으로 최신 Python 비동기 기능을 사용합니다.

  • Pydantic 모델을 사용한 유형 안전 구성
  • 더 나은 성능을 위해 httpx를 사용한 비동기 HTTP
  • Notion 기능을 노출하기 위한 깔끔한 MCP 통합
  • 적절한 리소스 정리 및 오류 처리

디버깅

서버에는 포괄적인 로깅이 포함되어 있습니다.

  • 개발을 위한 콘솔 출력
  • 서비스로 실행할 때 파일 로깅
  • 자세한 오류 메시지
  • 디버그 수준에서 요청/응답 로깅

직접 실행할 때 프로젝트 루트를 포함하도록 PYTHONPATH 설정합니다.

PYTHONPATH=/path/to/project python -m notion_api_mcp

미래 개발

계획된 개선 사항:

  1. 성능 최적화
    • 요청 캐싱 추가
    • 데이터베이스 쿼리 최적화
    • 연결 풀링 구현
  2. 고급 기능
    • 다중 작업 공간 지원
    • 일괄 작업
    • 실시간 업데이트
    • 고급 검색 기능
  3. 개발자 경험
    • 대화형 API 문서
    • 일반적인 작업을 위한 CLI 도구
    • 추가 코드 예제
    • 성능 모니터링
  4. 테스트 개선 사항
    • 성능 벤치마크
    • 부하 테스트
    • 추가적인 예외 사례
    • 확장된 통합 테스트
-
security - not tested
A
license - permissive license
-
quality - not tested

Notion의 API를 사용하여 고급 할 일 목록 관리 및 콘텐츠 구성을 지원하고 데이터베이스 생성, 동적 필터링, 협업 작업 추적과 같은 기능을 지원합니다.

  1. MCP Overview
    1. Quick Start
      1. Getting Started
        1. 1. Create a Notion Integration
        2. 2. Set Up Notion Access
        3. 3. Install the MCP Server
        4. 4. Configure Claude Desktop
      2. Documentation
        1. Development
          1. Debugging
        2. Future Development
          ID: s5mm9e0sr5