SearXNG HTTP MCP
Servidor MCP SearXNG autocontido em Docker com mais de 200 mecanismos de busca, transporte duplo (HTTP + stdio), autenticação por chave de API e interface web integrada.
Documentação
中文 · Quick Start · Features · Architecture · Comparison · Usage · MCP Tools · Client Config · Plugin · Contributing
Um servidor MCP autocontido que encapsula SearXNG — um mecanismo de metabusca gratuito e que respeita a privacidade, agregando resultados de mais de 200 mecanismos de busca.
🚀 Início Rápido
Modo servidor — implante uma vez, conecte-se de qualquer cliente:
docker run -d --name searxng-mcp --restart unless-stopped \
-p YOUR_PORT:8888 --memory=512m --cpus=1 \
ghcr.io/whw23/searxng-http-mcp:latest
Em seguida, conecte seu cliente ao http://YOUR_HOST:YOUR_PORT/mcp/. Para habilitar a autenticação por chave de API, consulte Autenticação.
Modo local — sem necessidade de servidor, execute diretamente no seu cliente:
docker run --rm -i --memory=512m --cpus=1 ghcr.io/whw23/searxng-http-mcp:latest --stdio
Adicione isso como um servidor MCP stdio no seu cliente — consulte Configuração do Cliente para detalhes.
Modo uvx — se você já tem o SearXNG em execução (guia de instalação):
uvx searxng-http-mcp
Defina SEARXNG_URL para apontar para sua instância do SearXNG (padrão: http://127.0.0.1:8080).
✨ Recursos
Busca
- 🔍 Mais de 200 mecanismos de busca — Google, Bing, DuckDuckGo, Brave e outros via SearXNG
- 📂 Mais de 30 categorias — notícias, imagens, vídeos, ciência, TI e mais
- 📄 Fan-out multi-página — até 5 páginas por chamada
- 💡 Sugestões de autocompletar — descubra termos de busca relevantes
- 🗂 Descoberta de mecanismos — consulte mecanismos disponíveis agrupados por categoria
- 🎯 Eficiente em tokens — resultados reduzidos ao essencial
Infraestrutura
- 📦 Autocontido — SearXNG embutido na imagem Docker
- 🔄 Transporte triplo — servidor HTTP, Docker stdio e uvx autônomo
- 🔐 Autenticação —
x-api-key+ HTTP Basic Auth - 🌐 Proxy reverso — interface web do SearXNG na mesma porta
- ⚡ Descrições dinâmicas de ferramentas — listas de categorias ao vivo injetadas na inicialização
- 📐 JSON Schema rico — restrições de enum, limites de intervalo e descrições em cada parâmetro
🏛 Arquitetura
graph LR
Client(["client:YOUR_PORT"]) --> Expose(":8888")
subgraph Container["🐳 Docker Container"]
direction LR
Expose --> Auth{Auth}
Auth -->|/mcp| MCP[FastMCP Server]
Auth -->|/*| Proxy[Reverse Proxy]
MCP --> SearXNG[SearXNG :8080]
Proxy --> SearXNG
end
style Expose fill:none,stroke:#2496ed,stroke-dasharray:5 5,color:#2496ed
style Client fill:#4a90d9,color:#fff,stroke:#3a7bc8
style Container fill:#f0f4f8,stroke:#2496ed,stroke-width:2px,color:#2496ed
style Auth fill:#f5a623,color:#fff,stroke:#d4900e
style MCP fill:#50c878,color:#fff,stroke:#3da85e
style Proxy fill:#9b59b6,color:#fff,stroke:#8344a5
style SearXNG fill:#e74c3c,color:#fff,stroke:#c0392b
📊 Comparação com Alternativas
Por que estes cinco?
Existem mais de 20 servidores MCP SearXNG e muitos outros MCPs de busca de propósito geral. A maioria dos wrappers do SearXNG expõe apenas uma ferramenta de busca básica, deixando as categorias, o autocompletar e os metadados de mecanismos do SearXNG sem uso. Escolhemos cinco alternativas que representam cada uma uma categoria distinta:
- 88plug/searxng-mcp — a superfície de ferramentas mais rica entre os MCPs do SearXNG (7 ferramentas: fetch renderizado, modo de pesquisa, consultas paralelas)
- ihor/mcp-searxng — mais estrelas no GitHub entre os MCPs do SearXNG
- open-webSearch — a principal alternativa gratuita multi-mecanismo fora do ecossistema SearXNG (Bing, Baidu, DuckDuckGo, Brave, etc.)
- exa-mcp-server — o MCP de API de busca comercial mais popular
- Perplexity MCP — busca comercial com IA, maior contagem de estrelas no espaço de MCPs de busca
| Recurso | ✨ Este projeto | 88plug/searxng-mcp | ihor/mcp-searxng | open-webSearch | exa-mcp-server | Perplexity MCP |
|---|---|---|---|---|---|---|
| Busca | ||||||
| Mais de 200 mecanismos via SearXNG | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| Mais de 30 categorias de busca | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Fan-out multi-página | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Sugestões de autocompletar | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Ferramenta de descoberta de mecanismos | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Descrições dinâmicas de ferramentas | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Infraestrutura | ||||||
| Autocontido (busca integrada) | ✅ | ❌ | ❌ | ✅ | N/A | N/A |
| Implantação Docker sem instalação | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
| Transporte HTTP + stdio | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Autenticação | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ |
| Proxy reverso da interface web | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Plugin de Agente de Codificação com IA | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Geral | ||||||
| Gratuito e de código aberto | ✅ | ✅ | ✅ | ✅ | ❌ (API paga) | ❌ (API paga) |
| Privacidade (auto-hospedado) | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| Linguagem | Python | Python | Node.js | TypeScript | TypeScript | TypeScript |
| Estrelas no GitHub | ||||||
Por que menos ferramentas?
O MCP é projetado para composição — os clientes conectam vários servidores especializados, cada um fazendo bem uma coisa. Algumas alternativas agrupam busca de URLs, extração de páginas renderizadas, fan-out multi-consulta ou modos de pesquisa no servidor de busca. Mantemos a superfície de ferramentas em três (busca, autocompletar, descoberta de mecanismos) por design:
- Busca de URLs é uma preocupação separada. Os clientes MCP já fornecem ferramentas dedicadas (WebFetch, Playwright MCP, Jina Reader). Agrupar fetch em um servidor de busca mistura responsabilidades e duplica o ecossistema do cliente.
- Busca paralela multi-consulta é orquestração do lado do cliente. Clientes LLM podem disparar várias chamadas
searchem paralelo — uma ferramentasearch_manyapenas adiciona sobrecarga de tokens para seleção de ferramentas sem benefício real. - Pesquisa / síntese pertence à camada LLM. O modelo é o melhor sintetizador. Empurrar lógica de pesquisa em várias etapas para o servidor MCP acopla preocupações de aplicação à infraestrutura.
Em vez disso, investimos no que as alternativas acima não têm: cobertura completa da API do SearXNG (categorias, autocompletar, metadados de mecanismos — capacidades que a maioria dos wrappers deixa de lado), implantação autocontida, autenticação, proxy reverso da interface web e integração com plugin de agente de codificação com IA (Claude Code / Copilot CLI / Codex CLI).
📖 Uso
🌐 Modo HTTP (padrão)
# Without authentication
docker run -d --name searxng-mcp --restart unless-stopped \
-p YOUR_PORT:8888 --memory=512m --cpus=1 \
ghcr.io/whw23/searxng-http-mcp:latest
# With authentication
docker run -d --name searxng-mcp --restart unless-stopped \
-p YOUR_PORT:8888 --memory=512m --cpus=1 \
-e API_KEY=your-secret-key \
ghcr.io/whw23/searxng-http-mcp:latest
| 🔗 Endpoint MCP | http://YOUR_HOST:YOUR_PORT/mcp/ |
| 🖥 Interface Web do SearXNG | http://YOUR_HOST:YOUR_PORT/ |
📡 Modo stdio
docker run --rm -i --memory=512m --cpus=1 \
ghcr.io/whw23/searxng-http-mcp:latest --stdio
Nenhuma porta exposta. Comunicação via stdin/stdout. O SearXNG é executado internamente para as ferramentas MCP.
🐍 Modo uvx
# Connect to a local SearXNG instance (default: http://127.0.0.1:8080)
uvx searxng-http-mcp
# Connect to a remote SearXNG instance
SEARXNG_URL=http://YOUR_SEARXNG_HOST:YOUR_SEARXNG_PORT uvx searxng-http-mcp
Requer Python 3.14+ e uma instância SearXNG existente. Não é necessário Docker.
⚙️ Variáveis de Ambiente
| Variável | Padrão | Descrição |
|---|---|---|
API_KEY | (vazio, sem autenticação) | Chave de API para autenticação |
SEARXNG_URL | http://127.0.0.1:8080 | SearXNG URL da instância (para modo uvx/standalone) |
🔐 Autenticação
Quando API_KEY estiver definido, todas as solicitações exigem uma das seguintes opções:
- Cabeçalho
x-api-key— para clientes MCP:x-api-key: your-key - Autenticação Básica HTTP — para navegadores
[!TIP] Login no Navegador: Ao acessar a Interface Web com
API_KEYhabilitado, o navegador exibirá uma caixa de diálogo de login. Deixe o nome de usuário vazio e insira sua chave de API como senha.![]()
Quando API_KEY não estiver definido, todas as solicitações ficam abertas.
🔧 Referência das Ferramentas MCP
🔍 search — Pesquise na web usando o SearXNG
Agrega resultados de mais de 200 mecanismos de busca com privacidade.
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
query | string | sim | — | A consulta de pesquisa a ser usada |
categories | string | não | "" | Nomes de categorias separados por vírgula (ex.: general,news,science) |
engines | string | não | "" | Nomes de mecanismos separados por vírgula (ex.: google,arxiv,wikipedia) |
language | string | não | "" | Código do idioma de pesquisa (ex.: en, zh, ja) |
time_range | enum | não | null | day, week, month, year |
safesearch | enum | não | 0 | 0=desativado, 1=moderado, 2=estrito |
pageno | int ≥1 | não | 1 | Número da página inicial |
pages | int 1–5 | não | 1 | Número de páginas a buscar em paralelo |
max_results | int 1–100 | não | 10 | Número máximo de resultados a retornar |
format | enum | não | compact | compact (título/url/conteúdo) ou full (+ mecanismos/pontuação/categoria/data) |
Retorna: resultados, respostas, sugestões, correções, infoboxes.
💡 autocomplete — Obter sugestões de consulta de pesquisa
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
query | string | sim | Consulta parcial para obter sugestões |
🗂 engine_info — Descobrir mecanismos e categorias disponíveis
Sem parâmetros. Retorna a lista de mecanismos habilitados agrupados por categoria.
Retorna:
{
"categories": ["general", "images", "videos", "news", ...],
"engines": ["google", "bing", "duckduckgo", ...],
"category_engines": {
"general": ["google", "bing", "duckduckgo", "brave", ...],
"science": ["arxiv", "google scholar", "pubmed", ...],
...
}
}
Use isto para descobrir quais mecanismos estão disponíveis antes de chamar search com filtros específicos de engines ou categories.
🔌 Configuração do Cliente
O exemplo a seguir é uma base de modo servidor (HTTP remoto) usando a estrutura JSON padrão mcpServers. Muitos clientes aceitam essa estrutura, mas os nomes dos campos e os valores obrigatórios de type diferem — veja a NOTA abaixo e ajuste para o seu cliente:
{
"mcpServers": {
"searxng": {
"type": "http",
"url": "http://YOUR_HOST:YOUR_PORT/mcp/",
"headers": {
"x-api-key": "your-secret-key"
}
}
}
}
[!NOTE] Diferenças nos nomes dos campos: ZCode usa
mcp.servers; Kilo Code usa uma chave de nível superiormcpcom"type": "remote"; Windsurf usaserverUrlem vez deurl; VS Code Copilot usa uma chave de nível superiorservers; OpenCode aninha sobmcpcom"type": "remote"; Codex e Hermes usammcp_servers(TOML/YAML). Para Claude Code,"type": "http"é obrigatório — sem ele, a entrada é lida como um servidor stdio e ignorada. Para Cline, defina"type": "streamableHttp"em servidores HTTP remotos.
Claude Desktop
Modo servidor — edite ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"searxng": {
"url": "http://YOUR_HOST:YOUR_PORT/mcp/",
"headers": {
"x-api-key": "your-secret-key"
}
}
}
}
Modo local:
{
"mcpServers": {
"searxng": {
"command": "docker",
"args": ["run", "--rm", "-i", "--memory=512m", "--cpus=1", "ghcr.io/whw23/searxng-http-mcp:latest", "--stdio"]
}
}
}
Modo uvx:
{
"mcpServers": {
"searxng": {
"command": "uvx",
"args": ["searxng-http-mcp"],
"env": { "SEARXNG_URL": "http://YOUR_SEARXNG_HOST:YOUR_SEARXNG_PORT" }
}
}
}
Claude Code
Modo servidor (CLI):
claude mcp add --transport http searxng http://YOUR_HOST:YOUR_PORT/mcp/ \
--header "x-api-key: your-secret-key"
Modo servidor (JSON) — a mesma estrutura mcpServers funciona em um projeto compartilhado em equipe .mcp.json ou em um global para todo o usuário ~/.claude.json:
{
"mcpServers": {
"searxng": {
"type": "http",
"url": "http://YOUR_HOST:YOUR_PORT/mcp/",
"headers": {
"x-api-key": "your-secret-key"
}
}
}
}
Modo local:
claude mcp add --transport stdio searxng -- docker run --rm -i --memory=512m --cpus=1 ghcr.io/whw23/searxng-http-mcp:latest --stdio
Modo uvx:
claude mcp add --transport stdio searxng -- uvx searxng-http-mcp
Codex
Modo servidor — adicione a ~/.codex/config.toml:
[mcp_servers.searxng]
url = "http://YOUR_HOST:YOUR_PORT/mcp/"
http_headers = { "x-api-key" = "your-secret-key" }
Modo local:
[mcp_servers.searxng]
command = "docker"
args = ["run", "--rm", "-i", "--memory=512m", "--cpus=1", "ghcr.io/whw23/searxng-http-mcp:latest", "--stdio"]
Modo uvx:
[mcp_servers.searxng]
command = "uvx"
args = ["searxng-http-mcp"]
Cursor
Modo servidor — edite .cursor/mcp.json:
{
"mcpServers": {
"searxng": {
"url": "http://YOUR_HOST:YOUR_PORT/mcp/",
"headers": {
"x-api-key": "your-secret-key"
}
}
}
}
Modo local:
{
"mcpServers": {
"searxng": {
"command": "docker",
"args": ["run", "--rm", "-i", "--memory=512m", "--cpus=1", "ghcr.io/whw23/searxng-http-mcp:latest", "--stdio"]
}
}
}
Modo uvx:
{
"mcpServers": {
"searxng": {
"command": "uvx",
"args": ["searxng-http-mcp"],
"env": { "SEARXNG_URL": "http://YOUR_SEARXNG_HOST:YOUR_SEARXNG_PORT" }
}
}
}
VS Code Copilot
Modo servidor — adicione a .vscode/mcp.json:
{
"servers": {
"searxng": {
"type": "http",
"url": "http://YOUR_HOST:YOUR_PORT/mcp/",
"headers": {
"x-api-key": "your-secret-key"
}
}
}
}
Modo local:
{
"servers": {
"searxng": {
"type": "stdio",
"command": "docker",
"args": ["run", "--rm", "-i", "--memory=512m", "--cpus=1", "ghcr.io/whw23/searxng-http-mcp:latest", "--stdio"]
}
}
}
Modo uvx:
{
"servers": {
"searxng": {
"type": "stdio",
"command": "uvx",
"args": ["searxng-http-mcp"],
"env": { "SEARXNG_URL": "http://YOUR_SEARXNG_HOST:YOUR_SEARXNG_PORT" }
}
}
}
Windsurf
Modo servidor — adicione a ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"searxng": {
"serverUrl": "http://YOUR_HOST:YOUR_PORT/mcp/",
"headers": {
"x-api-key": "your-secret-key"
}
}
}
}
Modo local:
{
"mcpServers": {
"searxng": {
"command": "docker",
"args": ["run", "--rm", "-i", "--memory=512m", "--cpus=1", "ghcr.io/whw23/searxng-http-mcp:latest", "--stdio"]
}
}
}
Modo uvx:
{
"mcpServers": {
"searxng": {
"command": "uvx",
"args": ["searxng-http-mcp"],
"env": { "SEARXNG_URL": "http://YOUR_SEARXNG_HOST:YOUR_SEARXNG_PORT" }
}
}
}
Cline
Configure pelo painel de configurações MCP do Cline no VS Code (Cline > MCP Servers > Add).
Modo servidor:
{
"mcpServers": {
"searxng": {
"type": "streamableHttp",
"url": "http://YOUR_HOST:YOUR_PORT/mcp/",
"headers": {
"x-api-key": "your-secret-key"
}
}
}
}
Modo local:
{
"mcpServers": {
"searxng": {
"command": "docker",
"args": ["run", "--rm", "-i", "--memory=512m", "--cpus=1", "ghcr.io/whw23/searxng-http-mcp:latest", "--stdio"]
}
}
}
Modo uvx:
{
"mcpServers": {
"searxng": {
"command": "uvx",
"args": ["searxng-http-mcp"],
"env": { "SEARXNG_URL": "http://YOUR_SEARXNG_HOST:YOUR_SEARXNG_PORT" }
}
}
}
OpenCode
Modo servidor — edite opencode.json:
{
"mcp": {
"searxng": {
"type": "remote",
"url": "http://YOUR_HOST:YOUR_PORT/mcp/",
"headers": {
"x-api-key": "your-secret-key"
}
}
}
}
Modo local:
{
"mcp": {
"searxng": {
"type": "local",
"command": ["docker", "run", "--rm", "-i", "--memory=512m", "--cpus=1", "ghcr.io/whw23/searxng-http-mcp:latest", "--stdio"]
}
}
}
Modo uvx:
{
"mcp": {
"searxng": {
"type": "local",
"command": ["uvx", "searxng-http-mcp"]
}
}
}
Hermes Agent
Modo servidor — edite ~/.hermes/config.yaml:
mcp_servers:
searxng:
url: "http://YOUR_HOST:YOUR_PORT/mcp/"
headers:
x-api-key: "your-secret-key"
Modo local:
mcp_servers:
searxng:
command: "docker"
args: ["run", "--rm", "-i", "--memory=512m", "--cpus=1", "ghcr.io/whw23/searxng-http-mcp:latest", "--stdio"]
Modo uvx:
mcp_servers:
searxng:
command: "uvx"
args: ["searxng-http-mcp"]
🟦 ZCode (Zhipu AI · GLM)
Modo servidor — edite ~/.zcode/cli/config.json (global) ou .zcode/config.json (projeto):
{
"mcp": {
"servers": {
"searxng": {
"type": "http",
"url": "http://YOUR_HOST:YOUR_PORT/mcp/",
"headers": {
"x-api-key": "your-secret-key"
}
}
}
}
}
Modo local:
{
"mcp": {
"servers": {
"searxng": {
"command": "docker",
"args": ["run", "--rm", "-i", "--memory=512m", "--cpus=1", "ghcr.io/whw23/searxng-http-mcp:latest", "--stdio"]
}
}
}
}
Modo uvx:
{
"mcp": {
"servers": {
"searxng": {
"command": "uvx",
"args": ["searxng-http-mcp"],
"env": { "SEARXNG_URL": "http://YOUR_SEARXNG_HOST:YOUR_SEARXNG_PORT" }
}
}
}
}
O ZCode também aceita a estrutura padrão mcpServers (ex.: em .agents/mcp.json). Alternativamente, adicione servidores via Settings → MCP Servers → New MCP Server.
⚡ Kilo Code
Modo servidor — edite ~/.config/kilo/kilo.jsonc (global) ou .kilo/kilo.jsonc (projeto):
{
"mcp": {
"searxng": {
"type": "remote",
"url": "http://YOUR_HOST:YOUR_PORT/mcp/",
"headers": {
"x-api-key": "your-secret-key"
},
"enabled": true
}
}
}
Modo local:
{
"mcp": {
"searxng": {
"type": "local",
"command": ["docker", "run", "--rm", "-i", "--memory=512m", "--cpus=1", "ghcr.io/whw23/searxng-http-mcp:latest", "--stdio"],
"enabled": true
}
}
}
Modo uvx:
{
"mcp": {
"searxng": {
"type": "local",
"command": ["uvx", "searxng-http-mcp"],
"environment": { "SEARXNG_URL": "http://YOUR_SEARXNG_HOST:YOUR_SEARXNG_PORT" },
"enabled": true
}
}
}
🥧 Pi
Instale o adaptador MCP uma vez e adicione um bloco padrão mcpServers — ex.: em ~/.pi/agent/mcp.json (todos os projetos) ou .pi/mcp.json (projeto):
pi install npm:pi-mcp-adapter
Reinicie o Pi após a instalação.
Modo servidor:
{
"mcpServers": {
"searxng": {
"url": "http://YOUR_HOST:YOUR_PORT/mcp/",
"headers": {
"x-api-key": "your-secret-key"
}
}
}
}
Modo local:
{
"mcpServers": {
"searxng": {
"command": "docker",
"args": ["run", "--rm", "-i", "--memory=512m", "--cpus=1", "ghcr.io/whw23/searxng-http-mcp:latest", "--stdio"]
}
}
}
Modo uvx:
{
"mcpServers": {
"searxng": {
"command": "uvx",
"args": ["searxng-http-mcp"],
"env": { "SEARXNG_URL": "http://YOUR_SEARXNG_HOST:YOUR_SEARXNG_PORT" }
}
}
}
🧩 Plugin de Agente de Codificação com IA
Compatível com Claude Code, GitHub Copilot CLI e OpenAI Codex CLI. Adicione o marketplace e instale o plugin que se adequa à sua configuração:
/plugin marketplace add whw23/searxng_http_mcp
Todos os plugins incluem:
- 🔍 Habilidade
/web-search-via-searxng— pesquisa na web com guia de seleção de categoria e regras de uso - 🤖 Agente
web-searcher— subagente de pesquisa com:- 🌐 Pesquisa paralela em vários idiomas — detecta automaticamente o idioma da consulta, pesquisa em vários idiomas para maior cobertura
- 🛡 Níveis de credibilidade de fontes — classificação Nível 1/2/3 com defesa contra envenenamento de IA
- ✅ Validação cruzada — fatos-chave exigem 2+ fontes independentes
- 🔍 Leitura aprofundada via WebFetch — lê páginas completas de fontes confiáveis, não apenas trechos
- 🔄 Pesquisa iterativa em múltiplas rodadas — até 3 rodadas com aprofundamento automático em lacunas
- ⏱ Avaliação de atualidade — sinaliza conteúdo desatualizado, informa intervalos de datas das fontes
- 📝 Referências em estilo de nota de rodapé — saída estruturada com citações de fontes inline
🐍 Modo autônomo — uvx, sem Docker, traga seu próprio SearXNG
/plugin install searxng-http-mcp-standalone@searxng-http-mcp
Executa via uvx. Requer Python 3.14+ e uma instância SearXNG existente. Defina SEARXNG_URL em ~/.claude/settings.json:
{
"env": {
"SEARXNG_URL": "http://YOUR_SEARXNG_HOST:YOUR_SEARXNG_PORT"
}
}
🐳 Modo local — Docker stdio, zero configuração
/plugin install searxng-http-mcp@searxng-http-mcp
Executa o SearXNG em um contêiner Docker local via stdio. Requer Docker instalado.
🌐 Modo remoto — conecta-se a um servidor implantado via HTTP
/plugin install searxng-http-mcp-remote@searxng-http-mcp
Conecta-se a um servidor MCP SearXNG implantado. Requer as variáveis de ambiente SEARXNG_MCP_URL e SEARXNG_API_KEY.
Adicione em ~/.claude/settings.json sob o campo env:
{
"env": {
"SEARXNG_MCP_URL": "http://YOUR_HOST:YOUR_PORT/mcp/",
"SEARXNG_API_KEY": "your-api-key"
}
}
Em seguida, reinicie o Claude Code.
🛠 Configuração do SearXNG
🖥 Via interface web
Acesse a interface web do SearXNG em http://YOUR_HOST:YOUR_PORT/ para configurar mecanismos de busca, idiomas e outras configurações. As alterações persistem durante a vida útil do contêiner.
💾 Via montagem de volume — configuração persistente
Monte o diretório de configuração do SearXNG para configuração persistente:
docker run -d --name searxng-mcp --restart unless-stopped \
-p YOUR_PORT:8888 --memory=512m --cpus=1 \
-v /path/to/searxng-config:/etc/searxng \
ghcr.io/whw23/searxng-http-mcp:latest
O SearXNG gera settings.yml na primeira inicialização. O contêiner ativa automaticamente a saída em formato JSON exigida pelas ferramentas MCP.
🏗 Compilar a partir do código-fonte
git clone https://github.com/whw23/searxng_http_mcp.git
cd searxng_http_mcp
docker build -t searxng-http-mcp:local .
docker run -d --name searxng-mcp --restart unless-stopped \
-p YOUR_PORT:8888 --memory=512m --cpus=1 \
searxng-http-mcp:local
🤝 Contribuindo
Consulte CONTRIBUTING.md para o fluxo de trabalho completo, requisitos de CI e configuração de desenvolvimento.
- 🍴 Faça um fork do repositório e habilite o GitHub Actions no seu fork
- 🌿 Crie um branch de funcionalidade a partir de
dev - ✍️ Faça suas alterações
- ✅ Execute os testes:
pytest tests/ -v— o CI deve passar no seu fork antes de abrir um PR - 📬 Envie um PR para
dev
O desenvolvimento ocorre no branch dev. Mesclagens para main acionam builds de imagem.
📄 Licença
MIT — código do servidor MCP.
O SearXNG em si é licenciado sob AGPL-3.0-or-later.