af-filesystem-mcp
af-filesystem-mcp v0.1.3
AF(Analysis Facility)ユーザーに対し、AF の共有 NFS ホーム(/home/<unixname>)と Ceph データ領域(/data/<unixname>)にある自分のファイルへの閲覧/読み取りアクセスを提供する MCP サーバーです。それだけです。af-mcp-platform のクレデンシャルブローカーの背後に配置されるよう設計されており、人間がパスをコピーして回らなくても、LLM セッションがユーザー自身の解析出力、condor ログ、スクラッチファイルを確認できます。
機能
一覧表示: ディレクトリを一覧表示する(
fs_list)読み取り: バイト範囲または行範囲でファイルを読み取る。head/tail にも対応(
fs_read)stat: パスのサイズ、mtime、タイプ、パーミッションを取得する(
fs_stat)grep: ディレクトリ配下のファイルからパターンを検索する。スキャンするファイル数と返す一致数の上限あり(
fs_grep)
これが v1 のツールの全容です。書き込みツール、削除、chmod、任意のコマンド実行、フルツリーウォーク(ディレクトリサイズ、重複検出)は意図的に設けていません。設計の根拠とフェーズ 2(書き込み)計画については CLAUDE.md を参照してください。
Related MCP server: Project Files Read-only MCP
セキュリティモデル
ユーザー alice のすべてのファイルシステム操作は、alice の実際の uid/gid を偽装する短命のヘルパーサブプロセスで実行されます。サーバープロセス自体(root として実行され、CAP_SETUID/CAP_SETGID のみを保持)は、ユーザーデータを直接 1 バイトも読み書きしません。つまり、カーネル(NFS マウントされたホームの場合は NFS サーバー)が、すべての権限チェックを実際の ID に対して強制します。このサーバー自身のパス固定ロジックにバグがあったとしても、alice が到達できるのは、alice の実際の uid がすでに到達できるものだけです。設計の全体的な根拠については CLAUDE.md § "Security model" と src/af_filesystem_mcp/paths.py を参照してください。作業計画と、この設計が採用される際に(却下された)代替案については、maniaclab/af-mcp-platform#188 を参照してください。
インストール
pip install af-filesystem-mcpまたは pixi の場合:
pixi add af-filesystem-mcp要件
Python 3.10+
Linux(偽装メカニズムは POSIX の
setuid/setgidです。Windows/macOS へのデプロイは対象外です。ローカルのstdioモードは、偽装を行わないため、開発用途であればどの OS でも問題なく動作します)
クイックスタート(ローカル開発、stdio)
stdio モードでは、呼び出し元はあなた一人だけなので、偽装は発生しません。サーバーはあなた自身の uid/gid として直接動作し、自分の $HOME と設定可能なデータルートに限定されます。
af-filesystem-mcp serve --data-root /dataブローカーモード(本番、HTTP)
af-filesystem-mcp serve --transport http \
--broker-url https://mcp.af.uchicago.edu \
--broker-audience af-filesystem-mcp \
--home-root /home --data-root /dataBearer トークンは、ブローカーが発行するアイデンティティ JWT(aud=af-filesystem-mcp)で、uid/gid/unixname の POSIX クレームを保持します(af-mcp-platform の identityProviders[].targetOptions.af-filesystem-mcp.includePosix: true)。broker エクストラが必要です: pip install af-filesystem-mcp[broker]。
開発
pixi install
pixi run test
pixi run lintアーキテクチャ、偽装/パス制限設計、および新しいツールを追加する際の規約については CLAUDE.md を参照してください。
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only verifier for 25 ProofRelay MCP tools and non-confidential evidence bundles.
Read-only MCP access to sessions, funnels, campaigns, errors, live visitors, and anomalies.
Read-only MCP for identity resolution and write guardrails.
Anonymous read-only access to source-backed public SHAR Production knowledge.
Related MCP Servers
- FlicenseNot gradedqualityAmaintenanceProvides structured read-only SSH/SFTP and AWS operations on a single RHEL host, with path allowlisting, output limits, and IAM-based authorization.-
- AlicenseNot gradedqualityCmaintenanceEnables secure, read-only access to local project files (including text, DOCX, PDF, and XLSX) through MCP, with strict directory whitelisting and no write, edit, or command-execution tools.1MIT
- FlicenseNot gradedqualityBmaintenanceEnables read-only listing and reading of files in an Azure Files SMB share, enforcing each user's NTFS permissions per request.-
- FlicenseNot gradedqualityCmaintenanceEnables read-only access to explicitly approved local and remote filesystems, including inspecting Git repositories and querying SQLite and DuckDB databases, with root administration kept separate from MCP.-