Public leaderboard

Public assessment

Ihor-Sokoliuk/MCP-SearXNG (mcp-searxng)

mcp-searxng · v1.14.0 · scanned

What changed in the harness

Selection accuracy 100→100, token cost up 2%, unconfirmed writes 100%→100%.

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

30.0 / 30

30.0 out of 30
02Legibility

29.5 / 30

29.5 out of 30
03Economics

19.9 / 20

19.9 out of 20
04Discoverability

17.7 / 20

17.7 out of 20

Highest-impact fix

Estimated gain +2 points

Make target tools discoverable on the first call

Clarify tool names, decision boundaries, and required argument schemas so an agent can choose and construct the target call without exploratory steps.

Description evidence

Defects and rewrites.

1 defect found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
web_url_read
params_unexplained
Fetches a URL and returns readable content as markdown. The required `url` parameter is the absolute web URL to fetch, including the scheme (e.g., 'https://example.com/page'); page-relative paths are not valid. Content-type aware: HTML is converted to markdown; JSON is pretty-printed; plain text, YAML, TOML, and XML are returned as fenced readable text. PDF text extraction is supported with bounded input, output, page count, time, concurrency, and memory; OCR is not supported. Binary, media, archive, and octet-stream downloads other than PDFs are intentionally rejected instead of being returned as raw bytes. When the operator configures browser solvers, mcp-searxng attempts FlareSolverr first and then Byparr only after a busy or transient-unavailable acquisition; cache hits bypass acquisition and a final busy or unavailable provider uses one uncached direct-fetch fallback. Three modes: (1) Full content — omit filtering params; use `startChar`/`maxLength` to paginate large pages. (2) Section extraction — set `section` to return content under a specific heading. (3) Headings only — set `readHeadings: true` to list all headings (mutually exclusive with other filtering params). Returns an error string if the URL is unreachable or content cannot be extracted. Use after `searxng_web_search` to read the full content of individual result URLs.

Selection evidence

Confusable tool pairs.

1 pair where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
searxng_web_search searxng_search_suggestions medium Both are query-based SearXNG tools sharing a `query` parameter, and their names differ only by 'suggestions', so a natural task like 'suggest good search terms for X', 'what should I search for', or 'give me related searches' could drive the agent to the primary web_search tool instead of the autocomplete tool, especially when the user says 'search' while actually wanting suggestions.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard