一个实现了MCP服务器,并集成了SearXNG API的实现,提供网络搜索能力。
<a href="https://glama.ai/mcp/servers/0j7jjyt7m9"><img width="380" height="200" src="https://gips2.baidu.com/it/u=1793217972,2735728138&fm=3081&app=3081&f=PNG?w=760&h=400" alt="SearXNG Server MCP 服务器" /></a>
searxng_web_search
query (字符串):搜索查询。此字符串传递给外部搜索服务。pageno (数字,可选):搜索页码,从1开始(默认值为1)time_range (字符串,可选):按时间段筛选结果 - 其中之一:"day","month","year"(默认值:无)language (字符串,可选):结果的语言代码(例如:"en","fr","de")或"all"(默认值:"all")safesearch (数字,可选):安全搜索过滤级别(0:无,1:适度,2:严格)(默认值:实例设置)web_url_read
url (字符串):要获取和处理的URLstartChar (数字,可选):内容提取的起始字符位置(默认值:0)maxLength (数字,可选):返回的最大字符数section (字符串,可选):在特定标题下提取内容(搜索标题文本)paragraphRange (字符串,可选):返回特定段落范围(例如:"1-5","3","10-")readHeadings (布尔值,可选):仅返回标题列表而不是全文内容SEARXNG_URL:SearXNG 实例的URL(默认值:http://localhost:8080)
<协议>://<主机名>[:<端口>]https://search.example.comAUTH_USERNAME / AUTH_PASSWORD:密码保护实例的HTTP基本认证凭据USER_AGENT:自定义User-Agent头(例如:MyBot/1.0)HTTP_PROXY / HTTPS_PROXY:用于路由流量的代理URL
http://[用户名:密码@]代理主机:端口NO_PROXY:逗号分隔的绕过列表(例如:localhost,.internal,example.com){
"mcpServers": {
"searxng": {
"command": "npx",
"args": ["-y", "mcp-searxng"],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}
<details>
<summary>完整配置示例(所有选项)</summary>
{
"mcpServers": {
"searxng": {
"command": "npx",
"args": ["-y", "mcp-searxng"],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL",
"AUTH_USERNAME": "your_username",
"AUTH_PASSWORD": "your_password",
"USER_AGENT": "MyBot/1.0",
"HTTP_PROXY": "http://proxy.company.com:8080",
"HTTPS_PROXY": "http://proxy.company.com:8080",
"NO_PROXY": "localhost,127.0.0.1,.local,.internal"
}
}
}
}
注意:根据需要混合使用环境变量。所有可选变量可以独立或一起使用。
</details>npm install -g mcp-searxng
{
"mcpServers": {
"searxng": {
"command": "mcp-searxng",
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}
<details>
<summary>完整配置示例(所有选项)</summary>
{
"mcpServers": {
"searxng": {
"command": "mcp-searxng",
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL",
"AUTH_USERNAME": "your_username",
"AUTH_PASSWORD": "your_password",
"USER_AGENT": "MyBot/1.0",
"HTTP_PROXY": "http://proxy.company.com:8080",
"HTTPS_PROXY": "http://proxy.company.com:8080",
"NO_PROXY": "localhost,127.0.0.1,.local,.internal"
}
}
}
}
</details>
docker pull isokoliuk/mcp-searxng:latest
{
"mcpServers": {
"searxng": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "SEARXNG_URL",
"isokoliuk/mcp-searxng:latest"
],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL"
}
}
}
}
<details>
<summary>完整配置示例(所有选项)</summary>
{
"mcpServers": {
"searxng": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "SEARXNG_URL",
"-e", "AUTH_USERNAME",
"-e", "AUTH_PASSWORD",
"-e", "USER_AGENT",
"-e", "HTTP_PROXY",
"-e", "HTTPS_PROXY",
"-e", "NO_PROXY",
"isokoliuk/mcp-searxng:latest"
],
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL",
"AUTH_USERNAME": "your_username",
"AUTH_PASSWORD": "your_password",
"USER_AGENT": "MyBot/1.0",
"HTTP_PROXY": "http://proxy.company.com:8080",
"HTTPS_PROXY": "http://proxy.company.com:8080",
"NO_PROXY": "localhost,127.0.0.1,.local,.internal"
}
}
}
}
注意:只添加你需要的 -e 标志和环境变量。
docker build -t mcp-searxng:latest -f Dockerfile .
使用上述相同的配置,将 isokoliuk/mcp-searxng:latest 替换为 mcp-searxng:latest。
创建一个 docker-compose.yml 文件:
services:
mcp-searxng:
image: isokoliuk/mcp-searxng:latest
stdin_open: true
environment:
- SEARXNG_URL=YOUR_SEARXNG_INSTANCE_URL
# 根据需要添加任何可选变量:
# - AUTH_USERNAME=your_username
# - AUTH_PASSWORD=your_password
# - USER_AGENT=MyBot/1.0
# - HTTP_PROXY=http://proxy.company.com:8080
# - HTTPS_PROXY=http://proxy.company.com:8080
# - NO_PROXY=localhost,127.0.0.1,.local,.internal
然后配置你的MCP客户端:
{
"mcpServers": {
"searxng": {
"command": "docker-compose",
"args": ["run", "--rm", "mcp-searxng"]
}
}
}
该服务器支持STDIO(默认)和HTTP传输。设置 MCP_HTTP_PORT 启用HTTP模式。
{
"mcpServers": {
"searxng-http": {
"command": "mcp-searxng",
"env": {
"SEARXNG_URL": "YOUR_SEARXNG_INSTANCE_URL",
"MCP_HTTP_PORT": "3000"
}
}
}
}
HTTP端点:
POST/GET/DELETE /mcpGET /health测试:
MCP_HTTP_PORT=3000 SEARXNG_URL=http://localhost:8080 mcp-searxng
curl http://localhost:3000/health
SEARXNG_URL=YOUR_URL OPENAI_API_KEY=your-key npx mcp-eval evals.ts src/index.ts
我们欢迎贡献!请遵循以下指南:
编码标准:
工作流程:
分叉并克隆:
git clone https://github.com/YOUR_USERNAME/mcp-searxng.git
cd mcp-searxng
git remote add upstream https://github.com/ihor-sokoliuk/mcp-searxng.git
设置:
npm install
npm run watch # 开发模式,带文件监视
开发:
git checkout -b feature/your-feature-name
# 在src/中进行更改
npm run build
npm test
npm run test:coverage
npm run inspector
提交:
git commit -m "feat: 描述"
git push origin feature/your-feature-name
# 在GitHub上创建PR
npm test # 运行所有测试
npm run test:coverage # 生成覆盖率报告
npm run test:watch # 监视模式
覆盖率: 100%的成功率,全面的单元测试覆盖了错误处理、类型、代理配置、资源和日志记录。
此MCP服务器采用MIT许可证。这意味着你可以自由地使用、修改和分发软件,但须遵守MIT许可证的条款和条件。更多详情,请参见项目仓库中的LICENSE文件。 </中文翻译>