mcpField
M
Mcp Smb Server

Mcp Smb Server

ローカル
github.com/natan04ファイル・ストレージ142 週間前に更新

Mcp Smb Server について

MCP SMB Serverは、AIエージェントがSMB/CIFS共有やローカルディレクトリのファイルに実行時アクセスするためのゲートウェイです。要求時にのみファイルを読み取り、インデックス化や複製をせず、OSやSMB本来の権限に従います。

主な機能

  1. 01SMBとローカルファイルシステムへのアクセス
  2. 02ネイティブな権限適用
  3. 03要求時のファイルアクセス
  4. 04ディレクトリ一覧と範囲指定読み取り
  5. 05stdio通信

活用シーン

  1. 01権限のあるSMB共有ファイルの読み取り
  2. 02設定済みローカルパス内のファイル参照
  3. 03OS権限に沿ったファイルアクセス

MCP 対応

MCPクライアントに`list_directory`と`read_file`ツールを公開します。MCPを実行時の制御層として使い、ファイルの認可は基盤のファイルシステムまたはSMBサーバーに委ねます。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

MCP SMB サーバー

Model Context Protocol(MCP)を使用する AI エージェント向けの、実行時ファイルアクセスゲートウェイです。

このプロジェクトでは、ネイティブのファイルシステム権限の適用を維持しながら、AI エージェントが実行時に SMB/CIFS 共有またはローカルファイルシステムのパスにアクセスできます。

基盤となるシステムがファイルを読み取れない場合、エージェントもそのファイルを読み取れません。


このプロジェクトが提供しないもの

  • ❌ ファイルシステムのインデックス作成は行いません
  • ❌ 埋め込みやベクトルデータベースはありません
  • ❌ データの同期や事前コピーは行いません
  • ❌ 権限の回避は行いません
  • ❌ IAM やポリシーエンジンはありません

提供する機能

  • ✅ ファイルをアクセス時にのみ公開します
  • ✅ ネイティブの SMB/OS 権限の適用に依存します
  • ✅ 実行時のコントロールプレーンとして MCP を使用します
  • ✅ SMB と ローカルファイルシステムのバックエンドをサポートします
  • ✅ stdio を介して通信します(VS Code/エージェントとの連携に適しています)

このプロジェクトが必要な理由

多くの AI ファイル連携は、次のパターンに従います。

Filesystem → Sync → Index → Embed → Agent

これでは権限モデルが崩れ、アクセス権の取り消しが不可能になります。

このプロジェクトでは、代わりに次のように動作します。

Agent → MCP → Runtime filesystem access → Native permission check

インデックス作成なし。複製なし。ポリシーの再実装なし。


バックエンド

ローカルモード
  • ローカルディレクトリにアクセスします
  • 設定されたベースパスに制限されます
  • OS の権限を使用します
SMB モード
  • SMB/CIFS 共有にアクセスします
  • 認可は SMB サーバーによって処理されます
  • 認証情報は設定ファイルに保存されません

利用可能な MCP ツール

list_directory

指定されたパスにあるファイルとディレクトリを一覧表示します。

引数

  • path(文字列、必須)

read_file

ファイルの指定範囲を読み取ります。

引数

  • path(文字列、必須)
  • max_bytes(数値、任意、デフォルト:8192)

設定

設定はプロセスレベルで、起動時に一度だけ読み込まれます。

設定例の詳細については、設定ガイドを参照してください。

クイックスタート:

# SMB mode with environment variables
export MCP_MODE=smb
export SMB_ADDR=localhost:445
export SMB_SHARE=finance
export SMB_AUTH=ntlm
export SMB_USER=alice
export SMB_PASSWORD=your_password
./mcp-smb-server
# Local mode with config file
./mcp-smb-server --config config.yaml

アーキテクチャ

MCP → FileBackend → { Local | SMB }

サーバーは認可を判断しません。
すべてのアクセス判断は、基盤となるファイルシステムまたは SMB サーバーによって行われます。


このプロジェクトに意図的に含めていない機能

  • 集中型のポリシー管理
  • 承認ワークフロー
  • バックエンドをまたぐアクセスルール
  • 監査情報の集約

このプロジェクトは、より高度なガバナンスを構築する土台となる、最小限で正確な実行境界を定めます。


インストール

前提条件
  • Go 1.24 以降
  • SMB モードの場合:SMB/CIFS サーバーへのアクセス
  • ローカルモードの場合:適切なファイルシステム権限
ビルド
git clone <repository-url>
cd mcp-smb-server
go build -o mcp-smb-server ./cmd/server

ライセンス

Apache License 2.0

コメント

MCP は初めてですか?

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

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