mcpField
D
deepsearch

deepsearch

本地服务
github.com/CloudCorpRecords搜索与检索02 周前更新

关于 deepsearch

deepsearch 是面向 Agent 和命令行用户的 Exa 命令行及 MCP 服务,提供按语义匹配的网页搜索、代码上下文检索和单页抓取,并可设置令牌预算。

主要功能

  1. 01按语义搜索网页
  2. 02检索代码示例与文档上下文
  3. 03抓取指定网页内容
  4. 04设置结果数量与令牌上限

适用场景

  1. 01为研究问题查找相关网页
  2. 02为编程问题收集代码示例
  3. 03获取已知 URL 的页面文本

MCP 相关

stdio MCP 服务向 MCP 客户端提供网页搜索、代码上下文检索和页面抓取工具。使用时需要 Exa API 密钥。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-deepsearch": {
"command": "npx",
"args": [
"-y",
"@reneturcios/deepsearch"
]
}
}
}
启动命令npx -y @reneturcios/deepsearch

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/deepsearch0.1.0
ocighcr.io/cloudcorprecords/deepsearch:0.1.0

工具

3

收录的工具列表 · 更新于 2 周前

参数类型必填说明
querystring是要使用 Exa 执行的网络搜索查询。
numResultsnumber否可选:要返回的搜索结果数量;默认为 8。

详细介绍

deepsearch

deepsearch 会像研究人员一样向 Exa 的神经索引提问。普通搜索会返回与查询含义最匹配的页面,并附上已提取的文本。对于代码问题,则会提供上下文包:从整个 Web 收集示例和文档摘录,并按你指定的令牌预算调整大小。如果你已经知道要找哪个页面,爬取功能会获取该页面并返回其中的文字。它可以通过命令行运行,也可以作为供 Agent 使用的 MCP 服务运行。

此工具需要 Exa API 密钥。将密钥放入 EXA_API_KEY 环境变量;密钥会作为 x-api-key 标头发送给 API,且绝不会出现在输出中。如果缺少此变量,所有操作都会失败,并显示指出该变量的错误。

安装

npx @reneturcios/deepsearch search "vector index tradeoffs"

也可以运行容器映像:

docker run -i -e EXA_API_KEY ghcr.io/cloudcorprecords/deepsearch

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

CLI

export EXA_API_KEY="your api key"

# Web search; --num-results defaults to 8
deepsearch search "ferry electrification programs"
deepsearch search "ferry electrification programs" --num-results 5

# Code context; --tokens sets the budget (1000-50000, default 5000)
deepsearch code "React useState hook examples" --tokens 3000

# Fetch one page in full
deepsearch crawl https://example.com/some/article
deepsearch crawl https://example.com/some/article --tokens 2000

# Machine-readable output for any command
deepsearch search "ferry electrification programs" --json

deepsearch --version

退出代码:成功时为 0;操作失败时为 1(包括缺少 EXA_API_KEY 或发生 API 错误);用法错误时为 2。

MCP 服务

同一个可执行文件支持这两种模式。mcp 子命令会启动一个 stdio MCP 服务:

npx -y @reneturcios/deepsearch mcp

MCP 客户端配置:

{
  "mcpServers": {
    "deepsearch": {
      "command": "npx",
      "args": ["-y", "@reneturcios/deepsearch", "mcp"],
      "env": { "EXA_API_KEY": "your api key" }
    }
  }
}
工具

以下是原始服务默认启用的工具:

工具输入返回内容
web_search_exaquery(字符串,必需),numResults(数字,可选,默认值为 8)以编号文本块形式返回匹配页面:标题、URL、已知时的发布日期等信息,以及 API 提供的页面文本。
get_code_context_exaquery(字符串,必需),tokensNum(数字,可选,1000–50000,默认值为 5000)返回与问题相关的代码示例和文档摘录,每项标明来源,并按令牌预算裁剪。
crawling_exaurl(字符串,必需),tokensNum(数字,可选,默认值为 5000)返回该页面的完整文本,附带标题,并按令牌预算裁剪。

令牌预算会限制在文档所述的 1000–50000 范围内,并按每个令牌约四个字符应用。若结果集为空,会明确报告;若 API 无法获取页面、缺少密钥或 API 调用失败,则会报告工具错误。

开发

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

许可证

MIT — 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。