文件系统服务

一个为AI助手提供文件系统访问能力的MCP服务器,允许AI模型读取和导航代码库,提供上下文感知和开发任务辅助。

  • by AhrimanXD
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ahrimanxd/mcp-code-assisstant

使用说明

MCP文件系统服务器

一个模型上下文协议(MCP)服务器,为Claude等AI助手提供文件系统访问功能。该服务器允许AI模型读取和导航您的代码库,提供上下文感知和开发任务的帮助。

特性

  • 文件列表:列出项目中的所有文件和目录
  • 文件读取:读取项目中任何文本文件的内容
  • 安全:内置防止目录遍历攻击的保护
  • 交叉平台的:适用于Windows、macOS和Linux
  • 环境配置:使用环境变量轻松设置

安装

  1. 克隆或下载此存储库
  2. 安装所需的依赖项:
pip install mcp python-dotenv

配置

  1. 创建一个 .env 项目根目录中的文件:
MCP_ROOT_PATH=./your-project-directory

替换 ./your-project-directory 使用要提供访问权限的代码库的路径。

用法

运行服务器

python main.py

服务器将启动并通过stdio通信,准备由MCP客户端连接。

连接到克劳德桌面

  1. 确保已安装Claude Desktop
  2. 将服务器添加到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"

故障排除

常见问题

  1. “找不到模块”错误:确保安装了所有依赖项
  2. 权限错误:检查MCP_ROOT_PATH是否可访问
  3. 连接问题:验证Claude配置中的路径是否正确

调试

出于调试目的,您可以添加print语句来查看服务器正在做什么:

print(f"Processing request for path: {path}", file=sys.stderr)

许可证

本项目按原样提供,用于教育和发展目的。

贡献

请随时通过GitHub存储库提交问题和增强请求。


备注:此服务器设计用于与Claude Desktop和其他MCP兼容客户端配合使用。确保您拥有最新版本的Claude Desktop,以获得最佳体验。