File System Monitor
STDIOMCP server exposing resources for each file and sending change notifications.
MCP server exposing resources for each file and sending change notifications.
A Model Context Protocol (MCP) server that exposes resources for each file in a working directory and sends change notifications.
⚠️ Pre-beta Quality ⚠️
"It works on my machine". Issues are welcome ❤️
.gitignore
rulesInstall Go: Follow instructions at https://golang.org/doc/install
Fetch or update this server:
go install github.com/isaacphi/mcp-filesystem@latest
Add the following to your client configuration (located at ~/Library/Application Support/Claude/claude_desktop_config.json
for Claude Desktop):
{ "mcpServers": { "filesystem": { "command": "mcp-filesystem", "args": ["--workspace", "/path/to/your/repository"] } } }
Replace /path/to/your/repository
with the absolute path to your project directory.
Your client will be able to access and reference all non-ignored files in your repository as MCP resources. Each file is registered as a separate resource with appropriate MIME type detection.
Your client needs to support the following MCP features:
notifications/resources/list_changed
eventsThis project uses:
.gitignore
filesClone the repository:
git clone https://github.com/isaacphi/mcp-filesystem.git cd mcp-filesystem
Install dependencies:
go mod download
Build:
go build
Configure you client to use your local build:
{ "mcpServers": { "filesystem": { "command": "/full/path/to/your/mcp-filesystem/mcp-filesystem", "args": ["--workspace", "/path/to/repository"], "env": { "DEBUG": "1" } } } }
Please submit issues with as many details as you can.
Set the DEBUG
environment variable to enable verbose logging:
"env": { "DEBUG": "1" }
.gitignore
)info
, create
, edit
, and delete
tools