文件系统监控服务

一个基于MCP协议的文件系统监控服务,能够为工作目录中的每个文件创建资源,并发送变更通知。

  • by isaacphi
  • Go
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 isaacphi/mcp-filesystem

使用说明

MCP文件系统

一种模型上下文协议(MCP)服务器,为工作目录中的每个文件公开资源并发送更改通知。

状态

⚠️ 测试前质量⚠️

“它在我的机器上工作”。欢迎提问❤️

特性

  • 资源:为工作区中的每个文件创建一个MCP资源
  • Gitignore支持:尊重 .gitignore 规则
  • 更改通知:检测文件更改、添加和删除
  • MIME类型检测和编码处理:标识文件类型并处理各种文本编码

设置

安装Go:按照以下说明进行操作 https://golang.org/doc/install

获取或更新此服务器:

go install github.com/isaacphi/mcp-filesystem@latest

将以下内容添加到您的客户端配置中(位于 ~/Library/Application Support/Claude/claude_desktop_config.json 克劳德桌面版):

{
  "mcpServers": {
    "filesystem": {
      "command": "mcp-filesystem",
      "args": ["--workspace", "/path/to/your/repository"]
    }
  }
}

替换 /path/to/your/repository 带有项目目录的绝对路径。

用法

您的客户端将能够访问和引用存储库中所有未被忽略的文件作为MCP资源。每个文件都注册为具有适当MIME类型检测的单独资源。

客户要求

您的客户需要支持以下MCP功能:

  • 资源列表:列出和访问服务器公开的资源的能力
  • 变更通知:支持接收 notifications/resources/list_changed 事件
  • 资源内容访问:能够请求和呈现具有适当MIME类型的资源内容

关于

本项目使用:

发展

克隆存储库:

git clone https://github.com/isaacphi/mcp-filesystem.git
cd mcp-filesystem

安装依赖项:

go mod download

构建:

go build

配置您的客户端以使用本地版本:

{
  "mcpServers": {
    "filesystem": {
      "command": "/full/path/to/your/mcp-filesystem/mcp-filesystem",
      "args": ["--workspace", "/path/to/repository"],
      "env": {
        "DEBUG": "1"
      }
    }
  }
}

反馈

请尽可能详细地提交问题。

设置 DEBUG 启用详细日志记录的环境变量:

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

我雷达上的功能

  • [x] 工作区中每个文件的资源
  • [x] .gitignore支持
  • [x] 更改通知
  • []标准化MCP协议的使用,以便与更多客户端一起工作(Claude Desktop)
  • []可配置的行号支持
  • []资源更新订阅
  • []其他忽略模式(超出 .gitignore)
  • []大量文件更改的取消公告通知
  • [ ] info, create, edit,以及 delete 工具