Token导航 LogoToken导航TokenDH.com
Claude Desktop Skills Proxy logo
开发工具stdio官方级别未说明来源级核验

Claude Desktop Skills Proxy

MCP Server

@modelcontextprotocol/inspector

MCP代理服务,用于绕过Claude Desktop沙盒网络限制,提供URL获取、CLI工具执行和文件读取功能。

工具数

3

提示词数

0

GitHub Stars

1

资源数

0
命令行工具TypeScriptClaudeClaude DesktopClaude

安装说明

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

作者 / 组织

CodefiLabs

提供方

CodefiLabs

最后核验

2026/5/17 20:23

运行时

Node.js

快速接入

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

命令预览

npx @modelcontextprotocol/inspector node dist/index.js

详细介绍

mcp代理

绕过Claude Desktop沙盒网络限制的MCP服务器。

Claude Desktop在一个受限的沙盒中运行,该沙盒阻止了许多需要互联网访问的网络操作和CLI工具。此MCP服务器提供了三个在沙盒外运行的工具,使Claude能够:

  • 获取任何URL(API调用、web抓取、下载)
  • 执行支持网络的CLI工具(yt-dlp、curl、ffmpeg等)
  • 读取由这些工具创建的文件(字幕文件、下载等)

安装

快速安装(通过GitHub)

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "proxy": {
      "command": "npx",
      "args": ["-y", "github:CodefiLabs/claude-desktop-skills-proxy"]
    }
  }
}

重新启动Claude Desktop以使更改生效。服务器将自动下载并运行。

本地开发

git clone https://github.com/CodefiLabs/claude-desktop-skills-proxy.git
cd claude-desktop-skills-proxy
npm install
npm run build

然后配置Claude Desktop以使用本地版本:

{
  "mcpServers": {
    "proxy": {
      "command": "node",
      "args": ["/path/to/claude-desktop-skills-proxy/dist/index.js"]
    }
  }
}

工具

代理蚀刻

向任何URL发出HTTP请求。支持所有常见的HTTP方法。

参数:

参数类型必填说明
urlstring要获取的URL
methodstringHTTP方法:GET、POST、PUT、DELETE、PATCH、HEAD(默认值:GET)
headersobject自定义HTTP标头作为键值对
bodystring请求POST/PUT/PATCH的正文
timeoutnumber超时(毫秒)(默认值:30000)
approvestring域批准:“一次”或“始终”

示例-简单GET:

{
  "url": "https://api.github.com/users/octocat"
}

示例-带标头的POST:

{
  "url": "https://api.example.com/data",
  "method": "POST",
  "headers": {
    "Content-Type": "application/json",
    "Authorization": "Bearer token123"
  },
  "body": "{\"key\": \"value\"}"
}

示例-批准新域:

{
  "url": "https://newsite.com/api",
  "approve": "always"
}

网络exec

执行需要网络访问的CLI命令。使用安全 spawn() 而不是shell执行。

参数:

参数类型必填说明
commandstringYes要执行的命令(例如,“yt-dlp”、“curl”)
argsarray命令参数为数组
cwdstring工作目录
envobject其他环境变量
timeoutnumber超时(毫秒)(默认值:60000)
approvestring命令批准:“一次”或“始终”

示例-使用yt-dlp下载视频:

{
  "command": "yt-dlp",
  "args": ["--output", "video.mp4", "https://youtube.com/watch?v=dQw4w9WgXcQ"],
  "cwd": "/Users/kk/Downloads",
  "approve": "always"
}

示例-使用curl进行提取:

{
  "command": "curl",
  "args": ["-s", "https://api.ipify.org?format=json"],
  "approve": "once"
}

示例-使用ffmpeg转换视频:

{
  "command": "ffmpeg",
  "args": ["-i", "input.mp4", "-c:v", "libx264", "output.mp4"],
  "cwd": "/Users/kk/Videos",
  "timeout": 300000
}

read_file

从主机文件系统读取文件。可用于读取由创建的文件 network_exec (例如来自yt-dlp的字幕文件)。

参数:

参数类型必填说明
pathstring要读取的文件的绝对路径
encodingstring二进制文件为“utf8”(默认)或“base64”
maxSizenumber最大文件大小(字节)(默认值:5MB)

示例-读取字幕文件:

{
  "path": "/tmp/video.en.vtt"
}

示例-将二进制文件读取为base64:

{
  "path": "/tmp/image.png",
  "encoding": "base64"
}

yt-dlp字幕的工作流程:

  1. 下载字幕 network_exec:
   {
     "command": "yt-dlp",
     "args": ["--write-auto-sub", "--skip-download", "-o", "/tmp/%(id)s", "VIDEO_ID"],
     "approve": "always"
   }
  1. 使用以下命令读取字幕文件 read_file:
   {
     "path": "/tmp/VIDEO_ID.en.vtt"
   }

受阻路径: 敏感文件,如 ~/.ssh/*, ~/.aws/*, /etc/shadow, .env 为了安全起见,文件和凭据文件被阻止。

审批流程

当访问新域或运行新命令时,该工具会返回 needs_approval 状态:

{
  "status": "needs_approval",
  "domain": "example.com",
  "message": "Domain \"example.com\" is not in your allowlist. To proceed, call proxy_fetch again with approve: \"once\" for this request only, or approve: \"always\" to remember this domain."
}

审批选项:

  • "once" -仅允许此单个请求
  • "always" -添加到满列表并记住以备将来请求

一旦获得批准 "always",对该域/命令的后续请求会自动工作。

安全

阻止域(SSRF保护)

以下域始终被阻止,以防止服务器端请求伪造攻击:

  • localhost, 127.0.0.1, ::1 -环回地址
  • 169.254.169.254 -AWS元数据端点
  • 10.*, 172.16-31.*, 192.168.* -私有IP范围
  • fe80:*, fc00:*, fd00:* -IPv6专用/链路本地

已阻止的命令

出于安全考虑,这些命令被阻止:

  • 破坏性: rm, rmdir, del, mv
  • 特权升级: sudo, su, doas
  • 权限: chmod, chown, chgrp
  • 系统: mkfs, fdisk, dd, format
  • 包管理器: apt, brew, yum等等。
  • 外壳: bash, sh, zsh等等。
  • 网络滥用: nc, netcat, telnet

参数验证

命令参数中的Shell运算符被阻止,以防止注入:

  • ;, |, &&, || -命令链
  • >, < -重定向
  • $(, ` `, ${` -命令/变量替换

速率限制

请求有速率限制,以防止滥用:

  • 每个域/命令每分钟60个请求
  • 自动冷却,收到信息后重试

配置

配置存储在 ~/.config/mcp-proxy/config.json:

{
  "allowedDomains": ["api.github.com", "example.com"],
  "blockedDomains": ["localhost", "127.0.0.1", "..."],
  "allowedCommands": ["yt-dlp", "curl", "ffmpeg"],
  "blockedCommands": ["rm", "sudo", "..."]
}

该文件在首次使用时自动创建。用户批准的域/命令将添加到列表中。无法覆盖安全阻止列表。

发展

# Build
npm run build

# Watch mode
npm run watch

# Test with MCP Inspector
npx @modelcontextprotocol/inspector node dist/index.js

许可证

麻省理工学院

目录标签

目录标签

命令行工具TypeScriptClaude网络代理本地部署沙盒绕过CLI工具文件读取HTTP请求

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP