Windows 本机 Claude Code 直连 WSL2 里的 Kali MCP

Windows 本机 Claude Code 直连 WSL2 里的 Kali MCP

 

记录一次把 Windows 本机的 Claude Code 接到 WSL2 里的 Kali Linux MCP 的完整过程。
目标是实现这样一条链路:
Claude Code(Windows) → WSL2 → Kali MCP Server → Kali 工具环境


一、背景

这两天看到 Kali 侧开始提供 mcp-kali-server,很多人第一反应都是:

  • 这玩意是真的吗?

  • Windows 能不能用?

  • Claude Code 能不能直接调用 WSL2 里的 Kali?

  • 是不是只能在 macOS 上跑?

我实际测试了一遍,结论很明确:

可以。
而且不需要把 Claude Code 装进 Kali,也不需要整一台单独的 Linux 主机。
只要你本机是 Windows,已经启用 WSL2,就可以把 Windows 上的 Claude CodeWSL2 里的 Kali 接起来。


二、最终跑通的架构

我实际跑通后的结构是这样的:

Claude Code (Windows)
  -> wsl.exe -d kali-linux -- mcp-server
  -> kali-server-mcp
  -> Kali Linux tools

也就是说:

  1. Claude Code 跑在 Windows 本机

  2. 它通过 wsl.exe 去调用 WSL2 里的 Kali

  3. Kali 里运行两个关键组件:

    • kali-server-mcp

    • mcp-server

  4. Claude Code 通过 MCP 与 Kali 环境交互


三、我的环境

本文实测环境如下:

  • Windows 11

  • WSL2 已启用

  • 已安装 Ubuntu(说明 WSL 环境正常)

  • 可在线安装 kali-linux

  • Claude Code 已安装在 Windows 本机

  • Kali 中已可安装 mcp-kali-server


四、先决条件检查

先在 Windows PowerShell 里检查 WSL 状态:

wsl --status
wsl --list --online

如果输出里能看到类似下面的信息,就说明条件基本具备:

  • 默认版本:2

  • 在线发行版列表里有:kali-linux

如果你还没装 Kali,可以直接执行:

wsl --install -d kali-linux

安装完成后,进入 Kali。


五、在 WSL2 里安装 Kali MCP

进入 Kali 后,先更新软件源并安装:

sudo apt update
sudo apt install mcp-kali-server

安装完成后,启动 Kali API Server:

kali-server-mcp

看到类似下面的输出,说明已经正常启动:

Starting Kali Linux Tools API Server on 127.0.0.1:5000
Running on http://127.0.0.1:5000
Press CTRL+C to quit

这里要特别说明一下:

这个界面不是“卡住了”,而是服务已经在前台运行,正在监听请求。

这时候不要关闭这个窗口
保持它开着,然后新开一个终端继续后面的配置。


六、Windows 本机 Claude Code 连接 WSL2 里的 Kali

一开始我尝试直接在 PowerShell 里执行下面这条:

claude mcp add --transport stdio kali -- wsl.exe -d kali-linux -- mcp-server

结果报错:

error: unknown option '-d'

为什么会报错?

原因不是 Kali 有问题,也不是 WSL 不支持,而是 PowerShell 对参数解析产生了干扰
claude mcp add 后面虽然有 --,但在这个场景下,-d 还是被错误处理了。


七、正确做法:用 add-json 显式写配置

后面我改成了 add-json 方式,直接成功。

PowerShell 配置命令

$json = '{"type":"stdio","command":"wsl.exe","args":["-d","kali-linux","--","mcp-server"]}'
claude mcp add-json kali $json

然后检查状态:

claude mcp get kali
claude mcp list

如果配置成功,你会看到类似结果:

kali:
  Scope: Local config
  Status: Connected
  Type: stdio
  Command: wsl.exe
  Args: -d kali-linux -- mcp-server

以及在 claude mcp list 里看到:

kali: wsl.exe -d kali-linux -- mcp-server - √ Connected

这就说明:

Windows 本机 Claude Code 已经成功连上 WSL2 里的 Kali MCP。


八、最终可用的 MCP 配置

这是我最终跑通的配置,直接贴出来。

Claude Code 的 MCP 配置

{
  "type": "stdio",
  "command": "wsl.exe",
  "args": ["-d", "kali-linux", "--", "mcp-server"]
}

如果你喜欢完整一点的结构,也可以写成这样:

{
  "mcpServers": {
    "kali": {
      "type": "stdio",
      "command": "wsl.exe",
      "args": ["-d", "kali-linux", "--", "mcp-server"]
    }
  }
}

九、完整操作流程汇总

这里我把整个流程按顺序整理成一份最短步骤。

1)Windows 检查 WSL2

wsl --status
wsl --list --online

2)安装 Kali

wsl --install -d kali-linux

3)进入 Kali,安装 MCP 组件

sudo apt update
sudo apt install mcp-kali-server

4)启动 Kali API Server

kali-server-mcp

5)Windows 本机添加 Claude Code MCP 配置

$json = '{"type":"stdio","command":"wsl.exe","args":["-d","kali-linux","--","mcp-server"]}'
claude mcp add-json kali $json

6)检查 MCP 状态

claude mcp get kali
claude mcp list

十、几个容易踩坑的地方

1. kali-server-mcp 看起来像“卡住”

不是卡死,是服务在前台运行。
想退出就按:

Ctrl + C

但如果你还要继续联调,就别关它。


2. 直接 claude mcp add ... wsl.exe -d ... 可能报参数错误

这是本文里最容易踩的坑。
在 Windows PowerShell 下,推荐直接使用:

claude mcp add-json ...

比裸命令稳定得多。


3. claude mcp list 里没有 kali

那就说明你只是“以为自己配好了”,实际上没有注册成功。
一定要以这两个命令为准:

claude mcp get kali
claude mcp list

只要看到 Connected,才算真的通了。


4. 别把两个窗口搞混

整个过程至少会有两个窗口:

窗口 A:WSL2 Kali

  • kali-server-mcp

窗口 B:Windows PowerShell

  • 配置 claude mcp add-json

  • 执行 claude mcp list

如果把命令都混在一个窗口里,很容易把自己绕进去。


十一、跑通之后能做什么?

跑通之后,本质上就是:

让 Claude Code 具备一个可调用的 Kali Linux 工具执行环境。

这类能力更适合用于:

  • 实验室环境中的命令编排

  • 本地安全研究工作流自动化

  • CTF / 靶场练习中的工具联动

  • 信息收集、环境检查、结果整理这类任务

我个人建议,先从最轻量、最无害的命令开始验证链路,例如:

  • pwd

  • whoami

  • uname -a

先确认 MCP 通信没问题,再继续往下扩展。


十二、我对这套方案的看法

这套方案最有意思的地方,不在于“又多了一个 MCP”,而在于它把几个原本分散的东西真正串起来了:

  • Windows 本机工作流

  • WSL2

  • Kali Linux

  • Claude Code

  • MCP 协议

以前很多人会觉得:

  • 要么就纯 Linux

  • 要么就纯 Windows

  • 要么就只能在某个特定客户端里玩

但这次实际验证下来,Windows 本机 + WSL2 Kali 这条路是能打通的,而且体验并不差。

对很多平时主力系统就是 Windows 的人来说,这反而是最容易落地的方式。


十三、结论

一句话总结:

Windows 本机的 Claude Code,完全可以调用 WSL2 里的 Kali MCP。

而且实测最稳的配置方式是:

  • WSL2 的 Kali 里运行 kali-server-mcp

  • Windows 本机claude mcp add-json 注册:

    • command: wsl.exe

    • args: ["-d", "kali-linux", "--", "mcp-server"]

只要 claude mcp get kaliclaude mcp list 显示 Connected,就说明已经接通。


十四、附录:我最终使用的关键命令

Kali 侧

sudo apt update
sudo apt install mcp-kali-server
kali-server-mcp

Windows 侧

$json = '{"type":"stdio","command":"wsl.exe","args":["-d","kali-linux","--","mcp-server"]}'
claude mcp add-json kali $json
claude mcp get kali
claude mcp list

最终配置

{
  "type": "stdio",
  "command": "wsl.exe",
  "args": ["-d", "kali-linux", "--", "mcp-server"]
}

20260312193843760-f962156617c1d46669b2b2a989b77fc7

20260312193912714-e39284054317aaad736f16e1b9c45ea8

20260312193919375-911e129c9a6695c17b1722920ec1c771

 

免责声明

本文仅用于 本地实验环境、授权测试环境和学习研究场景
请勿将相关能力用于未授权目标或任何违法违规用途。


 

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容