内容
# MCP Start App
一个全面的模型上下文协议(Model Context Protocol,MCP)服务器,用于高级本地文件管理和系统操作。
## 特性
### 🗂️ 文件操作
- **读取/写入文件**:全面支持文本文件操作,处理编码
- **列出目录**:浏览文件系统,提供大小信息和隐藏文件支持
- **文件信息**:详细的元数据,包括权限、时间戳和大小
- **路径验证**:强大的路径处理,带有安全检查
### ✏️ 高级文件编辑
- **基于行的编辑**:编辑、插入或删除文件中的特定行
- **查找与替换**:支持正则表达式的文本替换,跨多个文件
- **差异查看**:比较当前文件与备份
- **编辑历史**:跟踪所有文件修改,提供详细日志
### 🔍 高级搜索功能
- **类似VSCode的搜索**:在多个文件中进行上下文的高级搜索
- **文件类型过滤**:按扩展组(代码、网页、配置等)搜索
- **模式匹配**:支持通配符和正则表达式
- **上下文显示**:显示搜索结果的周围行
- **文件名搜索**:按名称模式查找文件
- **搜索统计**:分析文件分布和大小
### 💻 系统操作
- **命令执行**:安全执行系统命令
- **系统信息**:硬件和软件详细信息
- **进程管理**:查看正在运行的进程
- **文件查找**:使用模式进行高级文件发现
### 🔧 代码工具
- **语法验证**:检查Python、JavaScript、JSON等的语法
- **代码格式化**:使用标准格式化工具(Black、Prettier)格式化代码
- **语言检测**:自动检测编程语言
### 🔄 备份与历史
- **自动备份**:在修改之前备份文件
- **编辑跟踪**:所有文件操作的完整历史
- **恢复**:轻松从备份中恢复
- **历史分析**:关于编辑模式的统计和见解
### 🛡️ 安全与安全性
- **路径验证**:防止目录遍历攻击
- **文件大小限制**:可配置限制以防止内存问题
- **命令过滤**:限制危险命令的执行
- **备份系统**:在破坏性操作之前自动备份
## 快速开始
### 1. 安装
```bash
# 克隆或导航到项目
cd /Users/{{USERNAME}}/Documents/mcp-start-app
# 运行安装脚本(设置虚拟环境并安装所有内容)
./scripts/install.sh
```
### 2. 激活
```bash
# 激活虚拟环境
source venv/bin/activate
# 运行服务器
mcp-start-app
```
### 3. 替代运行方法
```bash
# 使用运行脚本(自动激活虚拟环境)
./scripts/run_server.py
# 直接Python执行
source venv/bin/activate
python -m mcp_start_app.main
```
## 配置
### Claude Desktop 配置
添加到您的Claude Desktop配置文件中:
```json
{
"mcpServers": {
"mcp-start-app": {
"command": "/Users/{{USERNAME}}/Documents/mcp-start-app/scripts/run_server.py",
"args": []
}
}
}
```
## 可用工具
### 基本文件操作
- `list_files(directory, show_hidden)` - 列出目录内容
- `read_file(file_path)` - 读取文本文件内容
- `write_file(file_path, content)` - 将内容写入文件
- `get_file_lines(file_path, start_line, end_line)` - 获取特定行
- `get_file_info(file_path)` - 获取详细文件信息
### 高级文件编辑
- `edit_file_lines(file_path, start_line, new_content, end_line)` - 编辑特定行
- `insert_lines(file_path, line_number, content)` - 插入新行
- `delete_lines(file_path, start_line, end_line)` - 删除行
- `replace_in_file(file_path, search_pattern, replace_with, use_regex)` - 查找与替换
- `get_file_diff(file_path, backup_file)` - 显示文件差异
- `get_edit_history(limit, file_path)` - 查看编辑历史
### 高级搜索工具
- `search_adv(search_term, search_path, case_sensitive, whole_word, use_regex, include_patterns, exclude_patterns, file_types, max_results, context_lines, show_hidden)` - 高级多文件搜索
- `replace_adv(search_term, replace_with, search_path, case_sensitive, whole_word, use_regex, include_patterns, exclude_patterns, file_types, dry_run, backup)` - 高级多文件替换
- `search_files_by_name(filename_pattern, search_path, case_sensitive, exact_match, show_hidden, exclude_patterns)` - 按名称搜索文件
- `search_in_files(search_pattern, directory, file_pattern, use_regex)` - 简单文本搜索
- `get_search_stats(search_path)` - 获取目录统计信息
### 系统工具
- `run_command(command)` - 执行系统命令(带安全限制)
- `get_system_info()` - 获取全面的系统信息
- `find_files(pattern, directory, max_results)` - 按模式查找文件
- `get_running_processes()` - 查看正在运行的进程
### 代码工具
- `validate_syntax(file_path)` - 检查代码语法
- `format_code(file_path, language)` - 格式化代码文件
### 数据工具
- `get_local_data(query)` - 本地数据查询
## 项目结构
```
mcp-start-app/
├── 📁 venv/ # 虚拟环境
├── 📁 src/mcp_local/ # 主包
│ ├── 📁 core/ # 核心工具与配置
│ ├── 📁 services/ # 业务逻辑层
│ ├── 📁 tools/ # MCP工具实现
│ │ ├── file_operations.py # 基本文件工具
│ │ ├── file_editing.py # 高级编辑工具
│ │ ├── search_tools.py # 搜索与替换工具
│ │ ├── system_tools.py # 系统操作工具
│ │ └── code_tools.py # 代码格式化与验证
│ ├── main.py # 入口点
│ └── server.py # 服务器配置
├── 📁 tests/ # 测试套件
├── 📁 scripts/ # 安装与运行脚本
├── requirements.txt # 依赖
├── pyproject.toml # Python打包
└── README.md # 本文件
```
## 开发
### 运行测试
```bash
source venv/bin/activate
pytest # 运行所有测试
pytest --cov # 运行并生成覆盖率报告
```
### 代码质量
```bash
source venv/bin/activate
black src/ tests/ # 格式化代码
isort src/ tests/ # 排序导入
flake8 src/ tests/ # 代码检查
mypy src/ # 类型检查
```
## 许可证
本项目根据MIT许可证进行许可。