修复无法启动或无法完成求解任务的 MCP 服务器

作者:solvethree阅读需 1 分钟

先调用 solvethree_capabilities,它不需要 API 密钥。如果收到响应,说明服务器已启动且 MCP 连接正常。此时不要继续修改启动器设置,应转而检查凭据、代理和任务输入参数。

本页内容

在宿主外运行启动器

在运行 MCP 宿主的机器上,打开终端运行提供的启动器。为在受控环境中复现问题,请使用 Node.js 22 及其附带的 npx;检查是否误用了另行安装的旧版启动器。

检查本地 MCP 启动器
node --version
npx --yes --package=https://solvethree.com/downloads/solvethree-sdk-0.1.0.tgz solvethree-mcp
# The process waits for JSON-RPC on stdin. Silence is not a failed startup.
# Use the MCP host to initialize and list tools. Press Ctrl-C to stop this check.
# Never paste an API key or proxy password into troubleshooting logs.

进程保持运行但没有任何输出,并不一定意味着卡住了。这是本地 stdio 服务器:它会等待 stdin 上的 MCP JSON-RPC 消息。请使用 MCP 宿主初始化连接并列出工具;单独运行可执行文件不会执行该握手过程。

如果进程退出,请先阅读启动错误。找不到可执行文件的错误指向安装或 PATH 问题;软件包下载错误发生在任务求解之前。这两者都不能证明 API 密钥、代理或站点配置有误。

终端中正常,但宿主中无法运行时

将 solvethree 注册为本地 stdio 服务器,而不是远程 HTTP 端点。宿主应使用启动器示例中所示的参数运行 npx。不存在托管的 MCP 端点。

宿主找不到 npx。

比较宿主与终端的 PATH。桌面应用程序可能不会继承 shell 配置。

试试这样做: 让宿主能够访问 npx 所在的目录,或将其配置为本地已验证可用的同一可执行文件的绝对路径。

宿主运行了不同版本的 Node.js 或 npx。

检查宿主解析到的是哪些可执行文件,而不只是查看终端使用的版本。

试试这样做: 让宿主使用已测试的安装版本。更改环境后,请重启宿主。

初始化时报告 JSON 格式错误或意外输出。

检查是否有写入 stdout 的 shell 欢迎信息、包装脚本消息或调试输出。

试试这样做: 将 stdout 专用于 MCP JSON-RPC。将诊断输出发送到 stderr,以便宿主收集这些信息,而不会将其视为协议流量。

宿主在启动期间停止等待。

检查启动日志,区分启动缓慢和进程已退出这两种情况。

试试这样做: 对于 Codex 风格的配置,请使用文档中规定的 startup_timeout_sec 值 60。延长等待时间无法修复可执行文件缺失或明确的启动错误。

宿主提示某个 solvethree 工具未注册。

确认服务器已初始化,并检查工具发现返回的工具。

试试这样做: 修正服务器注册配置,或重新连接并再次发现工具。工具缺失并不属于 API 身份验证错误或求解失败。

服务器提供 solvethree_capabilities、solvethree_create_recaptcha、solvethree_create_kasada、solvethree_create_tmpt 和 solvethree_get_task。如果工具发现成功,但宿主无法调用其中某个名称,请先解决这一不一致问题,再发送任务请求。

工具正常但无法创建任务时

  1. 1.

    检查宿主进程的环境

    通过宿主环境提供 SOLVETHREE_API_KEY 和 SOLVETHREE_PROXY。在另一个终端中导出变量,并不代表宿主能读取到它。在 Codex 风格的配置中,env_vars 必须包含这两个名称;该透传列表并不提供它们的值。检查变量是否存在,但不要打印密钥或代理凭据。

  2. 2.

    检查工具实际读取代理的位置

    solvethree_create_recaptcha 从 SOLVETHREE_PROXY 读取其唯一的代理。不要试图通过给该工具添加 proxy 参数来解决环境变量值缺失的问题。代理 URL 应使用 HTTP 或 HTTPS,且不能包含路径、查询参数或片段。

  3. 3.

    检查 reCAPTCHA 站点配置

    API 密钥对应的工作区需要具备适用于所请求站点和 reCAPTCHA 类型的有效配置。还要检查采集 action:一个通用的主机名配置不一定能处理所有 action。在任务中提供 site 和 action 并不会创建配置。请通过控制台的“站点配置”页面或配置设置指南解决此问题。

  4. 4.

    检查工具输入

    对于 solvethree_create_recaptcha,请提供主机名形式的 site,以及 action 和 requestId。recaptchaType 为可选项,默认值为 enterprise-v3。不要用页面 URL 替代 site,也不要向此工具添加 API 的其他任务类型。

能力发现不会测试身份验证或代理访问。capabilities 调用成功后出现的身份验证或请求验证错误,属于求解请求的问题,而不是启动器的问题。在将响应视为成功的任务载荷之前,先处理非成功的 HTTP 响应。

区分任务失败和调用超时

任务结果的含义
任务结果的含义
结果下一步操作
pending 或 solving任务尚未完成。请使用 solvethree_get_task 获取该任务,而不是创建替代任务。
failed读取 errorCode 和 error,然后停止轮询该任务。例如,site-unreachable 是任务错误。求解失败会退款;不要认为每次失败都意味着余额不足。
ready已有可用的解决结果。MCP 服务器不会操控浏览器或填写表单,结果就绪也不代表目标网站已接受任何内容。

宿主超时不是任务状态。Codex 风格的配置将 tool_timeout_sec 设为 100,但响应丢失仍不能证明任务创建失败。每个创建工具都要求提供 requestId,且最多创建一个任务。

如果已收到任务 ID,请获取该任务。否则,请使用相同的 requestId 重复相同的创建请求,以找回现有任务。不要仅因调用超时就生成新的 requestId。复用 ID 时更改任务输入会导致冲突。

任务就绪后,使用返回的浏览器身份信息和求解成功时使用的代理提交解决结果。如果网站随后拒绝请求,请排查该次提交,而不是 MCP 启动过程。请保护解决结果数据的隐私:MCP 宿主会接收到这些数据。

运行您的第一个任务。

使用 $5 工作区额度开始体验。

创建工作区
修复无法启动或无法完成求解任务的 MCP 服务器 · solvethree