Some checks failed
CI/CD / typecheck (pull_request) Successful in 1m17s
CI/CD / test (pull_request) Successful in 1m24s
CI/CD / lint (pull_request) Successful in 2m56s
CI/CD / smoke (pull_request) Failing after 1m54s
CI/CD / build (pull_request) Successful in 4m19s
CI/CD / publish (pull_request) Has been skipped
Readiness probes ran real searches every interval: searxng's searxng_web_search probe fanned a query out to every engine 1,440 times a day, billing API-key engines (braveapi, kagi), and duckduckgo's `search` probe scraped DuckDuckGo from the same IP agents search from. - searxng: probe searxng_instance_info, which reads /config only - duckduckgo: probe fetch_content on example.com every 300s - firecrawl (new): firecrawl-mcp against a self-hosted or cloud Firecrawl, for reading pages as main-content markdown; probe firecrawl_scrape on example.com every 300s Every probe still names a readiness tool, as templates.test.ts requires; each was run against the real package before being written down. docs/web-search.md now pairs searxng (search) with firecrawl (reading) and says why duckduckgo does not hold up under agent traffic. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JPjtnE6Gd343oRNtMU9Bcd
28 lines
1.1 KiB
YAML
28 lines
1.1 KiB
YAML
name: searxng
|
|
version: "1.0.0"
|
|
description: SearXNG MCP server for private web search and URL-to-markdown reading
|
|
packageName: "mcp-searxng"
|
|
transport: STDIO
|
|
repositoryUrl: https://github.com/ihor-sokoliuk/mcp-searxng
|
|
# Readiness reads SearXNG's /config, which proves the instance answers without
|
|
# fanning out to its engines. A searxng_web_search probe is a real search every
|
|
# interval (1,440/day at 60s): it burns API-key engines (braveapi, kagi) and
|
|
# feeds the IP blocks scraping engines put on the instance.
|
|
healthCheck:
|
|
tool: searxng_instance_info
|
|
env:
|
|
- name: SEARXNG_URL
|
|
description: >-
|
|
SearXNG instance URL, or ';'-separated replicas
|
|
(e.g. http://mcpctl-searxng:8080). The instance must list `json` under
|
|
`search.formats` — see stack/searxng/settings.yml.
|
|
required: true
|
|
- name: SEARXNG_DEFAULT_RESPONSE_FORMAT
|
|
description: Result shape when a call omits response_format — "text" or "json"
|
|
required: false
|
|
defaultValue: "text"
|
|
- name: SEARXNG_HTML_FALLBACK
|
|
description: Scrape the HTML result page when the JSON API is unavailable
|
|
required: false
|
|
defaultValue: "false"
|