Searxng MCP服务器

为AI助手提供通过Searxng实例进行网页搜索和内容读取的MCP服务器。

  • by denysvitali
  • Go
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 denysvitali/searxng-mcp

使用说明

searxng mcp

Searxng的MCP(模型上下文协议)服务器-使AI助手能够通过Searxng实例搜索网络和阅读网页内容。

概述

此MCP服务器为AI助手提供了两个工具:

  • 搜索引擎:使用Searxng搜索网络并返回结构化结果
  • searxng_read:从URL获取网页内容并将其转换为Markdown
    • Reddit线程URL通过Reddit的JSON端点获取,并呈现为可读的Markdown
    • GitHub问题/PR URL通过GitHub API端点(问题/PR数据+注释)获取,并呈现为结构化Markdown

安装

去安装(推荐)

使用Go安装最新版本:

go install github.com/denysvitali/searxng-mcp@v0.0.7

这将安装 searxng-mcp 二进制到你的 GOPATH/bin 目录(通常 ~/go/bin/).确保此目录位于您的 PATH.

预构建二进制文件

从以下位置下载适用于您平台的预构建二进制文件 GitHub发布 页面。

下载适用于您的操作系统和架构的适当存档,解压缩它,并将二进制文件放置在PATH中。

源自

git clone https://github.com/denysvitali/searxng-mcp.git
cd searxng-mcp
go build -o searxng-mcp .
sudo cp searxng-mcp /usr/local/bin/

MCP配置

克劳德代码

使用Claude CLI添加MCP服务器:

claude mcp add searxng --scope user -- searxng-mcp serve --instance-url https://your-searxng-instance.example.com

工具参考

搜索引擎

使用Searxng搜索网络并返回有限的结果。

参数:

参数 类型 必填 说明
query string 是 搜索查询字符串
limit number 否 结果数(默认值:5,最小值:1,最大值:20)
time_range string 否 按时间筛选:“天”、“月”、“年”
category string 否 搜索类别:“一般”、“图片”、“视频”、“新闻”、“地图”、“音乐”、“it”、“科学”
page number No 分页页码(默认值:1)

例子:

{
  "query": "Go MCP server tutorial",
  "limit": 10,
  "time_range": "month",
  "category": "general"
}

searxng_read

从URL获取并读取内容,将HTML转换为Markdown。

专业行为:

  • Reddit帖子URL(reddit.com/.../comments/...)使用 .json 用于更好地提取内容的端点。
  • GitHub问题/PR URL(github.com/{owner}/{repo}/issues/{n} 和 .../pull/{n})使用GitHub API数据,并在呈现的Markdown中包含注释。
  • 所有其他URL都使用通用的HTML到Markdown转换。

参数:

参数 类型 必填 说明
url string 是 要获取和读取的URL

例子:

{
  "url": "https://example.com/article"
}

配置

命令行选项

标志 环境变量 默认值 描述
--instance-url SEARXNG_URL https://searxng.example.com Searxng实例库URL
--log-level LOG_LEVEL info 日志级别:调试、信息、警告、错误
--timeout SEARXNG_TIMEOUT 30s HTTP请求超时

环境变量

  • SEARXNG_URL -Searxng实例的基本URL
  • SEARXNG_TIMEOUT -请求超时(例如,“30s”、“1m”)
  • LOG_LEVEL -日志记录级别(调试、信息、警告、错误)

示例

使用环境变量:

export SEARXNG_URL="https://searxng.example.com"
export SEARXNG_TIMEOUT="60s"
export LOG_LEVEL="debug"
searxng-mcp serve

使用命令行标志:

searxng-mcp serve \
  --instance-url "https://searxng.example.com" \
  --timeout 60s \
  --log-level debug

设置Searxng

如果你没有Searxng实例,你可以使用Docker运行一个:

docker run -d \
  --name searxng \
  -p 8080:8080 \
  -v ./searxng:/etc/searxng \
  searxng/searxng

然后在MCP服务器中配置基本URL:

searxng-mcp serve --instance-url "http://localhost:8080"

许可证

麻省理工学院