MCP文件系统服务器
一个模型上下文协议(MCP)服务器,为Claude等AI助手提供文件系统访问功能。该服务器允许AI模型读取和导航您的代码库,提供上下文感知和开发任务的帮助。
特性
- 文件列表:列出项目中的所有文件和目录
- 文件读取:读取项目中任何文本文件的内容
- 安全:内置防止目录遍历攻击的保护
- 交叉平台的:适用于Windows、macOS和Linux
- 环境配置:使用环境变量轻松设置
安装
- 克隆或下载此存储库
- 安装所需的依赖项:
pip install mcp python-dotenv配置
- 创建一个
.env项目根目录中的文件:
MCP_ROOT_PATH=./your-project-directory替换 ./your-project-directory 使用要提供访问权限的代码库的路径。
用法
运行服务器
python main.py服务器将启动并通过stdio通信,准备由MCP客户端连接。
连接到克劳德桌面
- 确保已安装Claude Desktop
- 将服务器添加到Claude的配置中:
在 macOS 上:
// ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"fs-server": {
"command": "python",
"args": ["/path/to/your/mcp-fs-server/main.py"]
}
}
}在Windows上:
// %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"fs-server": {
"command": "python",
"args": ["C:\\path\\to\\your\\mcp-fs-server\\main.py"]
}
}
}可用工具
一旦连接,AI助手就可以使用这些工具:
列出文件
// Example usage
list_files("src/components")列出指定路径中的所有文件和目录。如果没有提供路径,则列出根项目目录。
读取文件
// Example usage
read_file("src/components/Header.js")读取并返回指定文件的内容。
安全说明
- 服务器旨在防止目录遍历攻击
- 文件访问仅限于指定的目录
MCP_ROOT_PATH - 无法读取二进制文件(防止编码问题)
发展
项目结构
mcp-fs-server/
├── main.py # Main server implementation
├── .env # Environment configuration (create this)
└── README.md # This file扩展功能
您可以通过向FastMCP实例添加更多工具来扩展服务器:
@mcp.tool()
def your_new_tool(parameter: str) -> str:
"""Tool description for the AI."""
# Your implementation here
return "Result"故障排除
常见问题
- “找不到模块”错误:确保安装了所有依赖项
- 权限错误:检查MCP_ROOT_PATH是否可访问
- 连接问题:验证Claude配置中的路径是否正确
调试
出于调试目的,您可以添加print语句来查看服务器正在做什么:
print(f"Processing request for path: {path}", file=sys.stderr)许可证
本项目按原样提供,用于教育和发展目的。
贡献
请随时通过GitHub存储库提交问题和增强请求。
______________________________________________________________________
备注:此服务器设计用于与Claude Desktop和其他MCP兼容客户端配合使用。确保您拥有最新版本的Claude Desktop,以获得最佳体验。
