SearXNG MCP Server
SearXNG - A2A | AG-UI | MCP
Версия: 0.1.56
Обзор
SearXNG MCP Server + A2A Server
Включает сервер протокола контекста модели (MCP) и готового к использованию агента Agent2Agent (A2A).
Выполняйте конфиденциальный веб-поиск с помощью SearXNG через MCP-сервер!
Этот репозиторий активно поддерживается — мы приветствуем ваш вклад!
Поддерживает:
Конфиденциальный метапоиск
Настраиваемые параметры поиска (язык, временной диапазон, категории, движки)
Уровни безопасного поиска
Управление пагинацией
Поддержку базовой аутентификации
Выбор случайного экземпляра
MCP
Инструменты MCP
Имя функции | Описание | Тег(и) |
| Выполняет веб-поиск с использованием SearXNG, метапоисковой системы, уважающей конфиденциальность. Возвращает релевантный веб-контент с настраиваемыми параметрами. |
|
Использование в качестве MCP-сервера
MCP-сервер может работать в двух режимах: stdio (для локального тестирования) или http (для сетевого доступа). Чтобы запустить сервер, используйте следующие команды:
Запуск в режиме stdio (по умолчанию):
searxng-mcp --transport "stdio"Запуск в режиме HTTP:
searxng-mcp --transport "http" --host "0.0.0.0" --port "8000"AI Prompt:
Search for information about artificial intelligenceAI Response:
Search completed successfully. Found 10 results for "artificial intelligence":
1. **What is Artificial Intelligence?**
URL: https://example.com/ai
Content: Artificial intelligence (AI) refers to the simulation of human intelligence in machines...
2. **AI Overview**
URL: https://example.org/ai-overview
Content: AI encompasses machine learning, deep learning, and more...Агент A2A
Этот пакет также включает сервер агента A2A, который можно использовать для взаимодействия с MCP-сервером SearXNG.
Архитектура:
---
config:
layout: dagre
---
flowchart TB
subgraph subGraph0["Agent Capabilities"]
C["Agent"]
B["A2A Server - Uvicorn/FastAPI"]
D["MCP Tools"]
F["Agent Skills"]
end
C --> D & F
A["User Query"] --> B
B --> C
D --> E["Platform API"]
C:::agent
B:::server
A:::server
classDef server fill:#f9f,stroke:#333
classDef agent fill:#bbf,stroke:#333,stroke-width:2px
style B stroke:#000000,fill:#FFD600
style D stroke:#000000,fill:#BBDEFB
style F fill:#BBDEFB
style A fill:#C8E6C9
style subGraph0 fill:#FFF9C4Диаграмма взаимодействия компонентов
sequenceDiagram
participant User
participant Server as A2A Server
participant Agent as Agent
participant Skill as Agent Skills
participant MCP as MCP Tools
User->>Server: Send Query
Server->>Agent: Invoke Agent
Agent->>Skill: Analyze Skills Available
Skill->>Agent: Provide Guidance on Next Steps
Agent->>MCP: Invoke Tool
MCP-->>Agent: Tool Response Returned
Agent-->>Agent: Return Results Summarized
Agent-->>Server: Final Response
Server-->>User: OutputИспользование
MCP CLI
Краткий флаг | Длинный флаг | Описание |
-h | --help | Отобразить справочную информацию |
-t | --transport | Метод транспорта: 'stdio', 'http' или 'sse' [устаревший] (по умолчанию: stdio) |
-s | --host | Адрес хоста для HTTP-транспорта (по умолчанию: 0.0.0.0) |
-p | --port | Номер порта для HTTP-транспорта (по умолчанию: 8000) |
--auth-type | Тип аутентификации: 'none', 'static', 'jwt', 'oauth-proxy', 'oidc-proxy', 'remote-oauth' (по умолчанию: none) | |
--token-jwks-uri | JWKS URI для проверки JWT | |
--token-issuer | Эмитент для проверки JWT | |
--token-audience | Аудитория для проверки JWT | |
--oauth-upstream-auth-endpoint | Исходящая точка авторизации для OAuth Proxy | |
--oauth-upstream-token-endpoint | Исходящая точка токена для OAuth Proxy | |
--oauth-upstream-client-id | Исходящий ID клиента для OAuth Proxy | |
--oauth-upstream-client-secret | Исходящий секрет клиента для OAuth Proxy | |
--oauth-base-url | Базовый URL для OAuth Proxy | |
--oidc-config-url | URL конфигурации OIDC | |
--oidc-client-id | ID клиента OIDC | |
--oidc-client-secret | Секрет клиента OIDC | |
--oidc-base-url | Базовый URL для OIDC Proxy | |
--remote-auth-servers | Список серверов авторизации через запятую для Remote OAuth | |
--remote-base-url | Базовый URL для Remote OAuth | |
--allowed-client-redirect-uris | Список разрешенных URI перенаправления клиента через запятую | |
--eunomia-type | Тип авторизации Eunomia: 'none', 'embedded', 'remote' (по умолчанию: none) | |
--eunomia-policy-file | Файл политики для встроенного Eunomia (по умолчанию: mcp_policies.json) | |
--eunomia-remote-url | URL для удаленного сервера Eunomia |
A2A CLI
Эндпоинты
Web UI:
http://localhost:8000/(если включен)A2A:
http://localhost:8000/a2a(Обнаружение:/a2a/.well-known/agent.json)AG-UI:
http://localhost:8000/ag-ui(POST)
Краткий флаг | Длинный флаг | Описание | |
-h | --help | Отобразить справочную информацию | |
--host | Хост для привязки сервера (по умолчанию: 0.0.0.0) | ||
--port | Порт для привязки сервера (по умолчанию: 9000) | ||
--reload | Включить автоперезагрузку | ||
--provider | Провайдер LLM: 'openai', 'anthropic', 'google', 'huggingface' | ||
--model-id | ID модели LLM (по умолчанию: nvidia/nemotron-3-super) | ||
--base-url | Базовый URL LLM (для провайдеров, совместимых с OpenAI) | ||
--api-key | API-ключ LLM | ||
--mcp-url | URL MCP-сервера (по умолчанию: http://localhost:8000/mcp) | ||
--web | Включить Pydantic AI Web UI | False (Env: ENABLE_WEB_UI) |
Использование в качестве MCP-сервера
MCP-сервер может работать в двух режимах: stdio (для локального тестирования) или http (для сетевого доступа). Чтобы запустить сервер, используйте следующие команды:
Запуск в режиме stdio (по умолчанию):
searxng-mcp --transport "stdio"Запуск в режиме HTTP:
searxng-mcp --transport "http" --host "0.0.0.0" --port "8000"AI Prompt:
Search for information about artificial intelligenceAI Response:
Search completed successfully. Found 10 results for "artificial intelligence":
1. **What is Artificial Intelligence?**
URL: https://example.com/ai
Content: Artificial intelligence (AI) refers to the simulation of human intelligence in machines...
2. **AI Overview**
URL: https://example.org/ai-overview
Content: AI encompasses machine learning, deep learning, and more...Агентный ИИ
searxng-mcp разработан для использования системами агентного ИИ. Он предоставляет набор инструментов, которые позволяют агентам искать информацию в сети с помощью SearXNG.
Агент-агент (A2A)
Этот пакет также включает сервер агента A2A, который можно использовать для взаимодействия с MCP-сервером SearXNG.
CLI
Аргумент | Описание | По умолчанию |
| Хост для привязки сервера |
|
| Порт для привязки сервера |
|
| Включить автоперезагрузку |
|
| Провайдер LLM (openai, anthropic, google, huggingface) |
|
| ID модели LLM |
|
| Базовый URL LLM (для провайдеров, совместимых с OpenAI) |
|
| API-ключ LLM |
|
| URL MCP-сервера |
|
| Список разрешенных инструментов MCP |
|
Примеры
Запуск сервера A2A
searxng-agent --provider openai --model-id gpt-4 --api-key sk-... --mcp-url http://localhost:8000/mcpЗапуск с помощью Docker
docker run -e CMD=searxng-agent -p 8000:8000 searxng-mcpDocker
Сборка
docker build -t searxng-mcp .Запуск MCP-сервера
docker run -p 8000:8000 searxng-mcpЗапуск сервера A2A
docker run -e CMD=searxng-agent -p 8001:8001 searxng-mcpРазвертывание MCP-сервера как службы
Сервер ServiceNow MCP можно развернуть с помощью Docker с настраиваемой аутентификацией, промежуточным ПО и авторизацией Eunomia.
Использование Docker Run
docker pull knucklessg1/searxng-mcp:latest
docker run -d \
--name searxng-mcp \
-p 8004:8004 \
-e HOST=0.0.0.0 \
-e PORT=8004 \
-e TRANSPORT=http \
-e AUTH_TYPE=none \
-e EUNOMIA_TYPE=none \
-e SEARXNG_URL=https://searxng.example.com \
-e SEARXNG_USERNAME=user \
-e SEARXNG_PASSWORD=pass \
-e USE_RANDOM_INSTANCE=false \
knucklessg1/searxng-mcp:latestДля расширенной аутентификации (например, JWT, OAuth Proxy, OIDC Proxy, Remote OAuth) или Eunomia добавьте соответствующие переменные окружения:
docker run -d \
--name searxng-mcp \
-p 8004:8004 \
-e HOST=0.0.0.0 \
-e PORT=8004 \
-e TRANSPORT=http \
-e AUTH_TYPE=oidc-proxy \
-e OIDC_CONFIG_URL=https://provider.com/.well-known/openid-configuration \
-e OIDC_CLIENT_ID=your-client-id \
-e OIDC_CLIENT_SECRET=your-client-secret \
-e OIDC_BASE_URL=https://your-server.com \
-e ALLOWED_CLIENT_REDIRECT_URIS=http://localhost:*,https://*.example.com/* \
-e EUNOMIA_TYPE=embedded \
-e EUNOMIA_POLICY_FILE=/app/mcp_policies.json \
-e SEARXNG_URL=https://searxng.example.com \
-e SEARXNG_USERNAME=user \
-e SEARXNG_PASSWORD=pass \
-e USE_RANDOM_INSTANCE=false \
knucklessg1/searxng-mcp:latestИспользование Docker Compose
Создайте файл docker-compose.yml:
services:
searxng-mcp:
image: knucklessg1/searxng-mcp:latest
environment:
- HOST=0.0.0.0
- PORT=8004
- TRANSPORT=http
- AUTH_TYPE=none
- EUNOMIA_TYPE=none
- SEARXNG_URL=https://searxng.example.com
- SEARXNG_USERNAME=user
- SEARXNG_PASSWORD=pass
- USE_RANDOM_INSTANCE=false
ports:
- 8004:8004Для расширенных настроек с аутентификацией и Eunomia:
services:
searxng-mcp:
image: knucklessg1/searxng-mcp:latest
environment:
- HOST=0.0.0.0
- PORT=8004
- TRANSPORT=http
- AUTH_TYPE=oidc-proxy
- OIDC_CONFIG_URL=https://provider.com/.well-known/openid-configuration
- OIDC_CLIENT_ID=your-client-id
- OIDC_CLIENT_SECRET=your-client-secret
- OIDC_BASE_URL=https://your-server.com
- ALLOWED_CLIENT_REDIRECT_URIS=http://localhost:*,https://*.example.com/*
- EUNOMIA_TYPE=embedded
- EUNOMIA_POLICY_FILE=/app/mcp_policies.json
- SEARXNG_URL=https://searxng.example.com
- SEARXNG_USERNAME=user
- SEARXNG_PASSWORD=pass
- USE_RANDOM_INSTANCE=false
ports:
- 8004:8004
volumes:
- ./mcp_policies.json:/app/mcp_policies.jsonЗапустите службу:
docker-compose up -dНастройка mcp.json для интеграции с ИИ
{
"mcpServers": {
"searxng": {
"command": "uv",
"args": [
"run",
"--with",
"searxng-mcp",
"searxng-mcp"
],
"env": {
"SEARXNG_URL": "https://searxng.example.com",
"SEARXNG_USERNAME": "user",
"SEARXNG_PASSWORD": "pass",
"USE_RANDOM_INSTANCE": "false"
},
"timeout": 300000
}
}
}Установка Python-пакета
python -m pip install searxng-mcpuv pip install searxng-mcpВладельцы репозитория
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Knuckles-Team/searxng-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server