AI辅助开发文件系统服务

MCP服务器旨在增强DevContainer环境中的AI辅助开发,提供文件系统操作和工具,促进AI助手与容器化开发环境之间的无缝协作。

  • by gergelyszerovay
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 gergelyszerovay/mcp-server-aibd-devcontainer

使用说明

人工智能推动了开发容器的发展

MCP服务器旨在增强DevContainer环境中的AI辅助开发。它提供文件系统操作和工具,以促进AI助手和容器化开发环境之间的无缝协作。文件系统操作基于 Anthropic的文件系统MCP服务器.

安装

要在devcontainer中开始人工智能辅助开发的最简单方法,请按照 AIBD开发容器库此存储库提供了一个预先配置的开发容器设置,其中已经集成了MCP服务器。

步骤包括:

  1. 克隆aibd-devcontainer存储库
  2. 在VS Code中打开并使用“在容器中重新打开”功能
  3. 配置Claude以连接到MCP服务器
  4. 在人工智能的帮助下开始开发

预配置的设置处理设置MCP服务器、端口转发和文件访问权限的所有细节。

特性

  • 完成文件系统操作(读、写、编辑等)
  • 目录树
  • 文件搜索和元数据检索
  • 计划和实施安全操作模式
  • 允许的目录安全限制
  • SSE(服务器发送事件)传输支持,非常适合停靠环境
  • REST API
  • 可选的shell命令执行功能(默认禁用)

API

工具

文件读取

  • 读取多个文件
    • 同时读取多个文件
    • 输入:
      • paths (string[]):要读取的文件的路径
    • 退货:
      • 文件内容及其路径的数组

文件写入/修改

  • write_file

    • 创建新文件或完全覆盖现有文件
    • 输入:
      • path (string):写入文件的路径
      • content (string):要写入文件的内容
    • 退货:
      • 确认消息
    • 备注:仅在“mcpAct”模式下可用
  • edit_file

    • 对文本文件进行基于行的编辑
    • 输入:
      • path (string):要编辑的文件的路径
      • edits (array):编辑操作数组
      • dryRun (boolean):预览更改而不写入
    • 退货:
      • Git风格差异显示更改
    • 备注:仅在“mcpAct”模式下可用

目录操作

  • create_directory

    • 创建新目录或确保目录存在
    • 输入:
      • path (string):创建路径
    • 退货:
      • 确认消息
    • 备注:仅在“mcpAct”模式下可用
  • 目录树

    • 获取文件和目录的递归树视图
    • 输入:
      • path (string):根路径
      • depth (数字,可选):递归的最大深度(默认值:1)
    • 退货:
      • JSON结构表示目录树

文件管理

  • move_file

    • 移动或重命名文件和目录
    • 输入:
      • source (string):源路径
      • destination (string):目标路径
    • 退货:
      • 确认消息
    • 备注:仅在“mcpAct”模式下可用
  • 删除多个文件

    • 在一次操作中删除多个文件
    • 输入:
      • paths (string[]):要删除的路径
    • 退货:
      • 成功和失败的详细报告
    • 备注:仅在“mcpAct”模式下可用

公用事业

  • 搜索文件

    • 递归搜索与模式匹配的文件和目录
    • 输入:
      • path (string):要搜索的根路径
      • pattern (string):要搜索的模式
      • excludePatterns (string[]):要排除的模式
    • 退货:
      • 匹配文件路径数组
  • 获取_文件_信息

    • 检索有关文件或目录的详细元数据
    • 输入:
      • path (string):获取信息的路径
    • 退货:
      • 详细的文件元数据(大小、日期、权限等)
  • list_allowed_directories

    • 返回允许服务器访问的目录列表
    • 输入:无
    • 退货:
      • 允许的目录路径数组

壳牌运营

  • shell-exec
    • 在shell中执行命令,并将输出作为结构化数据返回
    • 输入:
      • command (string):要执行的命令
      • timeout (数字,可选):最大执行时间(毫秒)(默认值:5000)
    • 退货:
      • 具有以下属性的JSON对象:
        • stdout (string):命令的标准输出
        • stderr (string):命令输出的标准错误
        • exitCode (number):命令的退出代码(0表示成功,非零表示失败)
    • 备注:
    • 仅当服务器启动时可用 --enableShellExecTool 旗帜
    • 仅在“mcpAct”模式下可用
    • 具有可配置的超时,最大为300秒

模式管理

  • get_mode

    • 获取当前操作模式
    • 输入:无
    • 退货:
      • 当前模式(“mcpAct”或“mcpPlan”)
  • set_mode

    • 设置操作模式
    • 输入:
      • mode (string):切换到的模式(“mcpAct”或“mcpPlan”)
    • 退货:
      • 确认消息

使用Claude Desktop

将此添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "aibd": {
      "command": "npx",
      "args": [
        "-y",
        "@gergelyszerovay/mcp-server-aibd-devcontainer",
        "--allowedDirectories=/your/allowed/path"
        // Add "--enableShellExecTool" here if you want to enable shell command execution
      ]
    }
  }
}

命令行选项

MCP server with filesystem tools.

Options
  --enableHttpTransport         Enable HTTP transport [default: false]
  --enableStdioTransport        Enable stdio transport [default: true]
  --enableRestServer            Enable REST API server [default: false]
  --enableShellExecTool              Enable shell execution tool [default: false]
  --mcpHttpPort=<port>          Port for MCP HTTP server [default: 3001]
  --restHttpPort=<port>         Port for REST HTTP server [default: 3002]
  --allowedDirectories=<path>   Allowed directories for filesystem access (multiple, required)
  --initialMode=<mode>          Initial operation mode: mcpAct or mcpPlan [default: mcpAct]
  --help                        Show this help message

Examples
  $ mcp-fs --allowedDirectories=. --enableHttpTransport
  $ mcp-fs --allowedDirectories=/home/user/projects --mcpHttpPort=3005 --restHttpPort=3006
  $ mcp-fs --allowedDirectories=/path/to/dir1 --allowedDirectories=/path/to/dir2
  $ mcp-fs --allowedDirectories=. --initialMode=mcpPlan
  $ mcp-fs --allowedDirectories=. --enableShellExecTool

安全与部署

操作模式

服务器实现两种操作模式:

  • mcpPlan模式:一种只读探索模式,允许模型在不进行更改的情况下分析环境
  • mcpAct模式:授予对系统修改功能的完全访问权限的执行模式

这种分离增加了一个安全屏障,防止对文件系统进行意外修改。

目录限制

所有操作都限制在启动时明确允许的目录中。尝试访问这些目录之外的文件将导致错误。

壳牌执行安全

默认情况下,shell执行工具处于禁用状态,必须使用 --enableShellExecTool 旗帜。启用后,它提供了几个安全功能:

  • 仅在“mcpAct”模式下可用,在计划模式下不可用
  • 可配置超时以防止长时间运行的进程
  • 输出大小限制,以防止压倒性的响应
  • 使用退出代码完成命令结果报告
  • 分离stdout和stderr流以获得更好的诊断
  • 命令失败的错误处理

警告:启用shell执行使模型能够在您的系统上执行任意命令。在允许执行AI生成的命令之前,始终仔细检查它们。