yoer 发表于 2026-8-19 08:53:48

AI Agent 自配置宝塔 MCP 服务失败报告

一、问题概述

按照服务方提供的指令文档,尝试为 Hermes Agent 自动配置宝塔 MCP 服务、处理 TLS 证书、安装相关 Skills 并验证 MCP 连接。

执行过程中发现,下载的指令文档虽然包含 mcp_info.json 示例,但其中的 tls_cert 证书链被截断,无法完成安全配置和连接验证。

二、相关信息


[*]指令文档下载地址:http://120.55.*.*:8888/down/NagZBH46SQXw.md
[*]文档下载结果:成功
[*]下载文件大小:约 18 KB(实际 18767 bytes)
[*]MCP 服务地址:已脱敏,仅保留服务端口和路径结构
[*]TLS 要求:tls_required: true
[*]Agent:Hermes Agent
[*]操作系统:Linux


安全说明:报告未包含完整 Bearer Token、证书 PEM 内容或其他敏感凭据。由于原始文档中的 Token 已暴露在传输内容中,建议服务方立即撤销并重新生成该 Token。
三、执行步骤与结果

1. 下载指令文档

执行结果:成功。


HTTP 下载成功
文件已保存到本地临时文件
文件大小:18767 bytes


2. 读取 mcp_info.json

按照文档要求,读取第 23–30 行的 JSON 示例。

已确认字段包括:


[*]api_token
[*]public_host
[*]local_host
[*]tls_required
[*]tls_cert


执行结果:失败,停止后续操作。

3. 发现证书链被截断

原始文档第 29 行末尾包含明确的截断标记:


-----BEGIN CERTIFICATE-----
MIIFODCCAyCg...



该内容不是完整 PEM 证书链,无法通过 JSON 解析后得到完整证书文件。

4. 后续步骤

根据文档要求,后续应执行:


[*]保存完整 tls_cert
[*]配置信任证书
[*]写入 Hermes mcp_servers 配置
[*]下载并安装 Skills
[*]重启 Agent
[*]验证 MCP 工具发现和调用


由于证书链不完整,上述步骤均未执行。

四、错误信息

错误步骤

读取服务方提供的 mcp_info.json 示例时,tls_cert 字段不完整。

完整错误证据


... -----BEGIN CERTIFICATE-----\nMIIFODCCAyCg...



可能原因


[*]下载接口返回的文档内容被服务端截断。
[*]文档生成程序对长证书链设置了内容长度限制。
[*]服务方将摘要或示例误当成完整 mcp_info.json 返回。
[*]多张证书组成的完整链未全部写入文档。


五、影响

由于 tls_required 为 true,缺少完整证书链可能导致:


[*]self-signed certificate
[*]unable to verify the first certificate
[*]hostname/IP mismatch
[*]MCP 客户端连接失败
[*]无法确认服务是否安全可信


在证书链不完整的情况下继续配置,可能导致使用不安全的 TLS 绕过方式,因此本次没有使用 NODE_TLS_REJECT_UNAUTHORIZED=0 等方式规避证书验证。

六、建议服务方修复

请服务方重新提供完整、可解析的 mcp_info.json,建议采用以下任一方式:

方案 A:提供独立 JSON 文件

直接提供一个可下载的完整文件,例如:

https://example.com/mcp_info.json

要求:


[*]JSON 可被标准解析器完整解析
[*]tls_cert 包含完整 PEM 证书链
[*]不包含 、... 等摘要标记
[*]Token 建议设置有效期,并支持撤销和重新生成


方案 B:证书单独提供

将 mcp_info.json 与证书链拆分:


{
"api_token": "已脱敏",
"public_host": "https://服务器地址:8765/安全路径/mcp",
"tls_required": true,
"tls_cert_url": "https://example.com/mcp-chain.pem"
}


方案 C:提供证书文件 SHA256

为便于校验,建议同时提供:


[*]证书链文件
[*]SHA256 校验值
[*]证书有效期
[*]证书 SAN 列表


七、安全建议

原始文档中包含 Bearer Token。虽然本报告已经脱敏,但该 Token 已经出现在原始下载内容和聊天记录中,建议:


[*]立即撤销当前 Token。
[*]生成新的 Token。
[*]为 Token 设置有效期和最小权限。
[*]不要把真实 Token 直接放在公开论坛帖子中。
[*]发布论坛时仅保留前后少量字符,例如:


btmcp_LmQk...NmZys

八、结论

本次失败并非 MCP 服务端口无法访问,而是服务方提供的配置文档中 tls_cert 字段被截断,导致无法按原文档安全完成证书处理、MCP 配置和 Skills 安装。

当前状态:


[*]文档下载:成功
[*]配置文件完整解析:失败
[*]证书安装:未执行
[*]Hermes MCP 配置:未修改
[*]Skills 安装:未执行
[*]MCP 连接验证:未执行


请服务方提供完整的 mcp_info.json 或完整证书链后,再继续执行配置流程。

yoer 发表于 2026-8-19 08:57:14

我手动保存提供后仍不能执行:

已读取 `/home/ubuntu/mcp_info.json`。
但文件中的 `tls_cert` 仍然是截断内容,末尾包含:
```text
-----BEGIN CERTIFICATE-----
MIIFODCCAyCg...

```
因此它仍不是完整证书链,无法安全执行后续:
- 写入完整证书文件
- 配置 Hermes MCP
- 安装 Skills
- 连接并验证 MCP
当前已确认:
- JSON 结构可读取
- `api_token`、公网/内网地址、`tls_required` 字段存在
- Token 和证书内容不会在回复中泄露
- 未修改 Hermes 配置
- 未安装证书或 Skills
需要提供完整的 `tls_cert`,删除其中的 `... ` 占位内容后,才能继续执行。由于 Token 已经暴露在本地文件和对话中,也建议服务方重新生成 Token。
页: [1]
查看完整版本: AI Agent 自配置宝塔 MCP 服务失败报告