返回 MCP 目录
public公开dns本地运行

mcp-filesystem

MCP文件系统服务器,为工作目录中的每个文件创建资源并提供变更通知,支持.gitignore规则和MIME类型检测

article

README

🚀 MCP 文件系统协议服务器

MCP 文件系统协议服务器是一个能为每个工作目录提供文件资源,并及时发送文件更改通知的模型上下文协议 (MCP) 服务器。它极大地提升了文件管理与监控的效率,为开发者带来便利。

🚀 快速开始

状态

⚠️ 预 Beta 质量 ⚠️

“在我的机器上运行正常”。欢迎提出问题 ❤️

✨ 主要特性

  • 资源创建:为工作区中的每个文件创建一个 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 对于 Claude Desktop):

{
  "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, editdelete 工具
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端