使用说明
人工智能推动了开发容器的发展
MCP服务器旨在增强DevContainer环境中的AI辅助开发。它提供文件系统操作和工具,以促进AI助手和容器化开发环境之间的无缝协作。文件系统操作基于 Anthropic的文件系统MCP服务器.
安装
要在devcontainer中开始人工智能辅助开发的最简单方法,请按照 AIBD开发容器库此存储库提供了一个预先配置的开发容器设置,其中已经集成了MCP服务器。
步骤包括:
- 克隆aibd-devcontainer存储库
- 在VS Code中打开并使用“在容器中重新打开”功能
- 配置Claude以连接到MCP服务器
- 在人工智能的帮助下开始开发
预配置的设置处理设置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表示成功,非零表示失败)
- 具有以下属性的JSON对象:
- 备注:
- 仅当服务器启动时可用
--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生成的命令之前,始终仔细检查它们。
