Notion MCP Server

by snowan

Notion MCP 서버

Notion API에 연결하고 Claude의 Machine Context Protocol(MCP)을 통해 기능을 노출하는 서버입니다.

특징

  • 제목이나 내용으로 Notion 페이지 검색
  • 페이지 세부 정보 및 콘텐츠 검색
  • Notion 데이터베이스 쿼리
  • Notion에서 새 페이지 만들기

설정

  1. 이 저장소를 복제하세요:

지엑스피1

  1. 종속성 설치:
npm install
  1. 루트 디렉토리에 다음 내용으로 .env 파일을 만듭니다.
NOTION_API_KEY=your_notion_api_key_here PORT=3000 # Optional: if you want to query a specific database by default NOTION_DATABASE_ID=your_notion_database_id_here
  1. Notion API 키를 받으세요:
    • https://www.notion.so/my-integrations 로 이동하세요
    • 새로운 통합을 만듭니다
    • "내부 통합 토큰"을 복사하세요
    • .env 파일에 이 토큰을 NOTION_API_KEY 로 추가하세요.
  2. Notion 통합을 작업 공간에 연결하세요.
    • Notion 작업 공간에서 페이지나 데이터베이스로 이동
    • 오른쪽 상단의 "..." 메뉴를 클릭하세요
    • "연결 추가"를 선택하세요
    • 통합을 찾아 추가하세요

서버 실행

개발 모드로 서버를 시작합니다.

npm run dev

또는 생산 모드에서:

npm start

서버는 .env 파일에 지정된 포트에서 실행됩니다(기본값: 3000).

API 엔드포인트

일반 HTTP 엔드포인트

  • POST /api/notion/search
    • Notion에서 페이지 검색
    • 본문: { "query": "search term" }
  • POST /api/notion/page
    • ID로 페이지 가져오기
    • 본문: { "page_id": "page-id-here" }
  • POST /api/notion/database/query
    • 데이터베이스 쿼리
    • 본문: { "database_id": "database-id-here", "filter": {}, "sorts": [] }
  • POST /api/notion/page/create
    • 새 페이지를 만드세요
    • 본문: { "parent": {}, "properties": {}, "children": [] }

MCP 통합

서버는 사용 가능한 기능을 설명하는 MCP 매니페스트를 /mcp/manifest.json 에 공개합니다.

MCP 함수를 호출하려면 다음 구조를 사용하여 /api/notion/mcp/invoke 에 POST 요청을 보냅니다.

{ "function_name": "search_pages", "parameters": { "query": "search term" } }

사용 가능한 MCP 기능

  • search_pages - 제목이나 내용으로 Notion 페이지 검색
  • get_page - ID로 Notion 페이지 가져오기
  • query_database - Notion 데이터베이스 쿼리
  • create_page - Notion에서 새 페이지를 만듭니다

특허

MIT

-
security - not tested
-
license - not tested
-
quality - not tested

Notion API에 연결하고 Claude의 Machine Context Protocol을 통해 기능을 제공하는 서버로, Notion 페이지와 데이터베이스의 검색, 추출, 쿼리, 생성을 가능하게 합니다.

  1. 특징
    1. 설정
      1. 서버 실행
        1. API 엔드포인트
          1. 일반 HTTP 엔드포인트
          2. MCP 통합
        2. 사용 가능한 MCP 기능
          1. 특허
            ID: 9j2gf4yo67