Skip to content

v0.7.0 — MCP 扩展中心

Choose a tag to compare

@Dest1ny-Sec Dest1ny-Sec released this 18 Aug 12:00
· 5 commits to main since this release

v0.7.0 — MCP 扩展中心

外部 MCP server 可在 UI 上一键挂载,工具以 <server>::<tool> 命名空间聚合到 Agent 工具集,与内置 22 个工具并行。改完点"同步到 Agent"即生效,不必重启。

新增

后端 (Go)

  • mcp_servers 表:id / name / url / transport / token / enabled / description / 时间戳
  • MCPServerStore CRUD + ListEnabled(仅启用项,token 暴露给 agent)
  • /api/mcp-servers 全套:list / get / create / update / delete / test / active / reload
    • Token 一次返回:仅 Create 响应含明文;后续 list/get/update 全部 redaction
    • test 端点:发 initialize + tools/list,返回连通性 + 工具列表
    • active 端点:供 agent 启动时拉取(带 token)
    • reload 端点:代理到 /v1/mcp/reload,无 agent 时 503
  • HTTPAgentClient:通过 cfg.Agent 调 agent

Python agent

  • ExternalMCPHub 维护 server→MCPClient 映射
    • 启动时 GET /api/mcp-servers/active 拉启用列表
    • 并行 connect(semaphore=4,单 server 10s 超时),失败隔离
    • 工具命名 <server>::<tool>,与内置 22 个不冲突
  • ToolRegistry 集成:all_tools() 合并 ext + 内置;call() 优先匹配 <server>::<tool>
  • 新端点 POST /v1/mcp/reload:UI 添加新 server 后热加载

前端

  • components/MCPExtensions.vue:列表 / 添加 / 编辑 / 删除 / 测试连接 / 同步到 Agent
  • SettingsView 新增「扩展中心」section
  • Token 仅在 Create 响应明文显示一次,UI 单独高亮可复制
  • 测试结果模态显示 ✓ + 工具数 + 延迟 + 工具名(已 :: 命名空间)

测试

  • Go: 9 个 handler 测试(CRUD / 校验 / 唯一 / test / 失败 / ListEnabled / Active / Reload × 3)
  • Python: 9 个 multi_mcp 测试(命名空间 / 聚合 / 分发 / 失败隔离 / 重载清空 / 端到端)

下载

平台 架构 大小 SHA-256
macOS arm64 (Apple Silicon) 8.5 MB 162b1b46ef26d803fb7e441840d8e648db4cfdf49a39cbc98a4562a163091c28
Linux amd64 8.9 MB 7cfd9e1f3a5f8cc08bc020acce04f93824586ccfe81c03a347fd751afd677818

升级

tar -xzf dhunter-v0.7.0-{platform}.tar.gz
cd dhunter-v0.7.0-{platform}
./start-dhunter.sh start

旧版数据完全兼容(仅新增表,幂等迁移)。