Omnidrive Mcp について
OmniDriveは、MCPを通じて選択したローカルフォルダーをAIエージェントと共有するデスクトップアプリです。フォルダー単位の読み書き権限、パスの隔離、リアルタイムの操作ログを備え、ファイルはOmniDriveのサーバーにアップロードされません。
主な機能
- 01GUIでフォルダーを選択して共有
- 02フォルダーごとに読み取り専用または読み書きを設定
- 03許可したローカルパスにアクセスを制限
- 04ファイルの読み取り、検索、編集をリアルタイム表示
- 05.mcpignoreによるファイルの除外
活用シーン
- 01ローカルの研究資料やPDFを分析
- 02スプレッドシートや請求書の要約とレポート作成
- 03ObsidianやMarkdownのノートを検索
- 04コーディングエージェントにリポジトリの確認と編集を許可
MCP 対応
OmniDriveはMCPを使い、許可されたローカルフォルダーをMCP対応クライアントに公開します。ローカルプロセスパイプまたはローカルSSEブリッジで接続し、設定した権限に応じてファイル操作を行います。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
OmniDrive
個人ファイルをあらゆる AI エージェントにつなぐ、安全なローカルファーストのゲートウェイです。
OmniDrive は、Claude Desktop、Cursor、ChatGPT、Gemini などの AI エージェントと、ローカルフォルダーを選択して共有できる「プラグ&プレイ」のデスクトップアプリです。Model Context Protocol(MCP)を基盤とし、ドキュメント、スプレッドシート、コードベースを参照するために AI アシスタントが必要とする「目」を提供しながら、すべてを完全にユーザーの管理下に置きます。
OmniDrive を選ぶ理由
現在、多くの AI エージェントは「コンテキストを認識できない」状態です。ファイルを手動でアップロードしない限り、ユーザーのマシン上に何があるのか把握できません。既存のソリューションは、複雑なターミナルツールか、安全性に欠ける「すべてにアクセスできる」スクリプトのどちらかです。
OmniDrive は、次の機能でこの問題を解決します。
- 設定不要:複雑な JSON の編集に代わり、洗練された美しい UI を使えます。ドラッグ&ドロップして共有するだけです。
- セキュリティ最優先(ゼロトラスト):AI のアクセスは、承認済みのパスだけに数学的に制限されます。パストラバーサル(
../)は不可能です。 - きめ細かな権限設定:フォルダーを 読み取り専用(安全な閲覧)または 読み取り/書き込み(自律的な編集)に、その場で設定できます。
- リアルタイムのアクティビティストリーミング:AI が実行するファイルの読み取り、検索、編集をすべてリアルタイムで確認できます。
主な機能
- 幅広い互換性:MCP 標準に対応するあらゆる LLM クライアントで動作します。
- プラグ&プレイ:数秒でフォルダーを追加できます。ターミナルコマンドも環境変数も不要です。
- 完全な透明性:専用の ライブアクティビティログ ウィンドウで、AI がファイルについて何を「考えている」のかを正確に確認できます。
- プライバシーを重視した設計:ファイルが OmniDrive のサーバーにアップロードされることはありません。すべてローカルプロセスパイプまたはセキュアなローカル SSE ブリッジを介して行われます。
- スマートフィルタリング:
.mcpignoreファイルに従い、node_modulesなどのノイズが AI に見えないようにします。
使用例(コーディング以外)
OmniDrive は開発者に必須のツールですが、誰もが使えるように設計されています。
調査と分析
ローカルにある PDF や調査メモのライブラリを共有できます。「アップロード」を一度も使わずに、AI に数十件のドキュメントを横断した傾向の分析を依頼できます。
事務作業の自動化
AI にスプレッドシートや請求書へのアクセスを許可できます。要約の作成、異常の特定、月次レポートの準備を依頼できます。
個人ナレッジベース
Obsidian や Markdown のメモを AI エージェントにつなげられます。「第二の脳」と対話して、考えのつながりをリアルタイムで見つけられます。
高度なソフトウェアエンジニアリング
AI にリポジトリ全体のバグを先回りして修正させたり、アーキテクチャをリファクタリングさせたり、変更を検証させたりできます。読み取り/書き込みの権限をすべて利用できます。
セキュリティアーキテクチャ
OmniDrive は「プライバシー最優先」の理念に基づいて構築されています。
- 正規パスの検証:すべてのリクエストを、ユーザーが承認した絶対パスのセキュアな許可リストと照合して検証します。
- サンドボックスによる分離:LLM が「幻覚」を起こしたり、悪意のある動作をしたりしても、明示的に共有したフォルダーの外に出ることはできません。
- ペアリングされた Web 接続:SSE(ブラウザーエージェント用)は 127.0.0.1 に限定され、不正な Web アクセスを防ぐためにセキュアなハンドシェイクが必要です。
ダウンロード(エンドユーザー向け)
OmniDrive を使う場合は、次の場所から最新のインストーラーをダウンロードしてください。
利用可能なアセットはプラットフォームによって異なり、.dmg(macOS)、.msi/.exe(Windows)、Linux バンドルなどのインストーラーが含まれます。
macOS で「破損しているため開けません」と表示される場合の対処法
Releases からダウンロードした OmniDrive が macOS にブロックされた場合は、次のコマンドを実行してください。
xattr -dr com.apple.quarantine /Applications/OmniDrive.app
xattr -dr com.apple.provenance /Applications/OmniDrive.app
open /Applications/OmniDrive.app
必要に応じて、OmniDrive.app を右クリックし、一度 開く を選択してください。
ソースからビルドする(開発者向け)
前提条件
- Node.js 20+
- Rust(stable)
- お使いの OS 用の Tauri システム依存関係:Tauri の前提条件
セットアップ
-
リポジトリをクローンします:
git clone https://github.com/sp-22/omnidrive-mcp.git cd omnidrive-mcp -
依存関係をインストールします:
npm ci -
開発モードで実行します:
npm run tauri dev -
本番用バンドルをビルドします:
npm run tauri build
ビルド成果物は src-tauri/target/release/bundle/ に生成されます。
コントリビューション
- このリポジトリをフォークします
- ブランチを作成します
- 変更をコミットしてプッシュします
- プルリクエストを作成します
Git を使わずにソースをダウンロードするには、リポジトリページで GitHub の Code -> Download ZIP を使用します。
リリースプロセス(メンテナー向け)
このリポジトリには、バージョンタグがプッシュされるたびに macOS、Windows、Linux 向けのリリースアセットをビルドして公開する GitHub Actions ワークフローが含まれています。
-
バージョンを更新します:
package.jsonsrc-tauri/Cargo.tomlsrc-tauri/tauri.conf.json
-
コミットしてプッシュします:
git add . git commit -m "chore: release v0.x.x" git push -
タグを作成してプッシュします:
git tag v0.x.x git push origin v0.x.x -
ワークフローによって、次の場所にバイナリが公開されます:
技術スタック
- フロントエンド:React、TypeScript、Vanilla CSS(プレミアムなグラスモーフィズム)
- エンジン:Rust(高性能なネイティブサイドカー)
- フレームワーク:Tauri(安全なシステム連携)
- プロトコル:RMCP(Model Context Protocol の Rust 実装)
ライセンス
OmniDrive は MIT License の下で公開されています。詳細は LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。