使用说明
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类型的资源内容
关于
本项目使用:
- mark3labs/mcp go 用于MCP通信
- fsnotify 的 用于文件系统事件监视
- 去吉地诺 用于解析
.gitignore文件
发展
克隆存储库:
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工具
