Skip to content

Kazy1014/notion-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published