MCP Nextcloud カレンダー
Nextcloud カレンダー統合用のモデル コンテキスト プロトコル (MCP) サーバー。
特徴
Nextcloudからカレンダーを取得する
ADHDに優しい整理機能
MCP プロトコルのサポート (ストリーミング可能な HTTP およびレガシー HTTP+SSE)
Related MCP server: mcp-server-cloudbrowser
使用法
npx での使用
このパッケージを使用する最も簡単な方法は npx を使用することです。
npx mcp-nextcloud-calendarインストール
開発またはローカルインストールの場合:
# Install globally
npm install -g mcp-nextcloud-calendar
# Or install locally
npm install mcp-nextcloud-calendarMCP クライアント構成
MCP クライアント (Claude など) で使用するには、次の構成を MCP クライアント設定に追加します。
{
"mcpServers": {
"nextcloud-calendar": {
"command": "npx",
"args": ["-y", "mcp-nextcloud-calendar"],
"env": {
"NEXTCLOUD_BASE_URL": "https://your-nextcloud-server.com",
"NEXTCLOUD_USERNAME": "your-username",
"NEXTCLOUD_APP_TOKEN": "your-app-token"
}
}
}
}バージョンの指定
パッケージの特定のバージョンに固定することができます。
{
"mcpServers": {
"nextcloud-calendar": {
"command": "npx",
"args": ["-y", "mcp-nextcloud-calendar@0.1.0"],
"env": {
"NEXTCLOUD_BASE_URL": "https://your-nextcloud-server.com",
"NEXTCLOUD_USERNAME": "your-username",
"NEXTCLOUD_APP_TOKEN": "your-app-token"
}
}
}
}構成
環境変数
サーバーは、可能な場合はデフォルトを使用して、次の環境変数を使用します。
変数 | 説明 | デフォルト | 必須 |
ポート | サーバーポート | 3001 | いいえ |
サーバー名 | MCP サーバー識別子 | nextcloud カレンダーサーバー | いいえ |
ノード環境 | 環境(開発・生産) | 発達 | いいえ |
NEXTCLOUD_BASE_URL | NextcloudサーバーのURL | - | はい |
NEXTCLOUD_ユーザー名 | Nextcloudのユーザー名 | - | はい |
NEXTCLOUD_APP_TOKEN | Nextcloudアプリトークン | - | はい |
キープアライブ間隔 | キープアライブ間隔(ミリ秒) | 30000 | いいえ |
開発セットアップ
地域開発の場合:
リポジトリをクローンする
依存関係をインストールします:
npm installプロジェクト ルートに
.envファイルを作成します。
cp .env.example .envNextcloud の資格情報を使用して
.envファイルを編集します。
Nextcloudアプリトークンの取得
Nextcloudインスタンスにログインする
「設定」→「セキュリティ」→「アプリパスワード」へ移動します。
「MCPカレンダー」のような名前で新しいアプリパスワードを作成します
生成されたトークンを
.envファイルにコピーします。
発達
# Build the project
npm run build
# Run in development mode
npm run dev
# Run tests
npm run test
# Run linting
npm run lint
# Format code
npm run formatAPIエンドポイント
/mcp- プライマリ MCP エンドポイント (ストリーミング可能な HTTP トランスポート)/sseおよび/messages- レガシー MCP エンドポイント (HTTP+SSE トランスポート)GET /health- ヘルスチェックエンドポイントGET /api/calendars- すべてのカレンダーを一覧表示する
MCPツール
次の MCP ツールが登録されており、クライアントが利用できます。
カレンダー管理
道具 | 説明 | パラメータ |
| アクセス可能なすべてのカレンダーを取得します | なし |
| 新しいカレンダーを作成します |
|
| 既存のカレンダーを更新します |
|
| カレンダーを削除します |
|
⚠️ 権限に関する警告:
updateCalendarおよびdeleteCalendarツールは、Nextcloudインスタンスで特別な権限を必要とする場合があります。カレンダーの操作はNextcloudの権限システムに従います。
イベント管理
道具 | 説明 | パラメータ |
| カレンダーのイベントを取得します |
|
| 特定のイベントを取得する |
|
| 新しいイベントを作成します |
|
| 既存のイベントを更新します |
|
| イベントを削除します |
|
既知の問題と制限事項
注意:このパッケージは現在開発初期段階(0.1.x)です。APIとツールは将来のリリースで予告なく変更される可能性があります。
カレンダーの更新と削除の操作には、Nextcloudインスタンスでの特定の権限が必要になる場合があります。
特定のNextcloudエラーコードに対するエラー処理はまだ改善中です
多くのイベントを含む大きなカレンダーではパフォーマンスの問題が発生する可能性があります
問題が発生した場合は、GitHub リポジトリに報告してください。
ライセンス
ISC