Skip to main content
Glama
v4t0r

Nextcloud ChatGPT Bridge

by v4t0r

Nextcloud for ChatGPT & Codex

Nextcloud bridge mark

ユーザー所有の Nextcloud ワークスペース内のファイルを ChatGPT と Codex が操作できるようにする、オープンソースのテナント分離型ブリッジです。このブリッジは OAuth アイデンティティを Nextcloud の認証情報から分離して保持し、Nextcloud ネイティブの MCP 機能がない場合には標準ベースのプロバイダーを使用します。

製品ウェブサイト: nextcloud-for-chatgpt.v4t0r.chatgpt.site

Landing page preview

リリースステータス

v0.3.0 は、公開アプリおよび本番デプロイのリリース候補です。

このリポジトリには、汎用の OAuth 保護付き MCP サービスに必要なアプリケーション側の構成要素が含まれています:

  • リクエストスコープのブリッジアイデンティティと仮名化されたテナント分離

  • ユーザーの Nextcloud パスワードを収集しない Nextcloud Login Flow v2

  • テナントスコープのメタデータと暗号化された PostgreSQL 認証情報ストレージ

  • 明示的な読み取り/書き込みツールを備えたルート拘束型の WebDAV および OCS プロバイダー

  • 承認、計上、支払い、送信を一切行わない保守的な家庭用請求書レビュー

  • レート制限、リクエスト制限、セキュリティヘッダー、信頼済みホストチェック、ステートレスな MCP トランスポート

  • DNS リバインディング耐性のある HTTPS エグレスプロキシとネットワーク分離された本番構成

  • データベースマイグレーション、readiness チェック、メンテナンスクリーンアップ、リリース事前チェック

  • Codex プラグインパッケージと、レビュアー対応の OpenAI リスティングおよびテスト資料

  • プライバシー、利用規約、サポート、セキュリティの各ページを備えた本番ランディングサイト

ソースリリースは、稼働中の公開サービスや OpenAI の承認を主張するものではありません。公開利用には、運用者管理の本番ドメイン、外部 OAuth 設定、レビュアー用フィクスチャ、検証済みのパブリッシャー ID、および OpenAI レビューの成功が引き続き必要です。

MCP ブリッジ自体は、ディレクトリ公開なしで動作します。Codex CLI、ChatGPT デスクトップ、Codex IDE 拡張機能は直接接続できます。互換性のあるリモート MCP ホストは、デプロイされた HTTPS エンドポイントを使用できます。ChatGPT ウェブでは、未公開の接続には開発者モードアクセスが必要か、公開済みプラグインのインストールが必要です。デプロイモード を参照してください。

Related MCP server: codex-chatgpt-bridge

実際の Nextcloud での検証

標準ベースのフォールバックパスは、Nextcloud 33.0.7 に対するライブ統合実行に合格しました:

  • 認証付き OCS ディスカバリ

  • WebDAV の一覧表示、作成、アップロード、ダウンロード、メタデータ参照、移動、クリーンアップ

  • ユーザー可視のアプリインベントリとルート拘束型の共有インベントリ

  • 分離された合成家庭用ワークスペースと請求書レビューフロー

そのインスタンスでは、Nextcloud ネイティブの Context Agent MCP は利用できませんでした。したがって、フォールバック実行の成功は、ネイティブ MCP が隠れた依存関係ではなくオプションであることの直接的な証拠です。認証情報やインスタンスを特定できる値は記録されません。互換性マトリックス を参照してください。

アーキテクチャ

ChatGPT / Codex
       |
       | OAuth access token
       v
Public stateless MCP boundary
       |
       | verified issuer + subject + scopes
       v
BridgeSessionContext
       |
       | pseudonymous tenant scope
       v
ConnectionService
       |-- PostgreSQL connection metadata
       `-- AES-256-GCM credential store
       |
       | Nextcloud Login Flow v2 credential
       v
Root-bound provider core
       |-- WebDAV files
       |-- OCS capabilities, apps, shares, revocation
       `-- Native Nextcloud MCP discovery when available

ブリッジアイデンティティには、Nextcloud のユーザー名や認証情報は一切含まれません。すべての接続、保留中のフロー、家庭用プロファイル、および認証情報操作は、検証済みのテナントコンテキストによってスコープが設定されます。

公開 MCP ツール

読み取りとディスカバリ

  • get_nextcloud_capabilities

  • get_nextcloud_app_accesses

  • probe_native_nextcloud_mcp

  • list_files, search_files, list_nextcloud_shares

  • get_file_info, read_text_file, download_file_base64

  • list_nextcloud_connections, list_household_accounts, list_household_invoices

  • review_household_invoice

プライベートな Nextcloud 状態の作成または変更

  • write_text_file, upload_file_base64, create_folder, move_file, delete_file

  • begin_nextcloud_connection, poll_nextcloud_connection, set_nextcloud_root

  • disconnect_nextcloud

  • configure_household_account, prepare_household_workspace

  • save_household_invoice_review

ホストされるすべてのツールには、明示的なタイトル、説明、入力スキーマ、出力スキーマ、およびリスク注釈があります。本番ツール契約は自動テストによって固定され、submission/TOOL_ANNOTATIONS.md に文書化されています。

セキュリティデフォルト

  • アカウントルート / と親ディレクトリへのトラバーサルは、プロバイダーアクセスの前に拒否されます

  • 返されるすべての WebDAV パスは、設定されたルートに対して再チェックされます

  • ホストされる Nextcloud ターゲットでは、HTTPS と TLS 検証が必須です

  • 公開ターゲットは、CONNECT 専用エグレスプロキシによって解決、検証、IP 固定されます

  • ベアラートークン、アプリパスワード、共有トークン、生の請求書テキスト、完全な IBAN は、モデル可視の結果から除外されます

  • 認証情報の暗号文は、AES-GCM 認証データを通じてテナントにバインドされます

  • 上書きはオプトインです。設定されたルートは削除できません

  • リクエストボディと転送サイズには上限があります

  • 書き込み、上書き、移動、削除、切断、認証情報失効のリスクは明示されています

  • ホストされるアクセスはステートレスであり、MCP リクエストごとに新しいアイデンティティを導出します

デプロイ前に SECURITY.md を読んでください。脆弱性は GitHub の非公開脆弱性報告 を通じて報告し、秘密情報やプライベートデータを含む公開 issue では決して報告しないでください。

ローカル開発

Python 3.11 以降が必要です。

python -m venv .venv
source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -e ".[dev,hosted]"
ruff check .
pytest

.env.example.env にコピーするのはローカルテスト専用です。専用の Nextcloud アカウントとアプリパスワードを使用し、ルートを狭く保ち、生成されたファイルを決してコミットしないでください。

ローカルの stdio サーバーを実行します:

nextcloud-chatgpt-bridge

サニタイズされた読み取り専用診断、または明示的な一時書き込み/クリーンアップのスモークテストを実行します:

nextcloud-chatgpt-diagnose
nextcloud-chatgpt-diagnose --write-test

本番デプロイ

リファレンス構成は deploy/compose.production.yml にあります。PostgreSQL、ブリッジ、メンテナンス、エグレス、TLS 終端を分離し、ブリッジを直接の外部ネットワークから遮断します。

cp deploy/.env.production.example deploy/.env.production
docker compose --env-file deploy/.env.production \
  -f deploy/compose.production.yml config
docker compose --env-file deploy/.env.production \
  -f deploy/compose.production.yml up -d

データベースと暗号化のシークレットは、Git の外部のファイルとして提供してください。専用の migrate サービスを通じてマイグレーションを適用し、レビュアーがアクセスする前に、正確な公開 MCP、OAuth、ウェブサイト、サポート、プライバシー、利用規約の URL に対して nextcloud-chatgpt-preflight を実行してください。

docs/PRODUCTION_DEPLOYMENT.mddocs/HOSTED_ACCEPTANCE.md を参照してください。

OpenAI 提出パッケージ

リポジトリ側のレビュー資料は submission/ にあります:

  • 正規のリスティングコピーとスタータープロンプト

  • 肯定的および否定的なレビュアーケース

  • レビュアー用フィクスチャとランブック

  • 正確なツール注釈インベントリ

  • リリースノートと最終運用チェックリスト

最終的な OpenAI 提出は、オーナーが管理するアクションのままです。docs/PLUGIN_SUBMISSION.md を参照してください。

プロジェクトドキュメント

ライセンス

Apache License 2.0 の下でライセンスされています。この独立したプロジェクトは、Nextcloud GmbH または OpenAI とは提携しておらず、その承認も受けていません。

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
3Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.

  • OCR, transcription, file extraction, and image generation for AI agents via MCP.

  • The personal context layer for AI: your profile and files, read by any MCP client over OAuth.

View all MCP Connectors

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/v4t0r/nextcloud-chatgpt-bridge'

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