返回市场
mcp文件系统

mcp文件系统

作者:isaacphi2 星标更新:2025-04-14

项目介绍

MCP 文件系统

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

状态

⚠️ 预测试版质量 ⚠️

“在我的机器上可以运行”。欢迎反馈问题 ❤️

特性

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

安装

安装 Go:请参阅 https://golang.org/doc/install 的说明

获取或更新此服务器:

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

在客户端配置中添加以下内容(对于 Claude Desktop,位于 ~/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"
}

我关注的功能

  • 工作区中每个文件的资源
  • .gitignore 支持
  • 更改通知
  • 标准化 MCP 协议使用以与更多客户端(如 Claude Desktop)兼容
  • 可配置的行号支持
  • 资源更新订阅
  • 额外的忽略模式(超出 .gitignore
  • 高频文件更改的防抖通知
  • infocreateeditdelete 工具