af-filesystem-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@af-filesystem-mcplist files in my home directory"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
af-filesystem-mcp v0.1.3
An MCP server that gives an AF (Analysis Facility) user browse/read access to
their own files on the AF's shared NFS home (/home/<unixname>) and Ceph data
area (/data/<unixname>) — nothing more. Designed to sit behind
af-mcp-platform's credential broker so an LLM session can look at a user's own
analysis outputs, condor logs, and scratch files without a human copying paths
around.
What it does
List a directory (
fs_list)Read a file, by byte range or line range, including head/tail (
fs_read)Stat a path — size, mtime, type, permissions (
fs_stat)Grep for a pattern across files under a directory, capped in files scanned and matches returned (
fs_grep)
That is the entire v1 tool surface. There is deliberately no write tool, no
delete, no chmod, no arbitrary command execution, and no full-tree walk
(directory-size, duplicate-finder). See CLAUDE.md for the design rationale and
phase-2 (write) plan.
Related MCP server: permission-aware-mcp
Security model
Every filesystem operation for user alice runs in a short-lived helper
subprocess impersonating alice's real uid/gid — the server process itself
(running as root, holding only CAP_SETUID/CAP_SETGID) never reads or writes
a byte of user data directly. This means the kernel (and, for the NFS-mounted
homes, the NFS server) enforces every permission check against the real
identity: even a bug in this server's own path-pinning logic can only let alice
reach what alice's real uid could already reach. See CLAUDE.md § "Security
model" and src/af_filesystem_mcp/paths.py for the full design rationale, and
maniaclab/af-mcp-platform#188
for the workplan and the (rejected) alternatives this design was chosen over.
Installation
pip install af-filesystem-mcpOr with pixi:
pixi add af-filesystem-mcpRequirements
Python 3.10+
Linux (the impersonation mechanism is POSIX
setuid/setgid; there is no Windows/macOS deployment target — localstdiomode runs fine on any OS for development, since it never impersonates)
Quick start (local development, stdio)
In stdio mode there is exactly one caller (you), so no impersonation happens —
the server operates directly as your own uid/gid, confined to your own $HOME
and a configurable data root:
af-filesystem-mcp serve --data-root /dataBroker mode (production, HTTP)
af-filesystem-mcp serve --transport http \
--broker-url https://mcp.af.uchicago.edu \
--broker-audience af-filesystem-mcp \
--home-root /home --data-root /dataBearers are broker-issued identity JWTs (aud=af-filesystem-mcp) carrying
uid/gid/unixname POSIX claims (af-mcp-platform's
identityProviders[].targetOptions.af-filesystem-mcp.includePosix: true).
Requires the broker extra: pip install af-filesystem-mcp[broker].
Development
pixi install
pixi run test
pixi run lintSee CLAUDE.md for architecture, the impersonation/path-confinement design, and
conventions for adding a new tool.
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.
Deny-by-default authority leases for agents wielding real power.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides AI agents with secure, read-only file system access to analyze and understand project codebases, enabling multi-repository context aggregation and cross-project code tracing.5MIT
- FlicenseAqualityDmaintenanceEnables secure file system operations (read, write, delete) and simulated command execution with server-enforced permission policies, risk assessment, and human-in-the-loop approval.5-
- 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