Token导航 LogoToken导航

MCP Server · 搜索检索

Open Search

一个完整的开源搜索基础设施,可替代商业API,支持Kubernetes/Docker部署和MCP服务器集成,提供元搜索引擎、高级网络爬取和AI代理访问功能。

未说明官方级别未说明来源级核验工具 4
PythonClaude搜索Claude DesktopCursor

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
Bionic-AI-Solutions
提供方
Bionic-AI-Solutions

工具数量

4

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

2

仓库热度

收录来源

1 个

MCP World

选型结论

Open Search 属于搜索检索类 MCP Server,公开资料标注 4 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude、Cursor,没有现成的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

未说明

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 4 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

集成MCP的OSS搜索基础架构

完整的开源搜索基础设施,通过在Kubernetes/Docker和MCP服务器集成上部署来取代商业API(Tavily、Brave search、Serper)。

📋 目录

🎯 概述

该项目提供了一个生产就绪的自托管搜索基础设施,包括:

  • SearXNG:元搜索引擎聚合来自70多个搜索引擎的结果
  • Crawl4AI:使用AI驱动的内容提取进行高级网络爬行
  • 瑞迪斯:高性能缓存层
  • MCP服务器:FastMCP(Python)服务器将搜索和抓取工具暴露给AI代理
  • PostgreSQL:可选分析数据库

主要优势

✅ 隐私:无跟踪,完全数据控制\ ✅ 成本效益高:无限制搜索与每次查询API定价\ ✅ 可定制的:完全控制搜索引擎和提取策略\ ✅ 可扩展的:Kubernetes支持自动扩展\ ✅ 人工智能原生:MCP集成,实现无缝AI代理访问

🏗️ 建筑

Client Apps → FastMCP Server (Python) → SearXNG / Crawl4AI → External Search Engines
                                      → Redis Cache (optional)

简单、干净、生产就绪!

📦 先决条件

必需

  • Docker 24.0+
  • Docker编写2.20+或Kubernetes 1.27+
  • 最低4GB RAM(建议8GB)
  • 20GB磁盘空间

可选的

  • kubectl(用于Kubernetes部署)
  • Node.js 20+(用于本地MCP开发)
  • Python 3.11+(用于Crawl4AI开发)

🚀 快速开始

选项1:自动设置(推荐)

# Clone or download the project files
cd oss-search-infrastructure

# Make setup script executable
chmod +x setup.sh

# Run setup
./setup.sh

脚本将:

  1. 检查先决条件
  2. 创建目录结构
  3. 生成安全机密
  4. 构建Docker镜像
  5. 启动所有服务
  6. 显示访问信息

选项2:手动设置

# 1. Create necessary files (if not already present)
mkdir -p searxng crawl4ai-service mcp-server nginx postgres

# 2. Set environment variables
cp .env.example .env
# Edit .env with your values

# 3. Build and start services
docker-compose build
docker-compose up -d

# 4. Check service health
docker-compose ps
docker-compose logs -f

验证

服务运行后,测试每个组件:

# Test SearXNG
curl "http://localhost:8080/search?q=test&format=json"

# Test Crawl4AI
curl -X POST http://localhost:8000/crawl \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com"}'

# Test Redis
docker exec -it redis-cache redis-cli ping

# Test MCP Server
curl http://localhost:8000/health

🔧 组件详情

SearXNG(港口8080)

元搜索引擎,查询多个搜索引擎并聚合结果。

特征:

  • 70+支持的搜索引擎
  • 用于编程访问的JSON API
  • 注重隐私(无跟踪)
  • 可定制的排名

配置: searxng/settings.yml

Crawl4AI(端口8000)

具有人工智能内容提取功能的高级网络爬虫。

特征:

  • 通过Playwright进行JavaScript渲染
  • 多种提取策略(自动、LLM、余弦)
  • 屏幕截图
  • 媒体提取
  • 缓存支持

API终点:

  • POST /crawl -单URL爬网
  • POST /crawl/batch -批量爬行
  • GET /result/{job_id} -检索结果
  • GET /health -健康检查

MCP服务器(端口8000)

FastMCP(Python)服务器通过模型上下文协议将搜索基础设施暴露给AI代理。

工具:

  • web_search -使用SearXNG搜索网络
  • web_crawl -使用Crawl4AI对URL进行深度抓取
  • extract_content -从页面中提取特定内容
  • analyze_search_results -分析搜索结果并对其进行排名

看: MCP文件 了解详情。

Redis(端口6379)

搜索结果和爬网内容的内存缓存。

配置:

  • 搜索缓存TTL:1小时(可配置)
  • 爬网缓存TTL:24小时(可配置)
  • 最大内存:512MB(可配置)
  • 驱逐策略:所有密钥lru

🤖 MCP服务器

快速开始

MCP服务器已部署并正在运行。看 MCP文件 用于:

  • 快速入门指南
  • 客户端配置
  • 网关设置
  • 工具文档

配置MCP客户端

对于Cursor/Claude Desktop或其他MCP客户端:

{
  "mcpServers": {
    "oss-search": {
      "transport": "sse",
      "url": "http://192.168.0.220:8000/sse"
    }
  }
}

对于Kubernetes(内部):

{
  "mcpServers": {
    "oss-search": {
      "transport": "sse",
      "url": "http://mcp-server-fastmcp.search-infrastructure.svc.cluster.local:8000/sse"
    }
  }
}

使用工具

配置后,AI代理可以使用搜索工具:

示例:网络搜索

User: "Search for recent AI developments"
Agent: [Calls web_search tool]
       {
         "query": "recent AI developments 2024",
         "engines": ["google", "duckduckgo"],
         "language": "en"
       }

示例:Web爬网

User: "Get the full content from this article: https://example.com/article"
Agent: [Calls web_crawl tool]
       {
         "url": "https://example.com/article",
         "extraction_strategy": "llm",
         "screenshot": false
       }

🚢 部署选项

Docker Compose(开发/小规模)

已配置!只需运行:

docker-compose up -d

赞成的意见:

  • 简单设置
  • 资源开销低
  • 易于调试

欺骗:

  • 单主机限制
  • 无内置自动缩放功能
  • 手动高可用性

Kubernetes(生产)

全面的Kubernetes清单在 k8s/ 目录。

部署到Kubernetes:

# Create namespace
kubectl apply -f k8s/namespace.yaml

# Create secrets
kubectl create secret generic search-secrets \
  --from-literal=searxng-secret=$(openssl rand -hex 32) \
  --from-literal=db-password=$(openssl rand -hex 16) \
  -n search-infrastructure

# Deploy services
kubectl apply -f k8s/deployments/
kubectl apply -f k8s/services/
kubectl apply -f k8s/ingress/

# Check status
kubectl get pods -n search-infrastructure
kubectl get svc -n search-infrastructure

赞成的意见:

  • 自动缩放
  • 自我修复
  • 负载平衡
  • 多主机部署

监控:

# View logs
kubectl logs -f -n search-infrastructure deployment/mcp-server-fastmcp

# Scale deployment
kubectl scale deployment mcp-server-fastmcp --replicas=5 -n search-infrastructure

# View resource usage
kubectl top pods -n search-infrastructure

⚙️ 配置

环境变量

关键环境变量 .env:

# SearXNG
SEARXNG_SECRET=your-secret-key-here

# Database
DB_PASSWORD=your-db-password

# Cache TTLs (seconds)
CACHE_TTL_SEARCH=3600      # 1 hour
CACHE_TTL_CRAWL=86400      # 24 hours

# MCP Server
NODE_ENV=production
LOG_LEVEL=info

SearXNG发动机

在中启用/禁用搜索引擎 searxng/settings.yml:

engines:
  - name: google
    engine: google
    shortcut: go
    # disabled: false
    
  - name: brave
    engine: brave
    shortcut: br
    # disabled: false

速率限制

在中配置 searxng/limiter.toml:

[botdetection.ip_limit.link_token]
suspicious_ip_window = 60
suspicious_ip_max = 3

📊 API使用

SearXNG API

基本搜索:

curl "http://localhost:8080/search?q=kubernetes&format=json"

高级搜索:

curl "http://localhost:8080/search" \
  -G \
  --data-urlencode "q=machine learning" \
  --data-urlencode "engines=google,duckduckgo" \
  --data-urlencode "categories=general" \
  --data-urlencode "language=en" \
  --data-urlencode "format=json"

Crawl4AI API

简单爬行:

curl -X POST http://localhost:8000/crawl \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "extraction_strategy": "auto"
  }'

高级爬行:

curl -X POST http://localhost:8000/crawl \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "extraction_strategy": "llm",
    "chunking_strategy": "markdown",
    "screenshot": true,
    "wait_for": "css:.main-content",
    "timeout": 30
  }'

批量爬网:

curl -X POST http://localhost:8000/crawl/batch \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://example1.com",
      "https://example2.com"
    ],
    "extraction_strategy": "auto"
  }'

📈 监控

日志

查看所有日志:

docker-compose logs -f

查看具体服务:

docker-compose logs -f mcp-server
docker-compose logs -f searxng
docker-compose logs -f crawl4ai

指标

连接到Redis Commander(调试模式):

docker-compose --profile debug up -d redis-commander
# Access at http://localhost:8081

PostgreSQL分析

连接到PostgreSQL并运行分析查询:

docker exec -it search-analytics psql -U searchuser -d search_analytics
-- View search statistics
SELECT * FROM search_stats LIMIT 10;

-- View popular queries
SELECT * FROM popular_queries LIMIT 20;

-- View crawl job status
SELECT status, COUNT(*) 
FROM crawl_jobs 
GROUP BY status;

🔍 故障排除

服务无法启动

检查日志:

docker-compose logs [service-name]

常见问题:

  • 端口冲突:更改中的端口 docker-compose.yml
  • 内存限制:增加Docker内存分配
  • 缺少文件:确保所有配置文件都存在

SearXNG未返回任何结果

可能的原因:

  1. 搜索引擎正在阻止请求
  2. 超出费率限制
  3. 网络连接问题

解决:

# Check SearXNG logs
docker-compose logs searxng

# Test search engines individually
curl "http://localhost:8080/search?q=test&engines=duckduckgo&format=json"

# Restart SearXNG
docker-compose restart searxng

Crawl4AI超时

增加超时时间:

# In crawl request
{
  "url": "https://example.com",
  "timeout": 60  # Increase from default 30
}

检查浏览器安装:

docker exec -it crawl4ai-service playwright install chromium

Redis连接错误

检查Redis状态:

docker exec -it redis-cache redis-cli ping
# Should return: PONG

清除缓存:

docker exec -it redis-cache redis-cli FLUSHALL

内存使用率高

检查容器统计信息:

docker stats

解决:

  • 减少缓存TTL
  • 限制并发爬网
  • 水平而非垂直缩放

📚 额外资源

文档文件

  • oss-search-architecture.md -完整的架构文档
  • docker-compose.yml -Docker编写配置
  • k8s/ -Kubernetes清单
  • mcp-server-fastmcp/ -FastMCP服务器(Python)- 活跃的
  • docs/mcp/ -MCP服务器文档
  • crawl4ai-service/ -Crawl4AI服务包装器

外部链接

🤝 贡献

欢迎投稿!拜托:

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 彻底测试
  5. 提交拉取请求

📄 许可证

这个项目是开源的,可以在MIT许可证下使用。

🆘 支持

对于问题和疑问:

  1. 检查故障排除部分
  2. 审核日志: docker-compose logs
  3. 在GitHub上打开一个问题

🎉 致谢

  • SearXNG团队为优秀的元搜索引擎
  • Crawl4AI用于强大的网络爬行库
  • MCP规范的拟人化
  • 开源社区

______________________________________________________________________

内置于❤️ 面向开源社区

工具与能力

工具数量

4

资源数量

0

提示词数量

0

能力标签

开源搜索Python本地部署元搜索引擎网络爬取AI代理Kubernetes部署

支持客户端

Claude DesktopClaudeCursor

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 4 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Open Search

MCP World · 本页

4未说明未标注1 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Open Search 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Open Search 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Open Search 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Open Search 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Open Search 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP