桃子桃子快讯
返回首页
工具

TinySearch:为本地 AI 代理打造的轻量级 MCP 网页研究工具

TinySearch 是一款开源自托管的 MCP 服务器,为 Cursor、Cline 等本地 AI 代理提供搜索、抓取…

2026.06.30 · 周二4 分钟阅读

TinySearch 是一款面向本地 AI 代理的自托管网页研究工具,以 MCP(Model Context Protocol)服务器的形式提供搜索、抓取、重排序与片段抽取能力,可与 Cursor、Cline、Roo Code、Claude Desktop 等主流 MCP 客户端集成。项目已在 GitHub 开源,配套提供 Docker 镜像与本地源码两种运行方式。

核心能力

TinySearch 的设计目标是让本地 AI 代理获得「有据可查」的网页研究能力,而不是把整页文本塞入上下文窗口。它默认暴露三个 MCP 工具:

  • research(query):用于发现相关 URL,返回经过重排序的候选页面。
  • scrape_url(url, query):当用户已提供 URL,或 research 选定目标后,对指定页面进行抓取与片段抽取。
  • get_current_datetime():在涉及时间敏感的检索前先获取当前时间。

工具调用结束后,服务器会在 MCP 的 answer 字段中返回一个「基于源文」的提示词,客户端模型据此撰写最终回复并附带来源引用。

技术架构

TinySearch 的工作流程分为「搜索选页」与「抓取构句」两个阶段:

  • 搜索阶段:以 SearXNG 为默认搜索引擎,配置 DuckDuckGo HTML 作为回退;候选文档经过 HTTP 过滤后,使用 dense embedding + BM25 加权 RRF(倒数秩融合)进行重排序。
  • 抓取阶段:通过 crawl4ai 并行抓取保留的 URL,输出 Markdown 后切分片段,再次以 RRF 融合排序,并按来源配额去重与补齐,最终拼装成带源引用的提示词。

默认使用本地 ONNX embeddings,开发者也可替换为任何兼容 OpenAI 的 embedding API。

部署与运行

项目支持三种部署形态:

  • Docker Compose 快速启动:从 GitHub 仓库直接加载 compose.quickstart.yaml,自动拉取 marcellm01/tinysearch:latest 镜像,默认以 Streamable HTTP 在 8000 端口提供 /mcp 端点。
  • Docker 持久化部署:通过 Docker volume 缓存已下载的模型,并挂载本地 config 文件(research_config.json),可在其中配置 blocked_domains 等参数。
  • 源码运行:克隆仓库后创建 venv,安装依赖即可以 stdio MCP 方式被客户端拉起,适合需要检查或修改代码的用户。

镜像同时发布 linux/amd64 与 linux/arm64 架构的版本,标签遵循 vX.Y.Z 语义化版本规则。

适用场景

项目作者将使用场景定位为:本地 AI 代理、原型验证、个人工作流以及对「源可追溯」有要求的小型系统。对于不希望依赖托管服务、需要本地完成检索—引用闭环的开发者而言,TinySearch 提供了一个轻量、可自托管的替代方案。仓库还附带 agentic_coding_templates/global-rules-recommended.md,用于指导 Cline、Roo Code 等编码代理仅在确实需要时才调用检索工具。

信源