{
"mcpServers": {
"mcp-fs-server": {
"command": "<see-readme>",
"args": []
}
}
}No install config available. Check the server's README for setup instructions.
Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
MIT. View license →
Is it maintained?
Last commit 1 days ago.
Will it work with my client?
Transport: stdio. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationHave you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Persistent memory using a knowledge graph
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
Pre-build reality check. Scans GitHub, HN, npm, PyPI, Product Hunt — returns 0-100 signal.
Monitor browser logs directly from Cursor and other MCP compatible IDEs.
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