I'd previously implemented agentic web search using SearxNG for treechat.com with good results, so that was my first choice. The problem is that SearxNG expects to run as a standalone python service, which is a lot of overhead and infra to deal with just to give your agent reasonable web search functionality.
So I built a standalone CLI that embeds SearxNG as a library and exposes its search tools as a CLI and over MCP without having to spin up any extra services. It also has built-in tools for retrieving and markdownifying arbitrary URLs, and is agent friendly with skills and agent onboarding info built directly into the CLI. Together with the search functionality, this gives an agent everything it needs to competently search the web so long as it can find the `searxng` binary on PATH.
Getting all that to work was actually quite tricky but works reliably: I first have CI build a wheel of upstream SearxNG, then my CLI uses that wheel as a dep, and then I package the entire thing into an easy to deploy single-file binary using pybin[1] to avoid issues with pyinstaller.
The result is a portable easy to use tool that gives agents like Hermes, Openclaw, pi coding agent, OpenCode, or whatever agent you prefer the ability to reliably search the web.