前言¶
在 DeepSeek Harness(DSH)里让智能体查网页、抽正文或做结构化检索,常见做法是本地起 MCP 进程或自己拼 HTTP 客户端。Tavily 提供托管 MCP 端点,但 Harness 侧仍需要有人把凭证、连接方式和工具注册接到 Cordis 插件体系里。下面介绍社区插件 dsh-tavily-mcp:它把 Tavily 的远程 MCP 挂到 DSH 内置的 @deepseek-ai/dsh-mcp-client 上,API Key 只走凭证存储,不写进 cordis.patch.yml。
这是什么¶
dsh-tavily-mcp 由维护者 NingYuanLee 发布,MIT 许可,属于 DSH 社区第三方插件(非 DeepSeek、非 Tavily 官方产品)。一句话定位:连接 Tavily 托管 MCP 服务,注册该服务发布的工具,供智能体在会话中调用。
插件分类为联网工具。当前 package 版本为 0.1.0;在 SkillHub 目录页可见,GitHub 仓库为 NingYuanLee/dsh-tavily-mcp。
核心功能¶
智能体可在不启动本地 npx 进程的情况下调用 Tavily。插件从 DSH 凭证库读取 API Key,交给内置 MCP 客户端建立 Streamable HTTP 连接。
发布时远端工具包括 search、extract、crawl、map、research,在 Harness 中显示为 mcp__tavily__*(默认 serverName 为 tavily)。工具名、参数 schema 与返回结果均由 Tavily 服务端定义,本插件不重复实现业务逻辑。
若凭证为空,插件仍会加载,但不注册任何 Tavily 工具;保存凭证后会重新连接。凭证名变更触发 credentials/reference-updated 时,插件会销毁旧子客户端并再次连接。单次工具调用超时为 3 分钟;连接断开时由 MCP 客户端自身的重连策略处理。
工作原理(简要)¶
- 通过
ctx.credentials解析apiKeyEnv(默认TAVILY_API_KEY);凭证库优先于进程环境变量。 - 使用上述 Key 作为
tavilyApiKey查询参数,并以Authorization: Bearer请求https://mcp.tavily.com/mcp(可通过配置改url)。 - 挂载一个
@deepseek-ai/dsh-mcp-client子实例,对外暴露远端工具。 - 同一凭证名更新时,dispose 后重连。
安装与启用¶
先在 Tavily 创建 API Key,再在插件设置里配置名为 TAVILY_API_KEY 的凭证,或在启动 DeepSeek Harness 的环境中导出同名环境变量。
从插件源安装(README 给出的命令):
dsh plugin --profile web add dsh-tavily-mcp
若从 GitHub 引用安装:
dsh plugin --profile web add github:NingYuanLee/dsh-tavily-mcp
包声明了 dsh.bundle.patch,dsh plugin add 会把 bundle 写入对应 profile。若当前会话里看不到工具,需要重启 DeepSeek Harness。
兼容范围(来自 README):DSH >=0.2.1-rc.2 <0.3.0-0,Node >=22.19.0;依赖 credentials、tools 以及自带的 @deepseek-ai/dsh-mcp-client。
配置¶
| 字段 | 默认值 | 含义 |
|---|---|---|
apiKeyEnv |
TAVILY_API_KEY |
凭证引用名;密钥值不保存在此配置中 |
url |
https://mcp.tavily.com/mcp |
远程 MCP 端点,仅 http/https,不含 user info |
serverName |
tavily |
工具命名空间:mcp__<serverName>__<tool>,需匹配 [A-Za-z0-9_-]{1,32} 且与同 scope 内其他 MCP 客户端不冲突 |
Cordis 行 id 为 tavily-mcp,包名为 dsh-tavily-mcp。覆盖配置时注意:后续 patch 会替换整个 config 对象,需保留仍要使用的字段。示例:
- id: tavily-mcp
config:
apiKeyEnv: TAVILY_API_KEY
url: https://mcp.tavily.com/mcp
serverName: tavily
典型用法¶
安装并完成凭证配置、必要时重启 Harness 后,智能体在工具列表中应能看到 mcp__tavily__* 系列工具,并按 Tavily MCP 文档定义的参数发起 search、extract、crawl、map 或 research 调用。README 未单独给出对话示例;行为以远端 MCP 工具 schema 为准。
卸载时断开 MCP 并取消工具注册,不会删除 TAVILY_API_KEY 凭证:
dsh plugin --profile <name> remove dsh-tavily-mcp
适用场景与注意¶
适合已在 DSH 中开发智能体、希望用 Tavily 做联网检索与页面处理、且不想在本地维护 MCP 子进程的团队。插件以当前 DSH 进程权限运行;安装前应阅读源码与 MIT 许可证,并理解第三方社区插件与 DeepSeek / 幻方无官方从属关系,SkillHub 目录为独立社区站点。
安全方面(README / SECURITY 要点):Key 仅发往配置的 endpoint,且会出现在 URL 中;HTTP 或 MCP 客户端的错误信息可能包含该 URL,应视为敏感信息。搜索词、页面 URL、crawl 指令会发送给 Tavily。插件不 spawn 进程,也不直接读取凭证文件。
排错:mcp__tavily__* 未出现时,检查 apiKeyEnv 对应凭证是否为空、服务端是否拒绝 Key、或 serverName tavily 是否已被其他 MCP 客户端占用(可改 serverName,工具前缀随之变化)。crawl、research 较慢时可能触达 3 分钟单次调用上限(0.1.0 中不可配置)。
结尾¶
dsh-tavily-mcp 把 Tavily 托管 MCP 与 DSH 凭证、内置 MCP 客户端串成一条可维护的接入路径,Key 不进 patch 文件,工具由远端注册。目录页:skillhub.cn/plugins/NingYuanLee/dsh-tavily-mcp;源码与完整说明:github.com/NingYuanLee/dsh-tavily-mcp。