mcpField
N
nextcloud-organizer-mcp

nextcloud-organizer-mcp

ローカル
github.com/Vando-sketch生産性23 週間前に更新

nextcloud-organizer-mcp について

nextcloud-organizer-mcpは、ClaudeとNextcloudの利用者向けのセルフホスト可能なMCPサーバーで、タスク、カレンダーイベント、Notesを管理します。CalDAVとNotes REST API経由でデータを操作し、イベントと期限付きタスクをまとめた予定を表示します。

主な機能

  1. 01タスク、リマインダー、サブタスク、繰り返しの管理
  2. 02カレンダーイベントの作成とRSVP管理
  3. 03タスクを連動するカレンダー時間枠に変換
  4. 04Notesの作成とセクション編集
  5. 05イベントと期限付きタスクを予定に統合
  6. 06OAuth 2.1によるアクセス保護

活用シーン

  1. 01期限とリマインダー付きタスクの追加
  2. 02定例会議やカレンダー枠の設定
  3. 03タスクに連動したカレンダー時間の確保
  4. 04当日のイベントと期限付きタスクの確認

MCP 対応

Streamable HTTP経由でMCPクライアントにNextcloud用の51個のツールを提供し、OAuth 2.1を使用します。ツールはCalDAVとNotes REST APIを通じてNextcloudにアクセスします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"vando-sketch-nextcloud-organizer": {
"command": "uvx",
"args": [
"nextcloud-organizer-mcp"
],
"env": {
"NEXTCLOUD_BASE_URL": "<NEXTCLOUD_BASE_URL>",
"NEXTCLOUD_USERNAME": "<NEXTCLOUD_USERNAME>",
"NEXTCLOUD_APP_PASSWORD": "<NEXTCLOUD_APP_PASSWORD>",
"PUBLIC_BASE_URL": "<PUBLIC_BASE_URL>",
"MCP_OAUTH_PASSWORD": "<MCP_OAUTH_PASSWORD>"
}
}
}
}
起動コマンドuvx nextcloud-organizer-mcp
設定が必要な環境変数
NEXTCLOUD_BASE_URLBase URL of your Nextcloud instance, e.g. https://cloud.example.com (must be https:// unless local).
NEXTCLOUD_USERNAMENextcloud username.
NEXTCLOUD_APP_PASSWORDシークレットNextcloud app password (Settings > Security > Devices & sessions), never the account password.
PUBLIC_BASE_URLThe exact public URL clients use to reach this server; required for the OAuth 2.1 flow.
MCP_OAUTH_PASSWORDシークレットPassword for the OAuth consent page; required unless the server is bound and reached locally only.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypinextcloud-organizer-mcp0.2.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

nextcloud-organizer-mcp のロゴ

nextcloud-organizer-mcp

Claude に Nextcloud のタスク、カレンダー、ノートを操作させましょう。
CalDAV のタスクやイベント、Notes アプリに対応したセルフホスト可能な MCP サーバーです。

PyPI CI Python 3.10+ MIT ライセンス

スクリプト化されたクライアントがタスク、定期イベント、時間ブロックを作成し、その日の予定を読み取る様子
実際の Nextcloud に対する実際のツール呼び出し · 動画で見る

自然な言葉で頼むだけで、Nextcloud を操作できます。コピー&ペーストも、 サードパーティのカレンダーサービスも不要です。データはサーバー上に保たれ、ツールは 標準の CalDAV と Notes REST API を介して通信します。

コミュニティプロジェクトであり、Nextcloud GmbH との提携や同社による推奨を受けたものではありません。 以前の名称は nextcloud-task-mcp です。

できること

こう頼むと実行されること
「優先度の高いタスクを追加して。木曜日の午後5時までにQ4レポートを仕上げる。2時間前にリマインドして。」create_task で期限、優先度、VALARM リマインダーを設定
「毎週月曜日の10:00にチーム定例を追加して。」create_event で RRULE を設定
「木曜日の9時から11時まで、レポート作成の時間を確保して。」create_event_from_task ― 時間ブロック、タスク、イベントが連携した状態に保たれます
「木曜日の予定はどんな感じ?」get_agenda ― イベント(定期イベントは展開)と期限のあるタスクをまとめて回答
「Q4レポート用のノートを作って、その後ステータスのセクションだけ更新して。」create_note、update_note_section

Claude が作成した内容は、通常の Nextcloud アプリにすぐに表示されます。

9時から11時までの時間ブロックとタスクの期限が表示された Nextcloud Calendar

タグと期限が付いた優先度の高いタスクが表示された Nextcloud Tasks

1つのセクションを更新した後のノートが表示された Nextcloud Notes

機能

  • タスク(VTODO):優先度、タグ、リマインダー、サブタスク、例外日を指定した繰り返し、4種類のステータス、一括更新/削除/移動。
  • カレンダーとイベント(VEVENT):定期イベント、参加者と出欠回答、空き時間/予定あり、共有、ICS のインポート/エクスポート、誕生日、一括操作、ごみ箱。
  • タイムボクシング:タスクをカレンダーの時間ブロックに変換し、両方の連携状態を保ちます。
  • ノート:作成、検索、追記、文章または単一の Markdown セクションの置換。
  • 一日の予定をまとめて表示:イベントと期限のあるタスクを一緒に表示します。
  • デフォルトで安全:パスワード同意ページを備えた OAuth 2.1、Nextcloud への https:// 接続を必須化し、スタックトレースの代わりに分かりやすいエラーメッセージを表示します。
  • 全51個のツール。詳細はツールリファレンスを参照してください。

互換性

クライアント状態
カスタムコネクターとしての Claude(claude.ai web)対応済み。コネクターと同意フローは claude.ai でテスト済みです
Claude モバイル版および CoworkWeb 版と同じコネクターを使用します。個別にはテストしていません
mcp-remote 経由の Claude Desktopデプロイガイドに記載しています
その他の MCP クライアントとモデルプロバイダーまだテストしていません。今後対応予定です

このサーバーは OAuth 2.1(Dynamic Client Registration + PKCE)を使用した標準の Streamable HTTP MCP に対応しているため、他のクライアントでも動作する可能性があります。OAuth リダイレクトの許可リストは、デフォルトで claude.ai と claude.com です。他のクライアントを使用する場合は、MCP_OAUTH_ALLOWED_REDIRECT_DOMAINS を設定する必要があります。他のクライアントでの動作報告をお待ちしています。

クイックスタート

Python 3.10 以降と、Calendar/Tasks アプリおよび Notes アプリがインストールされた Nextcloud が必要です。

uv tool install nextcloud-organizer-mcp   # or: pipx install nextcloud-organizer-mcp

Settings → Security → Devices & sessions でアプリパスワードを作成し(アカウントのパスワードは使用しないでください)、次のように設定します。

export NEXTCLOUD_BASE_URL=https://cloud.example.com
export NEXTCLOUD_USERNAME=your-username
export NEXTCLOUD_APP_PASSWORD=your-app-password
export PUBLIC_BASE_URL=https://your-host.ts.net   # the URL clients use
export MCP_OAUTH_PASSWORD=a-long-random-password  # required unless local
nextcloud-organizer-mcp     # listens on 127.0.0.1:8000, path /mcp

チェックアウトしたリポジトリから起動する場合は、uv sync && cp .env.example .env を実行し、.env を編集してから、uv run nextcloud-organizer-mcp を実行します。すべての設定項目は .env.example に記載されています。NEXTCLOUD_BASE_URL は、ローカルアドレスを指定する場合を除き、https:// である必要があります。

次に、サーバーを公開します(デプロイガイドでは TLS に Tailscale Funnel を使用しています)。Claude で Settings → Connectors → Add custom connector を開き、URL <PUBLIC_BASE_URL>/mcp を指定して追加します。Client ID と Secret は空欄のままにし、開いた同意ページで MCP_OAUTH_PASSWORD を入力します。詳細は認証をご覧ください。

仕組み

Claude ── HTTPS + OAuth 2.1 ──► your server (this project) ── CalDAV / Notes API ──► Nextcloud
  • 起動時に CalDAV 接続を 1 つ開き、すべてのリクエストで再利用します。
  • 有効なアクセストークンを含むリクエストを受け取るまで、ツールや CalDAV の処理は実行されません。
  • サーバーはローカルの HTTP ポートにバインドし、TLS 自体は処理しません。
  • タイムスタンプには MCP_DEFAULT_TIMEZONE(デフォルトは Europe/Berlin)を使用します。タイムゾーン情報のない入力は、このタイムゾーンとして解釈されます。

ドキュメント

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。