Skip to main content
Glama

Notion MCP Server

Docker Image License: MIT

Notion API連携を行うMCP(Model Context Protocol)サーバー。CursorやClaudeと連携し、NotionのデータベースへのCRUD操作を可能にします。

特徴

  • DDD(ドメイン駆動設計): 保守性の高いアーキテクチャ

  • TDD(テスト駆動開発): 高品質なコード

  • TypeScript: 型安全な実装

  • Notion API統合: Notion APIの全般的な機能をサポート

  • Docker対応: 環境構築不要で即座に利用可能

主な機能

ページ(レコード)操作

  • ページ作成: データベースに新しいレコードを追加

  • ページ取得: 指定したIDのレコードを取得

  • ページ更新: レコードの各項目(プロパティ)を個別または一括更新

    • テキスト、セレクト、マルチセレクト、日付、チェックボックス、数値、URL、メールアドレス、電話番号、ユーザー、関連ページなど、全てのプロパティタイプに対応

  • ページ削除: レコードをアーカイブ(削除)

  • ページクエリ: フィルター・ソート条件でレコードを検索

データベース操作

  • データベース取得: 指定したIDのデータベース情報を取得

  • データベース一覧: アクセス可能なデータベースを一覧表示

  • データベース更新: データベースのタイトルやスキーマを更新

高度な機能

  • 🔄 ページネーション: 大量データの自動ページング処理

  • 🔍 フィルタリング: 条件に基づく柔軟な検索

  • 📊 ソート: 複数条件による並び替え

  • 📈 統計情報: データベースの統計取得

アーキテクチャ

src/ ├── domain/ # ドメイン層(ビジネスロジック) │ ├── entities/ # エンティティ │ ├── repositories/ # リポジトリインターフェース │ ├── services/ # ドメインサービス │ └── value-objects/ # 値オブジェクト ├── infrastructure/ # インフラ層(外部システム連携) │ ├── notion/ # Notion APIクライアント │ └── repositories/ # リポジトリ実装 ├── application/ # アプリケーション層(ユースケース) │ └── use-cases/ # ビジネスユースケース ├── presentation/ # プレゼンテーション層(入出力) │ └── mcp/ # MCPサーバー実装 └── shared/ # 共有コード

クイックスタート(Docker使用)🐳

最も簡単な方法はDockerを使用することです:

# Docker Hubから取得 docker pull kazuyaoda/notion-mcp:latest # 実行 docker run -it \ -e NOTION_API_KEY=your_notion_api_key \ kazuyaoda/notion-mcp:latest

または、スクリプトを使用:

export NOTION_API_KEY=your_notion_api_key ./scripts/docker-run.sh

詳細は DOCKER.md を参照してください。

ローカル開発セットアップ

# 依存関係のインストール npm install # ビルド npm run build # テスト実行 npm test # 開発モード npm run dev

設定

環境変数 NOTION_API_KEY にNotion APIキーを設定してください。

export NOTION_API_KEY=your_notion_api_key

Cursor/Claudeでの使用方法

オプション1: Docker経由(推奨)

MCP設定ファイルに以下を追加:

{ "mcpServers": { "notion": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "NOTION_API_KEY=your_notion_api_key", "kazuyaoda/notion-mcp:latest" ] } } }

オプション2: ローカル実行

{ "mcpServers": { "notion": { "command": "node", "args": ["/path/to/notion-mcp/dist/index.js"], "env": { "NOTION_API_KEY": "your_notion_api_key" } } } }

機能

  • ✅ ページの作成、取得、更新、削除

  • ✅ データベースの取得と更新

  • ✅ 高度なクエリ(フィルター、ソート、ページネーション)

  • ✅ 統計情報の取得

  • ✅ エラーハンドリング

ドキュメント

開発

テスト

# 全テスト実行 npm test # カバレッジ付き npm run test:coverage # watch モード npm run test:watch

Dockerビルド

# 基本ビルド docker build -t notion-mcp:latest . # マルチプラットフォームビルド ./scripts/docker-build.sh --multi-platform # ビルドしてDocker Hubにプッシュ ./scripts/docker-build.sh --push --username kazuyaoda

ライセンス

MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kazy1014/notion-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server