MCPpedia last refreshed this data
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"filesystem": {
"args": [
"--config",
"/absolute/path/to/config.yaml"
],
"command": "/absolute/path/to/bin/mcp-fs-stdio"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP server for local filesystem operations built in Go.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
Manage Supabase projects — databases, auth, storage, and edge functions
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors
MCP Security Weekly
Get CVE alerts and security updates for Mcp Fs Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
MCP server for local filesystem operations built in Go.
| Binary | Source | Purpose |
|---|---|---|
mcp-fs-server | cmd/server | HTTP API + auth + monitoring |
mcp-fs-stdio | cmd/mcp | Clean MCP stdio — for AI clients |
mcp-fs-tui | cmd/tui | BubbleTea terminal UI |
┌──────────────────┐ ┌───────────────────────────────┐
│ mcp-fs-tui │─────────▶ mcp-fs-server │
│ (BubbleTea) │ HTTP │ ┌─────────────────────────┐ │
└──────────────────┘ │ │ REST API │ │
│ │ POST /auth/login │ │
┌──────────────────┐ │ │ GET /api/fs/* │ │
│ Claude Desktop │ │ │ GET /api/users │ │
│ Cursor │─────────▶ │ GET /health /metrics │ │
│ MCP Inspector │ stdio │ └─────────────────────────┘ │
│ (mcp-fs-stdio) │ └───────────────────────────────┘
└──────────────────┘
┌───────────────────────────────┐
│ mcp-fs-stdio │
│ (no HTTP, no stdout noise) │
│ ServeStdio() only │
└───────────────────────────────┘
go mod tidy
make build-all
./bin/mcp-fs-server \
--config config.yaml \
--seed-admin admin:yourpassword
--seed-admin username:passwordcreates the user only if it doesn't exist yet. Remove the flag on subsequent starts.
# In a second terminal
./bin/mcp-fs-tui --server http://localhost:8080
make inspect
# or manually:
npx @modelcontextprotocol/inspector ./bin/mcp-fs-stdio --config config.yaml
Default config is config.yaml. All keys can be overridden via environment variables
prefixed with MCP_FS_ (dots replaced by underscores):
MCP_FS_SERVER_PORT=9090
MCP_FS_AUTH_JWT_SECRET=change-me-in-production
MCP_FS_FILESYSTEM_ROOT_PATH=/data
MCP_FS_DB_PATH=/var/lib/mcp-fs/data.db
Key options:
server:
port: 8080
auth:
jwt_secret: "change-me-in-production"
access_token_ttl: "15m"
filesystem:
root_path: "." # sandbox root — users cannot escape this
max_file_size: 10485760
db:
path: "./mcp-fs.db"
Uncomment and fill in config.yaml:
auth:
oauth2_providers:
- id: "github"
name: "GitHub"
type: "github"
client_id: "YOUR_CLIENT_ID"
client_secret: "YOUR_CLIENT_SECRET"
redirect_url: "http://localhost:8080/auth/oauth2/callback/github"
scopes: ["read:user", "user:email"]
Base URL: http://localhost:8080
| Method | Path | Auth | Description |
|---|---|---|---|
POST | /auth/login | — | Basic login → JWT |
GET | /auth/oauth2/providers | — | List OAuth2 providers |
GET | /auth/oauth2/authorize/{provider} | — | Start OAuth2 flow |
GET | /auth/oauth2/callback/{provider} | — | OAuth2 callback |
All endpoints require Authorization: Bearer <token>.
| Method | Path | Description |
|---|---|---|
GET | /api/fs/list?path=/ | List directory |
GET | /api/fs/read?path=/file.txt | Read file |
POST | /api/fs/write | Write file |
DELETE | /api/fs/delete?path=/file.txt | Delete file |
POST | /api/fs/move | Move / rename |
GET | /api/fs/search?path=/&keyword=todo | Search in files |
Requires admin r