Notion MCP 서버
Notion과의 원활한 통합을 제공하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버를 통해 언어 모델이 페이지 및 데이터베이스를 검색, 읽기, 생성 및 업데이트하는 표준화된 도구를 통해 Notion 작업 공간과 상호 작용할 수 있습니다.
🌟 주요 특징
페이지 작업
🔍 Notion 작업 공간을 검색하세요
📝 풍부한 마크다운 콘텐츠로 새 페이지를 만드세요
📖 깔끔한 포맷으로 페이지 콘텐츠를 읽어보세요
🔄 기존 페이지 업데이트
💬 댓글 추가 및 검색
🧱 블록 수준 작업(업데이트, 삭제)
향상된 마크다운 지원
다중 제목 수준(H1-H3)
언어 지원이 있는 코드 블록
체크박스 상태가 있는 대화형 할 일 항목
다중 줄 지원이 가능한 블록 인용
수평 분할선
캡션이 있는 이미지
중첩된 글머리 기호
데이터베이스 작업
데이터베이스 생성 및 관리
데이터베이스 항목 추가 및 업데이트
필터 및 정렬을 사용한 쿼리
다양한 속성 유형 지원:
제목, 서식 있는 텍스트, 숫자
선택, 다중 선택
날짜, 체크박스
그리고 더 많은 것들!
Related MCP server: Notion MCP Server
🚀 시작하기
필수 조건
Node.js(v16 이상)
Notion API 키
MCP 호환 클라이언트(예: Claude Desktop)
설치
저장소를 복제합니다.
지엑스피1
종속성 설치:
npm install환경 설정:
# Create .env file
echo "NOTION_API_KEY=your_notion_api_key_here" > .env
# Or export directly
export NOTION_API_KEY=your_notion_api_key_here서버를 빌드하세요:
npm run build🔧 구성
클로드 데스크탑 설정
Claude Desktop 구성을 업데이트하세요(
claude_desktop_config.json):
{
"mcpServers": {
"notion": {
"command": "node",
"args": ["/absolute/path/to/notion-server/build/index.js"],
"env": {
"NOTION_API_KEY": "your_notion_api_key_here"
}
}
}
}변경 사항을 적용하려면 Claude Desktop을 다시 시작하세요.
🛠️ 사용 가능한 도구
페이지 작업
// Search pages
{
query: string // Search query
}
// Read page
{
pageId: string // ID of the page to read
}
// Create page
{
title?: string, // Page title
content?: string, // Page content in markdown
parentPageId: string // Parent page ID
properties?: object // For database items
}
// Update page
{
pageId: string, // Page ID to update
content: string, // New content
type?: string // Content type
}데이터베이스 작업
// Create database
{
parentPageId: string,
title: string,
properties: object
}
// Query database
{
databaseId: string,
filter?: object,
sort?: object
}🔐 Notion Access 설정
통합 만들기
Notion 통합 방문
"새로운 통합"을 클릭하세요
권한 구성:
콘텐츠: 읽기, 업데이트, 삽입
댓글: 읽고, 만들고
사용자 정보: 읽기
페이지 연결
Notion 페이지를 열어보세요
"..." 메뉴 → "연결"을 클릭하세요.
통합을 추가하세요
필요에 따라 다른 페이지에도 반복합니다.
📝 사용 예시
페이지 만들기
const result = await notion.create_page({
parentPageId: "page_id",
title: "My Page",
content: "# Welcome\nThis is a test page."
});데이터베이스 쿼리
const result = await notion.query_database({
databaseId: "db_id",
filter: {
property: "Status",
select: {
equals: "In Progress"
}
}
});🤝 기여하기
기여를 환영합니다! 다음 내용을 알려주세요.
저장소를 포크하세요
기능 브랜치 생성
풀 리퀘스트 제출
📜 라이센스
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
🙏 감사의 말
이 프로젝트는 sweir1/notion-server 에 의해 크게 개선되었으며, 다음과 같은 업데이트가 이루어졌습니다.
더 많은 블록 유형으로 향상된 마크다운 지원
포괄적인 데이터베이스 작업
향상된 오류 처리 및 디버깅
데이터베이스 항목에 대한 더 나은 속성 처리
더 깔끔한 페이지 출력 형식
sweir1의 버전을 사용하려면 해당 저장소를 복제하면 됩니다.
git clone https://github.com/sweir1/notion-server.git