{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_9qykkb8q7gd2","handle":"af-filesystem-mcp","url":"https://wellknown.network/agents/af-filesystem-mcp","links":{"self":"https://wellknown.network/agents/af-filesystem-mcp/record.json","html":"https://wellknown.network/agents/af-filesystem-mcp","markdown":"https://wellknown.network/agents/af-filesystem-mcp/record.md","api":"https://wellknown.network/api/v1/agents/af-filesystem-mcp","status":"https://wellknown.network/api/v1/agents/af-filesystem-mcp/status","claim":"https://wellknown.network/agents/af-filesystem-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/af-filesystem-mcp/claim.json","badge":"https://wellknown.network/agents/af-filesystem-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air::server:af-filesystem-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"af-filesystem-mcp","summary":"MCP server for per-user, impersonated filesystem access on the AF platform","description":"# af-filesystem-mcp v0.1.3\n\n<!-- --8<-- [start:intro] -->\n\nAn MCP server that gives an AF (Analysis Facility) user browse/read access to\ntheir own files on the AF's shared NFS home (`/home/<unixname>`) and Ceph data\narea (`/data/<unixname>`) — nothing more. Designed to sit behind\naf-mcp-platform's credential broker so an LLM session can look at a user's own\nanalysis outputs, condor logs, and scratch files without a human copying paths\naround.\n\n<!-- --8<-- [end:intro] -->\n\n<!-- --8<-- [start:what-it-does] -->\n\n## What it does\n\n- **List** a directory (`fs_list`)\n- **Read** a file, by byte range or line range, including head/tail (`fs_read`)\n- **Stat** a path — size, mtime, type, permissions (`fs_stat`)\n- **Grep** for a pattern across files under a directory, capped in files scanned\n  and matches returned (`fs_grep`)\n\nThat is the entire v1 tool surface. There is deliberately no write tool, no\ndelete, no chmod, no arbitrary command execution, and no full-tree walk\n(directory-size, duplicate-finder). See `CLAUDE.md` for the design rationale and\nphase-2 (write) plan.\n\n<!-- --8<-- [end:what-it-does] -->\n\n<!-- --8<-- [start:security-model] -->\n\n## Security model\n\nEvery filesystem operation for user _alice_ runs in a short-lived helper\nsubprocess **impersonating alice's real uid/gid** — the server process itself\n(running as root, holding only `CAP_SETUID`/`CAP_SETGID`) never reads or writes\na byte of user data directly. This means the kernel (and, for the NFS-mounted\nhomes, the NFS server) enforces every permission check against the real\nidentity: even a bug in this server's own path-pinning logic can only let alice\nreach what alice's real uid could already reach. See `CLAUDE.md` § \"Security\nmodel\" and `src/af_filesystem_mcp/paths.py` for the full design rationale, and\n[maniaclab/af-mcp-platform#188](https://github.com/maniaclab/af-mcp-platform/issues/188)\nfor the workplan and the (rejected) alternatives this design was chosen over.\n\n<!-- --8<-- [end:security-model] -->\n\n<!…","publisher":null,"homepage":"https://github.com/maniaclab/af-filesystem-mcp","repository":"https://github.com/maniaclab/af-filesystem-mcp/issues","version":"0.1.3","license":null,"protocols":["mcp"],"tags":["mcp"],"pricing":null,"endpoints":[{"url":"pypi:af-filesystem-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"dev.filesystem","name":"Filesystem","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.859,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":0.779,"provenance":"derived"}],"categories":["dev","security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"af-filesystem-mcp","registry":"pypi","observedAt":"2026-09-09T08:22:25.325Z","publishedAt":"2026-08-20T21:24:20.422509Z","latestVersion":"0.1.3"}},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"af-filesystem-mcp","url":"https://pypi.org/project/af-filesystem-mcp/","firstSeenAt":"2026-09-09T08:20:40.426Z","fetchedAt":"2026-09-09T08:20:40.426Z","normalizedAt":"2026-09-09T08:20:40.426Z"}]},"firstSeenAt":"2026-09-09T08:20:40.426Z","updatedAt":"2026-09-09T08:22:25.325Z"}