搜索引擎服务

一个基于SearXNG的MCP服务器,提供多类别、多语言和安全的网络搜索功能。

  • by franktheglock
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 franktheglock/public-mcp

使用说明

SearXNG MCP服务器

一种使用SearXNG提供网络搜索功能的模型上下文协议(MCP)服务器。

特性

  • 🔍 使用SearXNG实例进行Web搜索
  • 🎯 类别过滤(一般、新闻、图像、视频、科学等)
  • 🌍 多语言支持
  • ⏰ 时间范围过滤
  • 🛡️ 安全搜索选项
  • 📊 带有标题、URL、片段和元数据的格式化结果

快速开始

先决条件

  • Node.js 18或更高版本
  • 正在运行的SearXNG实例
  • ngrok(供公众分享)

安装

npm install

配置

服务器在以下位置使用SearXNG实例 http://192.168.1.44:55001 默认情况下。你可以用以下命令覆盖它 SEARXNG_URL 环境变量:

export SEARXNG_URL=http://your-searxng-instance:port

本地运行

npm start

与ngrok公开分享

  1. 如果您还没有安装ngrok:

    npm install -g ngrok
    
  2. 启动MCP服务器:

    npm start
    
  3. 在另一个终端中,通过ngrok暴露它:

    ngrok http 3000
    
  4. 在MCP客户端配置中使用ngrok URL

LM Studio中的用法

供本地使用

将此添加到LM Studio MCP设置中:

{
  "mcpServers": {
    "searxng": {
      "command": "node",
      "args": ["C:\\Users\\claym\\Desktop\\public mcp\\index.js"],
      "env": {
        "SEARXNG_URL": "http://192.168.1.44:55001"
      }
    }
  }
}

供公众/共享使用(通过ngrok)

与他人共享时,他们可以使用此配置:

{
  "mcpServers": {
    "searxng": {
      "command": "npx",
      "args": ["-y", "searxng-mcp-server@latest"]
    }
  }
}

注: 为了使npx版本正常工作,您需要先将其发布到npm。

可用工具

web_search

使用SearXNG搜索网络。

参数:

  • query (必填):搜索查询
  • categories (可选):搜索类别-“一般”、“新闻”、“图片”、“视频”、“科学”等。默认值:“常规”
  • language (可选):语言代码,如“en”、“es”、“fr”。默认值:“en”
  • time_range (可选):按时间筛选-“天”、“周”、“月”、“年”。默认值:所有时间
  • safesearch (可选):安全搜索级别-0(关闭),1(中等),2(严格)。默认值:0

例子:

Search for "latest AI news" in the news category from the past week

发展

项目结构

.
├── index.js          # Main MCP server implementation
├── package.json      # Dependencies and scripts
└── README.md         # This file

测试

您可以使用任何兼容MCP的客户端测试服务器,例如:

  • LM工作室
  • 克劳德桌面版
  • 其他MCP客户端

故障排除

连接问题

如果您无法连接到SearXNG:

  1. 验证您的SearXNG实例是否正在运行: curl http://192.168.1.44:55001
  2. 检查防火墙设置
  3. 确保配置中的URL正确

没有结果

如果搜索未返回结果:

  1. 直接在SearXNG web界面中测试相同的查询
  2. 尝试不同的类别或删除筛选器
  3. 检查SearXNG日志是否有错误

许可证

麻省理工学院