Token导航 LogoToken导航TokenDH.com
Wsl Container MCP logo
AI代理未说明官方级别未说明来源级核验

Wsl Container MCP

MCP Server

一个Windows专用的MCP服务器,通过Podman为MCP感知的AI代理提供对WSL内运行的Linux容器的完全访问权限。

工具数

2

提示词数

0

GitHub Stars

1

资源数

0
AI代理C#ClaudeClaude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

esrla

提供方

esrla

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

WslContainerMcp

一个仅支持Windows的MCP服务器,允许任何支持MCP的AI代理通过Podman完全访问WSL内运行的Linux容器。

运作原理

服务器通过以下方式进行通信 标准 (stdin/stdout)并且始终精确地公开 一个工具 取决于环境是否准备就绪:

环境状态工具已暴露
一切准备就绪run_linux_cli
任何问题(WSL、Podman等)environment_issue_report

召唤 environment_issue_report 返回一个简单的语言描述,说明出了什么问题,以及修复它的分步说明——这样用户就可以在不离开人工智能聊天的情况下解决问题。

服务器尝试在可能的情况下自动修复问题:

  • WSL未安装 → tries wsl --install --no-launch 自动地
  • 没有 Linux 发行版 → tries wsl --install -d Ubuntu --no-launch 自动地
  • Shell没有响应 → tries wsl --shutdown 并自动重试
  • 未安装Podman → 通过安装 apt-get/dnf/apk 自动地
  • 代理映像丢失 → 从嵌入式Dockerfile自动构建

需求

  • Windows 10/11 (必须支持WSL 2)
  • WSL 2(如果缺失,则在首次运行时自动安装)
  • WSL中的Linux发行版(如果没有,则自动安装Ubuntu)
  • Podman(如果丢失,会自动安装在WSL中,需要无密码 sudo)

快速开始

# Option A: run directly (requires .NET 10 SDK)
dotnet run

# Option B: publish self-contained exe and run it
dotnet publish -c Release
.\bin\Release\net10.0-windows\win-x64\publish\WslContainerMcp.exe

服务器标志

标志描述
--no-network以以下方式启动容器 --network none (无互联网接入)

向MCP客户端注册

添加到您的MCP客户端配置中(例如Claude Desktop claude_desktop_config.json):

{
  "mcpServers": {
    "WslContainerMcp": {
      "command": "C:\\path\\to\\WslContainerMcp.exe"
    }
  }
}

要阻止容器互联网访问,请执行以下操作:

{
  "mcpServers": {
    "WslContainerMcp": {
      "command": "C:\\path\\to\\WslContainerMcp.exe",
      "args": ["--no-network"]
    }
  }
}

工具: run_linux_cli

在fresh中运行命令 wsl-sandbox-mcp-agent:latest 波德曼集装箱。

输入

参数类型必填默认说明
cmdstring可执行文件(例如。 python3, bash)
argsstring[]传递给可执行文件的参数
cwdstring"."工作目录,相对于工作区根目录
timeout_sint120超时时间(秒)(限制在1-3600)
envobject{}容器的额外环境变量

cwd 必须是 相对路径.绝对路径、驱动器前缀和 .. 片段被拒绝。

输出(JSON)

字段类型描述
exit_codeint进程退出代码(0=成功)
stdoutstring捕获的标准输出
stderrstring捕获的标准错误
timed_outbool命令是否因超时而被终止
artifact_metastring调用元数据JSON的相对路径(可选)

工作区和文件访问

所有数据都存储在 %USERPROFILE%\.wsl-sandbox-mcp\ (每个Windows用户一个工作区——无跨用户混合):

%USERPROFILE%\.wsl-sandbox-mcp\
├── workspace\              ← mounted as /workspace inside every container
│   └── out\                ← call metadata JSON files
├── container\
│   └── Dockerfile          ← auto-extracted; used to build the agent image

从容器内部检查文件

工作空间安装在 /workspace 在每个集装箱内。 任何写入的文件 /workspace 在运行过程中,Windows会立即显示 在:

%USERPROFILE%\.wsl-sandbox-mcp\workspace\

例如,一个写以下内容的命令 /workspace/result.txt 可以在Windows上阅读:

%USERPROFILE%\.wsl-sandbox-mcp\workspace\result.txt

检查Podman图像存储(通过 \\wsl$)

Podman将图像和图层存储在WSL中一个稳定的每个用户的目录中:

\\wsl$\\home\
\.wsl-sandbox-mcp\podman\
├── graphroot\   ← image layers
└── runroot\     ← runtime state

直接在Windows资源管理器中打开此路径。

项目结构

WslContainerMcp/
├── Program.cs                  ← Minimal startup (WSL/Podman bootstrap → MCP server)
├── AgentDockerfile.cs          ← Embedded Dockerfile content (self-contained)
├── WslContainerMcp.csproj
├── Runtime/
│   ├── BootstrapResult.cs      ← DI-shared state from startup bootstrap
│   ├── LinuxCliRunner.cs       ← run_linux_cli core logic
│   ├── PathMapping.cs          ← Windows ↔ WSL path conversion + cwd sanitization
│   ├── PodmanBootstrap.cs      ← Podman setup: storage config, install, image build
│   ├── ProcessExec.cs          ← Low-level process/WSL execution helpers
│   ├── WslBootstrap.cs         ← WSL availability checks + auto-fix attempts
│   └── WslProbe.cs             ← Low-level WSL probes (no side effects)
├── Tools/
│   ├── RunLinuxCliTool.cs      ← MCP tool: run_linux_cli
│   └── EnvironmentIssueReportTool.cs ← MCP tool: environment_issue_report (fallback)
└── Container/
    └── Dockerfile              ← Source for wsl-sandbox-mcp-agent:latest

目录标签

目录标签

AI代理C#ClaudeWSL本地部署Linux容器MCP服务器Podman

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP