开启DSW实例的MCP服务后,即可将其接入Agent客户端,让Agent直接在实例中执行命令、读写文件、运行代码,实现云端开发任务的智能托管。
前提条件
DSW实例或所属的资源配额已配置VPC及安全组。
应用场景
将DSW实例接入Agent后,相当于给 Agent 开通了一台随时可用的云端开发机。它可以直接在实例里读写代码、执行命令、跑实验,把您从重复的环境操作中解放出来。典型场景包括:
远程代码开发与调试:让Agent在实例中创建、修改代码并运行,自动定位报错、修复后重跑,完成一个功能的闭环开发。
环境准备与依赖管理:一句话让Agent安装缺失的Python或系统依赖、检查CUDA与框架版本、校验运行环境,省去逐条敲命令。
训练与实验任务托管:Agent启动训练脚本后异步等待,期间查看日志、监控输出,训练结束自动汇总结果。
数据处理与文档整理:批量检索、清洗实例内的数据文件,或把网页、PDF、Office文档转成Markdown供后续分析。
操作步骤
步骤一:创建DSW实例并开启MCP服务
开启MCP服务共分三步:开启服务开关、生成访问凭证、在安全组放行端口。完成后,Agent即可通过MCP协议访问该实例。
开启MCP服务开关。以使用公共资源创建实例为例,创建DSW时配置以下关键参数,其他参数按需配置即可。
已存在的实例可在实例列表页,单击操作列下的变更配置,重新配置DSW实例。
资源类型:选择公共资源。
专有网络配置:选择同地域下的专有网络VPC。必须配置VPC才能启用MCP服务。
安全组:选择创建的安全组。
交换机:选择创建的交换机。
启用MCP服务:打开开关。打开后会出现名称为MCP的服务,默认监听实例的9806端口。
若要从公网访问DSW实例(例如通过本地Agent连接),还需配置以下参数:
服务访问与端口配置:
公网访问:勾选。
公网访问端口:如1078。
从公网访问实例:选择DNAT + EIP
NAT网关:选择创建的NAT网关。
弹性公网IP:选择NAT网关关联的EIP。
配置完成后,单击确定创建实例。
生成访问凭证。DSW实例创建完成后,单击实例名称进入详情页面,在访问配置区域,单击生成访问凭证。该凭证用于Agent调用MCP服务时的身份鉴权,调用时以Bearer Token形式放入请求头。
至此,您得到了MCP的接入地址和访问凭证。
说明凭证有效期默认为7天,到期后可在同一位置重新生成;重新生成后需同步更新Agent侧配置中的凭证。
步骤二:安全组放行端口和IP
在DSW详情页网络信息区域,单击安全组名称跳转至安全组详情页面。在入方向页签单击增加规则,配置以下参数,其他参数默认即可。
访问来源:填写Agent部署位置的IP地址(例如运行Agent的本地电脑公网出口IP)。
访问目的(本实例):填写9806端口。
步骤三:Agent连接到DSW实例
DSW MCP服务采用标准Streamable HTTP协议,主流Agent客户端均可接入。打开Agent客户端(如Open Code、Qoder CLI),将以下提示词发给Agent,替换其中的<MCP接入地址>和<访问凭证>为实际值,Agent将自动完成MCP接入。
如果使用本地Agent客户端连接DSW实例,MCP接入地址应该使用公网的接入地址。
帮我添加一个 MCP 服务器,名称 dsw-mcp,协议 Streamable HTTP,地址 http://<MCP接入地址>,请求头加 Authorization: Bearer <访问凭证>。请按照你的 MCP 配置方式自动完成设置。连接完成后,您可以在Agent客户端中输入以下命令测试联通性。
帮我在dsw的/mnt/workspace目录下创建一个hello_world的python代码文件执行完成后,打开DSW实例,可以看到在工作区生成的hello_world.py文件。
支持的工具集
DSW MCP服务通过标准Streamable HTTP协议提供一组工具,Agent连接后自动加载工具清单。工具分为Shell、文件、系统、格式转换、代码五类,共16个。
Shell域(5个)
在实例内执行命令,连续命令共享工作目录,适合跑脚本、装依赖、启动训练。
工具 | 功能 | 关键参数 |
| 执行shell命令 | cmd(必填)、cwd、new_session、timeout |
| 查看会话累积输出与状态 | session_id、limit |
| 等待异步命令执行完成 | session_id、seconds |
| 向运行中的进程发送输入 | session_id、input、press_enter |
| 终止并清理会话 | session_id |
文件域(7个)
读写、检索、编辑实例内的文件。
工具 | 功能 | 关键参数 |
| 读取文件内容(可按行范围) | path(必填)、start_line、end_line、sudo |
| 写入/追加文件,支持base64二进制 | path、content、encoding、append |
| 文件内全局替换字符串 | path、old_str、new_str |
| 正则搜索文件内容 | path、regex |
| 按glob查找文件 | path、pattern |
| 列目录(支持递归、按类型过滤) | path、recursive、file_types |
| 支持撤销的编辑器 | command(view/create/str_replace/insert/undo_edit)、path等 |
系统域(2个)
查询实例环境与已安装依赖。
工具 | 功能 | 关键参数 |
| 查询实例环境(OS/Python/Node/可用工具) | 无 |
| 列出已安装的Python/Node.js包 | language |
格式转换域(1个)
工具 | 功能 | 关键参数 |
| 将网页/PDF/Office/图片等转为Markdown | uri |
代码域(1个)
工具 | 功能 | 关键参数 |
| 执行代码(当前支持Python) | code、language、timeout |
开启MCP服务后,以上工具立即可用,无需额外配置。