本地文件系统MCP服务器

一个用于只读访问本地文件系统的模型上下文协议(MCP)服务器,适用于与VS Code中的AI助手(如Claude)集成。

  • by YannBrrd
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 YannBrrd/localfs-mcp

使用说明

LocalFS MCP服务器

用于只读本地文件系统访问的模型上下文协议(MCP)服务器。此服务器允许通过MCP协议安全、受控地访问您的本地文件系统,使其非常适合与VS Code中的Claude等AI助手一起使用。

特性

  • 只读访问:所有操作都是只读的,确保您的文件安全
  • 可配置的访问控制:限制对特定文件夹及其子文件夹的访问
  • Windows支持:设计时考虑了Windows路径(也适用于Linux/Mac)
  • 多重操作:
    • 列出目录内容
    • 读取文本文件
    • 获取文件/目录信息
    • 按模式搜索文件

安装

使用pip

pip install -e .

为了发展

pip install -e ".[dev]"

配置

创建一个 config.json 与服务器位于同一目录中的文件,以指定可以访问的目录:

{
  "allowedPaths": [
    "C:\\Users\\YourUsername\\Documents",
    "C:\\Projects"
  ]
}

在Linux/Mac上,使用Unix风格的路径:

{
  "allowedPaths": [
    "/home/username/documents",
    "/home/username/projects"
  ]
}

重要:仅列出中的路径 allowedPaths 并且可以访问它们的子目录。如果未配置路径,则将拒绝所有访问。

用法

运行服务器

localfs-mcp

或者使用自定义配置文件:

localfs-mcp --config /path/to/config.json

与VS Code和Claude一起使用

  1. 在VS代码中安装MCP扩展
  2. 配置MCP设置以使用此服务器:
{
  "mcpServers": {
    "localfs": {
      "command": "localfs-mcp",
      "args": ["--config", "C:\\path\\to\\config.json"]
    }
  }
}
  1. 重新启动VS Code或重新加载MCP扩展

可用工具

服务器提供以下工具:

list_directory

列出目录的内容。

  • 输入: path (string)-列表的目录路径
  • 输出:带类型指示符的文件和目录列表

read_file

读取文本文件的内容。

  • 输入: path (string)-要读取的文件路径
  • 输出:文件内容为文本

获取_文件_信息

获取有关文件或目录的信息。

  • 输入: path (string)-获取有关信息的路径
  • 输出:文件类型、大小、修改时间和绝对路径

搜索文件

搜索与模式匹配的文件。

  • 输入:
    • directory (string)-要搜索的目录
    • pattern (string)-文件名模式(例如,“.txt“,”自述文件")
    • recursive (布尔值,可选)-是否搜索子目录
  • 输出:匹配的文件路径列表

发展

运行测试

pytest

项目结构

localfs-mcp/
├── src/
│   └── localfs_mcp/
│       ├── __init__.py
│       └── server.py
├── tests/
│   ├── __init__.py
│   └── test_server.py
├── config.json
├── config.example.json
├── pyproject.toml
└── README.md

安全

  • 所有操作都是 只读的 -不支持写入、删除或修改操作
  • 访问仅限于配置的路径
  • 通过将所有路径解析为绝对路径来阻止路径遍历尝试
  • 二进制文件在尝试以文本形式读取时返回错误

许可证

MIT许可证-有关详细信息,请参阅许可证文件