🚀 增強目錄上下文MCP服務器
增強目錄上下文MCP服務器是一個全面的模型上下文協議(MCP)服務器,它為像Claude這樣的AI助手提供了高級的目錄分析和文件管理功能。該服務器將目錄上下文提取與完整的文件編輯功能相結合,是代碼分析、項目管理和文件操作的強大工具。
🚀 快速開始
快速設置
- 安裝依賴:
npm install
- 添加到你的Claude桌面配置中:
{
"mcpServers": {
"directory-context": {
"command": "node",
"args": ["path/to/server.js"]
}
}
}
✨ 主要特性
🔍 目錄分析
- 完整的目錄結構:獲取任何目錄的詳細樹狀視圖及元數據
- 智能項目分析:自動檢測項目類型並總結上下文
- 智能文件搜索:支持跨多種文件類型的正則表達式和基於文本的搜索
- Git集成:提取倉庫上下文、提交歷史和工作目錄狀態
- 文件統計:全面分析文件類型、大小和修改日期
📝 文件操作
- 創建文件:生成具有指定內容的新文件
- 更新文件:支持正則表達式的複雜搜索和替換操作
- 追加內容:以格式化選項將內容添加到現有文件中
- 刪除文件:可選擇創建備份後刪除文件
- 重命名/移動文件:具有衝突檢測功能的文件重定位和重命名
- 目錄管理:遞歸創建目錄結構
其他特性
- 智能搜索:支持正則表達式,可在多個文件中查找代碼或文本
- Git集成:查看提交、分支和更改
- 安全操作:自動備份和事務回滾
📦 安裝指南
前提條件
- Node.js 18.0.0或更高版本
- npm或yarn包管理器
安裝步驟
- 克隆或下載MCP服務器文件。
- 安裝依賴:
npm install
- 配置你的MCP客戶端(如Claude Desktop)以使用此服務器:
Claude桌面配置
添加到你的claude_desktop_config.json文件中:
{
"mcpServers": {
"directory-context": {
"command": "node",
"args": ["path/to/your/server.js"],
"cwd": "your-default-working-directory"
}
}
}
替代配置
使用提供的mcp-json-config.json作為模板,並相應地更新路徑。
💻 使用示例
設置工作目錄
在使用任何功能之前,設置你的工作目錄:
set_working_directory(directory="/path/to/your/project")
目錄分析工具
獲取目錄結構
get_directory_structure(
max_depth=10, // 最大遍歷深度
include_hidden=false, // 是否包含隱藏文件/目錄
file_types=[".js", ".py", ".md"] // 按文件擴展名過濾
)
分析項目上下文
analyze_project_context(
include_code_analysis=true, // 是否包含複雜度分析
focus_files=["specific_file.js"] // 關注特定文件
)
搜索文件
search_files(
query="function myFunction", // 搜索查詢
file_types=[".js", ".ts"], // 要搜索的文件類型
is_regex=false, // 是否使用正則表達式匹配
max_results=50 // 最大結果數
)
獲取Git上下文
get_git_context(
include_diff=true, // 是否包含工作目錄更改
commit_count=10 // 最近提交的數量
)
文件管理工具
創建文件
create_file(
path="src/new-component.js",
content="const MyComponent = () => { ... }",
encoding="utf8",
overwrite=false
)
更新文件
update_file(
path="src/config.js",
updates=[
{
search: "oldValue: 'old'",
replace: "newValue: 'new'",
regex: false,
all: true
}
],
backup=true
)
追加內容到文件
append_to_file(
path="README.md",
content="## New Section\nContent here...",
newline_before=true
)
刪除文件
delete_file(
path="old-file.js",
backup=true // 創建.deleted備份
)
重命名/移動文件
rename_file(
old_path="old-name.js",
new_path="new-name.js",
overwrite=false
)
創建目錄
create_directory(
path="src/components/new-feature",
recursive=true
)
批量操作
原子執行多個操作:
batch_file_operations(
operations=[
{
operation: "create",
params: {
path: "src/component.js",
content: "export default () => {}"
}
},
{
operation: "update",
params: {
path: "src/index.js",
updates: [...]
}
}
],
rollback_on_error=true
)
📚 詳細文檔
項目類型檢測
服務器根據配置文件自動檢測項目類型:
- Node.js/JavaScript:
package.json
- Python:
requirements.txt
- Rust:
Cargo.toml
- Go:
go.mod
- Java:
pom.xml、build.gradle
- PHP:
composer.json
- Ruby:
Gemfile
- Docker:
Dockerfile、docker-compose.yml
- 還有更多...
文件優先級檢測
服務器自動識別重要文件:
- 配置文件(如
package.json、config.js等)
- 入口點(如
index.js、main.py、app.js)
- 文檔(如
README.md、docs)
- Docker文件
- 環境文件(如
.env)
資源暴露
重要文件會自動作為MCP資源暴露,使AI助手無需顯式的文件讀取請求即可輕鬆訪問。
錯誤處理和安全特性
- 備份創建:對破壞性操作自動創建備份
- 衝突檢測:防止意外覆蓋
- 事務回滾:錯誤發生時可完全回滾批量操作
- 路徑驗證:確保操作在工作目錄範圍內進行
- 詳細錯誤消息:提供全面的錯誤報告以進行調試
🔧 技術細節
API參考
核心工具
| 工具 |
描述 |
必需參數 |
set_working_directory |
設置工作目錄 |
directory |
get_directory_structure |
獲取目錄樹 |
無 |
get_file_contents |
讀取多個文件 |
files |
search_files |
在文件中搜索 |
query |
analyze_project_context |
分析項目 |
無 |
get_git_context |
獲取Git倉庫信息 |
無 |
文件操作
| 工具 |
描述 |
必需參數 |
create_file |
創建新文件 |
path、content |
update_file |
更新現有文件 |
path、updates |
append_to_file |
追加內容到文件 |
path、content |
delete_file |
刪除文件 |
path |
rename_file |
重命名/移動文件 |
old_path、new_path |
create_directory |
創建目錄 |
path |
batch_file_operations |
批量操作 |
operations |
配置選項
服務器配置
- 工作目錄:通過
set_working_directory或在初始化時設置
- 文件類型過濾:可配置文件擴展名過濾
- 搜索限制:可配置最大搜索結果數
- 備份策略:對破壞性操作可選擇創建備份
MCP客戶端配置
在你的MCP客戶端中配置服務器,使用適當的命令和參數。服務器通過標準輸入輸出進行通信,無需額外的網絡配置。
開發與貢獻
項目結構
enhanced-directory-context-mcp/
├── server.js # 主要的MCP服務器實現
├── package.json # Node.js包配置
├── mcp-json-config.json # 示例MCP客戶端配置
└── README.md # 本說明文檔
依賴項
@modelcontextprotocol/sdk:核心MCP功能
- Node.js內置模塊:
fs、path、child_process
開發模式運行
npm run dev
這將啟動服務器,並啟用Node.js檢查器以進行調試。
📄 許可證
本項目採用MIT許可證,詳情請參閱package.json。
支持與問題反饋
如有問題、功能請求或想要貢獻代碼,請參考倉庫的問題跟蹤器。
⚠️ 重要提示
此MCP服務器提供強大的文件系統訪問功能。請確保你信任AI助手,並瞭解正在執行的操作,特別是像文件刪除或修改這樣的破壞性操作。