MCP Filesystem

MCP Filesystem

Model Context Protocol (MCP) server with a resource for each file in a workspace

isaacphi

File Systems
Visit Server

README

MCP Filesystem

A Model Context Protocol (MCP) server that exposes resources for each file in a working directory and sends change notifications.

Status

⚠️ Pre-beta Quality ⚠️

"It works on my machine". Issues are welcome ❤️

Features

  • Resources: Creates one MCP resource for each file in your workspace
  • Gitignore Support: Respects .gitignore rules
  • Change Notification: Detects file changes, additions, and deletions
  • MIME Type Detection and Encoding Handling: Identifies file types and handles various text encodings

Setup

Install 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.

Usage

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.

Client Requirements

Your client needs to support the following MCP features:

Resource Listing: The ability to list and access resources exposed by the server Change Notifications: Support for receiving notifications/resources/list_changed events Resource Content Access: Ability to request and render resource content with appropriate MIME types

About

This project uses:

Development

Clone 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"
      }
    }
  }
}

Feedback

Please submit issues with as many details as you can.

Set the DEBUG environment variable to enable verbose logging:

"env": {
  "DEBUG": "1"
}

Features on my radar

  • [x] Resources for each file in workspace
  • [x] .gitignore support
  • [x] Change notifications
  • [ ] Standardize MCP protocol use to work with more clients (Claude Desktop)
  • [ ] Configurable support for line numbers
  • [ ] Resource update subscriptions
  • [ ] Additional ignore patterns (beyond .gitignore)
  • [ ] Debounced notifications for high-volume file changes
  • [ ] info, create, edit, and delete tools

Recommended Servers

Excel MCP Server

Excel MCP Server

A Model Context Protocol server that enables AI assistants to read from and write to Microsoft Excel files, supporting formats like xlsx, xlsm, xltx, and xltm.

Featured
Local
Go
Claude Code MCP

Claude Code MCP

An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.

Featured
Local
JavaScript
Crawlab MCP Server

Crawlab MCP Server

Official
Python
Image Generator MCP Server

Image Generator MCP Server

A TypeScript-based MCP server that generates images using OpenAI's dall-e-3 model based on text prompts and saves them to a specified directory.

Local
JavaScript
mcp-everything-search

mcp-everything-search

This server provides: * Fast file search capabilities using Everything SDK * Windows-specific implementation * Complements existing filesystem servers with specialized search functionality

Local
Python
MCP Source Tree Server

MCP Source Tree Server

Generates a JSON file tree from a specified directory's 'src' folder, adhering to '.gitignore' rules, allowing for quick project structure review in Claude.

Local
Python
Code MCP

Code MCP

An MCP server that provides tools for reading, writing, and editing files on the local filesystem.

Local
Python
Binary Reader MCP

Binary Reader MCP

A Model Context Protocol server for reading and analyzing binary files, with initial support for Unreal Engine asset files (.uasset).

Local
Python
Everything Search MCP Server

Everything Search MCP Server

Provides integration with Everything Search Engine allowing powerful file search capabilities through the Model Context Protocol with advanced search options like regex, case sensitivity, and sorting.

Local
JavaScript
Model Control Plane (MCP) Server

Model Control Plane (MCP) Server

A server implementation that provides a unified interface for OpenAI services, Git repository analysis, and local filesystem operations through REST API endpoints.

Local
Python