在尝试使用Claude Code Fetch来抓取网页内容时,似乎遇到了一点小麻烦。系统提示说缺少一个叫做'socksio'的软件包。具体的错误信息如下所示:Error: Using SOCKS proxy, but the 'socksio' package is not installed.
使使用fetch工具抓取https://xnews.jin10.com/details/212483,如果不能则停止并告知原因

原因:
该问题并非源于"当前项目依赖缺失",而是由于以下几点原因导致:
fetch操作由 Claude Code 启动的 MCP 进程执行。- 该进程运行在 uvx 运行时环境中,而非您的项目虚拟环境(venv)中。
- 当系统配置了 SOCKS 代理(例如通过环境变量
ALL_PROXY=socks5://...设置)时,httpx需要socksio才能正确处理此类代理连接。 - 默认情况下,uvx 的
mcp-server-fetch并未包含httpx[socks]组件,因此尝试使用 SOCKS 代理时会出现错误。
基于以上分析,建议检查并确保在 uvx 环境中正确安装了httpx[socks]以支持 SOCKS 代理。
修复 :在 uvx 启动参数中显式加上 httpx[socks]:
"fetch": {
"command": "uvx",
"args": [
"--with",
"httpx[socks]",
"mcp-server-fetch"
]
}
完成保存操作后,请重新启动 Claude Code(或 MCP 服务器),以使更改生效。

当使用 uvx 启动 Python MCP 时,若发现缺少某些依赖项,则应通过在命令行中添加 --with 参数来指定并安装这些缺失的依赖项。
通用写法:
{
"command": "uvx",
"args": [
"--with",
"缺失依赖名",
"mcp-server-xxx"
]
}
例如,您此次的情况即为:
"--with", "httpx[socks]"
在进行修复之前,需要满足以下两个前提条件:
- 该 MCP(微服务控制平台)确实是通过 Python 结合 uvicorn 启动的;
- 报错信息属于"缺少 Python 包"类型,如
ModuleNotFoundError或者是由于缺少额外依赖项导致的问题。
对于使用 npx/Node.js 或 Go 语言编译成二进制文件启动的 MCP 实例,则不适用上述提到的--with参数来进行修复。