This server provides comprehensive CRUD operations and management functionality for Notion databases and pages through the Model Context Protocol, enabling integration with AI tools like Cursor and Claude.
Page (Record) Operations:
Create pages: Add new records to databases with customizable properties (title, rich text, status, dates, checkboxes, numbers, URLs, emails, phone numbers, people assignments, relations, etc.)
Retrieve pages: Get detailed information about specific pages including all properties, timestamps, and archive status
Update pages: Modify any property type on existing pages with support for all Notion property types
Delete pages: Archive records (soft delete that can be restored later)
Query pages: Search and filter records using complex criteria with AND/OR logic, multi-field sorting, and pagination for large datasets
Database Management:
List databases: Discover all accessible databases with their IDs, titles, and archive status
Get database: Retrieve detailed information including schema and property definitions
Update database: Modify database title and schema (add/modify/delete property columns)
Advanced Features:
Complex filtering with Notion's filter syntax (equals, contains, date ranges, checkbox states, etc.)
Multi-field sorting in ascending/descending order
Cursor-based pagination (up to 100 records per request)
Statistical information retrieval and batch processing
Enterprise-ready architecture built with DDD/TDD principles, TypeScript, and Docker deployment
Provides comprehensive CRUD operations for Notion databases and pages, including creating, updating, and deleting records, querying with filters and sorting, managing database schemas, and retrieving statistics from Notion workspaces.
Notion MCP Server
Notion API連携を行うMCP(Model Context Protocol)サーバー。CursorやClaudeと連携し、NotionのデータベースへのCRUD操作を可能にします。
特徴
DDD(ドメイン駆動設計): 保守性の高いアーキテクチャ
TDD(テスト駆動開発): 高品質なコード
TypeScript: 型安全な実装
Notion API統合: Notion APIの全般的な機能をサポート
Docker対応: 環境構築不要で即座に利用可能
主な機能
ページ(レコード)操作
✅ ページ作成: データベースに新しいレコードを追加
✅ ページ取得: 指定したIDのレコードを取得
✅ ページ更新: レコードの各項目(プロパティ)を個別または一括更新
テキスト、セレクト、マルチセレクト、日付、チェックボックス、数値、URL、メールアドレス、電話番号、ユーザー、関連ページなど、全てのプロパティタイプに対応
✅ ページ削除: レコードをアーカイブ(削除)
✅ ページクエリ: フィルター・ソート条件でレコードを検索
データベース操作
✅ データベース取得: 指定したIDのデータベース情報を取得
✅ データベース一覧: アクセス可能なデータベースを一覧表示
✅ データベース更新: データベースのタイトルやスキーマを更新
高度な機能
🔄 ページネーション: 大量データの自動ページング処理
🔍 フィルタリング: 条件に基づく柔軟な検索
📊 ソート: 複数条件による並び替え
📈 統計情報: データベースの統計取得
アーキテクチャ
クイックスタート(Docker使用)🐳
最も簡単な方法はDockerを使用することです:
または、スクリプトを使用:
詳細は DOCKER.md を参照してください。
ローカル開発セットアップ
設定
環境変数 NOTION_API_KEY にNotion APIキーを設定してください。
Cursor/Claudeでの使用方法
オプション1: Docker経由(推奨)
MCP設定ファイルに以下を追加:
オプション2: ローカル実行
機能
✅ ページの作成、取得、更新、削除
✅ データベースの取得と更新
✅ 高度なクエリ(フィルター、ソート、ページネーション)
✅ 統計情報の取得
✅ エラーハンドリング
ドキュメント
ARCHITECTURE.md - アーキテクチャの詳細
DOCKER.md - Docker使用ガイド
EXAMPLES.md - 使用例
INTEGRATION_TEST.md - 統合テストガイド
SECURITY.md - セキュリティガイド
QUICK_START.md - クイック公開ガイド
開発
テスト
Dockerビルド
ライセンス
MIT