filemanager-mcp-server
Version:
A powerful file management MCP server providing comprehensive file and directory operations for Windows systems
286 lines (232 loc) • 5.6 kB
Markdown
# File Manager MCP Server
一个功能强大的文件管理 MCP 服务器,提供完整的文件和目录操作功能。
## 快速开始
### 安装
#### 全局安装(推荐)
```bash
npm install -g filemanager-mcp-server
```
#### 项目内安装
```bash
npm install filemanager-mcp-server
```
### 配置 MCP 服务
在 Trae IDE 的 MCP 配置中添加:
```json
{
"mcpServers": {
"filemanager": {
"command": "npx",
"args": [
"-y",
"filemanager-mcp-server"
]
}
}
}
```
#### 手动指定路径(如果上述方法不工作)
克隆仓库
```bash
git clone https://github.com/yourusername/filemanager-mcp-server.git
```
进入项目目录
```bash
cd filemanager-mcp-server
```
安装依赖
```bash
npm install
```
```json
{
"mcpServers": {
"filemanager": {
"command": "node",
"args": ["node_modules/filemanager-mcp-server/index.js"]
}
}
}
```
### 使用示例
配置完成后,您可以在 Trae IDE 中使用自然语言进行文件管理:
#### 基础操作
- "创建一个新的配置文件 config.json"
- "复制 README.md 到 docs 文件夹"
- "搜索所有的 JavaScript 文件"
- "批量删除所有临时文件"
#### 增强功能 ✨
- "使用 Node.js 模板创建一个新的应用文件"
- "在文件末尾追加日志信息,并创建备份"
- "创建一个完整的 React 项目结构"
- "只读取文件的第 10-20 行内容"
- "使用自定义变量从 HTML 模板创建页面"
- "以 append 模式编辑配置文件,不覆盖现有内容"
## 功能特性
### 基础文件操作
- **create_file** - 创建新文件
- **read_file** - 读取文件内容
- **write_file** - 写入文件内容
- **delete_file** - 删除文件或文件夹
- **copy_file** - 复制文件或文件夹
- **move_file** - 移动或重命名文件
- **get_file_info** - 获取文件详细信息
### 增强文件操作 ✨
- **edit_file_advanced** - 高级文件编辑(支持多种编辑模式、自动备份、编码选择)
- **read_file_advanced** - 高级文件读取(支持按行读取、按字节读取、编码选择)
- **create_from_template** - 从模板创建文件(支持变量替换)
- **create_project_structure** - 创建项目目录结构(支持预定义和自定义结构)
### 目录操作
- **list_directory** - 列出目录内容
- **create_directory** - 创建新目录
- **search_files** - 搜索文件(支持通配符)
### 批量操作
- **batch_read_files** - 批量读取多个文件
- **batch_copy_files** - 批量复制文件
- **batch_move_files** - 批量移动文件
- **batch_delete_files** - 批量删除文件
- **batch_create_files** - 批量创建文件
## API 参考
### 基础操作
#### 创建文件
```json
{
"name": "create_file",
"arguments": {
"path": "config.json",
"content": "{\"name\": \"example\"}"
}
}
```
#### 读取文件
```json
{
"name": "read_file",
"arguments": {
"path": "config.json"
}
}
```
#### 搜索文件
```json
{
"name": "search_files",
"arguments": {
"directory": "./src",
"pattern": "*.js",
"recursive": true
}
}
```
### 批量操作
#### 批量创建文件
```json
{
"name": "batch_create_files",
"arguments": {
"files": [
{"path": "file1.txt", "content": "Content 1"},
{"path": "file2.txt", "content": "Content 2"}
]
}
}
```
#### 批量复制文件
```json
{
"name": "batch_copy_files",
"arguments": {
"sources": ["src/file1.js", "src/file2.js"],
"destination": "./backup",
"preserve_structure": false
}
}
```
### 增强功能 API
#### 高级文件编辑
```json
{
"name": "edit_file_advanced",
"arguments": {
"path": "config.json",
"content": "新的配置内容",
"encoding": "utf8",
"backup": true,
"mode": "overwrite"
}
}
```
支持的编辑模式:
- `overwrite` - 覆盖整个文件
- `append` - 追加到文件末尾
- `prepend` - 插入到文件开头
- `insert` - 在指定位置插入(需要 `position` 参数)
#### 从模板创建文件
```json
{
"name": "create_from_template",
"arguments": {
"template": "nodejs",
"path": "./my-app.js",
"variables": {
"AUTHOR": "Your Name",
"PROJECT_NAME": "My Project",
"VERSION": "1.0.0"
}
}
}
```
可用模板:
- `html5` - HTML5 页面模板
- `nodejs` - Node.js 应用模板
- `python` - Python 脚本模板
- `react-component` - React 组件模板
- `styles` - CSS 样式模板
- `readme` - README 文档模板
#### 创建项目结构
```json
{
"name": "create_project_structure",
"arguments": {
"basePath": "./my-project",
"template": "react"
}
}
```
预定义项目结构:
- `nodejs` - Node.js 项目结构
- `react` - React 应用结构
- `python` - Python 项目结构
- `express` - Express.js 应用结构
#### 高级文件读取
```json
{
"name": "read_file_advanced",
"arguments": {
"path": "large-file.txt",
"encoding": "utf8",
"lines": {
"start": 10,
"end": 20
}
}
}
```
## 测试
运行功能测试:
```bash
node example-usage.js
```
## 技术栈
- **Node.js** - 运行时环境
- **@modelcontextprotocol/sdk** - MCP SDK
- **fs-extra** - 文件系统操作
- **path** - 路径处理
## 注意事项
- 所有路径会被解析为绝对路径
- 创建文件时会自动创建必要的父目录
- 删除操作不可逆,请谨慎使用
- 支持 UTF-8 编码的文本文件
- 搜索功能支持通配符模式(* 匹配任意字符)
---
**GitHub**: [filemanager-mcp-server](https://github.com/leemwood/filemanager-mcp-server)