ClipToWSL 是一个模型上下文协议(MCP)服务器,它使像 Claude Code 这样的AI编码代理能够在 Windows 子系统 for Linux (WSL) 中读取 Windows 剪贴板的内容。这使得在 WSL 环境中工作时能够无缝访问剪贴板数据,包括文本和图像。
快速开始:为了方便安装,请下载发行包,其中包含了预编译的二进制文件和自动安装脚本。
该系统由两个主要组件组成:
clipboard-reader/):一个使用 Win32 API 访问 Windows 剪贴板的 C++ 可执行文件mcp-server/):一个 TypeScript/Node.js 服务器,用于管理 Windows 可执行文件并通过 MCP 协议提供剪贴板功能组件之间的通信通过 stdin/stdout 管道使用 JSON-RPC 进行。
下载包含预编译二进制文件的发行包:
# 1. 下载并解压发行包
wget https://github.com/CarlosGtrz/ClipToWslMcp/releases/download/v1.0.0/clip-to-wsl-mcp-v1.0..zip
unzip clip-to-wsl-mcp-v1.0.0.zip
cd clip-to-wsl-mcp-v1.0.0/
# 2. 运行自动安装程序
./install.sh
# 3. 按照安装程序打印的配置说明操作
安装程序将:
用于开发或定制:
# 1. 克隆仓库
git clone <repository-url>
cd ClipToWslMcp
# 2. 安装构建依赖项
sudo apt update
sudo apt install gcc-mingw-w64-x86-64-posix g++-mingw-w64-x86-64-posix
npm install -g typescript
# 3. 安装 Node.js 依赖项
cd mcp-server && npm install && cd ..
# 4. 构建项目
./create-release.sh # 创建优化的发布构建
在您的 Claude Code 设置中添加以下配置:
Linux/WSL:~/.claude.json
{
"mcpServers": {
"clip-to-wsl": {
"command": "node",
"args": ["/path/to/release/index.js"],
"env": {
"CLIPBOARD_EXE_PATH": "/path/to/release/clipreader.exe"
}
}
}
}
{
"mcpServers": {
"clip-to-wsl": {
"command": "node",
"args": ["/full/path/to/ClipToWslMcp/mcp-server/dist/index.js"],
"env": {
"CLIPBOARD_EXE_PATH": "/full/path/to/ClipToWslMcp/clipboard-reader/clipreader.exe"
}
}
}
}
重要:用实际安装目录替换路径。自动安装程序会创建一个带有正确路径的 claude-config-example.json 文件。
CLIPBOARD_EXE_PATH:Windows 剪贴板阅读器可执行文件的路径(必需)配置完成后,read_clipboard 工具将在 Claude Code 中可用:
当您将文本复制到 Windows 剪贴板时,您可以询问 Claude Code:
当您复制图像(截图、复制的图像等),Claude Code 可以:
read_clipboard 工具接受一个可选的 format 参数:
"auto"(默认):自动检测并返回最佳可用格式"text":强制仅读取文本"image":强制仅读取图像cd clipboard-reader
echo '{"jsonrpc":"2.0","method":"read_clipboard","id":1}' | ./clipreader.exe
node test-server.js
cd mcp-server
npm start
# 在另一个终端发送 MCP 请求以测试功能
“命令未找到”错误
x86_64-w64-mingw32-g++ --version进程通信超时
MCP 工具未出现在 Claude Code 中
剪贴板访问失败
# 检查可执行文件是否成功构建
ls -la clipboard-reader/clipreader.exe
# 直接测试可执行文件
echo '{"method":"read_clipboard","id":1}' | /path/to/clipreader.exe
# 检查 MCP 服务器启动
cd mcp-server && node dist/index.js
# 监控进程通信
ps aux | grep clipreader
MCP 服务器提供了调试用的控制台日志:
ClipToWslMcp/
├── clipboard-reader/ # C++ Windows 可执行文件
│ ├── src/
│ │ ├── main.cpp # JSON-RPC 通信
│ │ ├── clipboard.cpp # Windows 剪贴板访问
│ │ ├── clipboard.h
│ │ ├── base64.cpp # Base64 编码
│ │ └── base64.h
│ ├── Makefile # 带有优化的构建配置
│ └── clipreader.exe # 构建后的可执行文件
├── mcp-server/ # TypeScript MCP 服务器
│ ├── src/
│ │ ├── index.ts # 主服务器
│ │ ├── clipboard-manager.ts # 进程管理
│ │ └── types.ts # 类型定义
│ ├── dist/ # 构建后的 JavaScript
│ ├── package.json
│ └── tsconfig.json
├── release/ # 准备使用的发行包
│ ├── index.js # 构建后的 MCP 服务器
│ ├── clipreader.exe # 优化后的 Windows 可执行文件
│ ├── package.json # 运行时依赖项
│ ├── install.sh # 自动安装程序
│ └── README.md # 安装说明
├── create-release.sh # 自动化发行包构建器
├── shared/ # 共享配置
│ └── config.json # Claude Code 配置模板
└── docs/ # 文档
./create-release.sh 创建优化的发行包自动化发行包构建器创建了一个准备分发的包:
./create-release.sh
此脚本:
MIT 许可证 - 详情参见 LICENSE 文件。
对于问题、错误报告或功能请求,请在仓库中创建一个 Issue。 </中文翻译>