Skip to main content

LLM plugin: SearXNG search tool returning LLM-friendly markdown output

Reason this release was yanked:

typical init release mismatch

Project description

llm-tools-searxng-md

An llm plugin that exposes a searxng_search_md tool backed by a self-hosted SearXNG instance.

Relationship to llm-tools-searxng: This is a markdown-output alternative to llm-tools-searxng by Justyn Shull. Use that one if you want structured JSON; use this one if you want LLM-friendly markdown. This package also uses llm keys set for URL management and defaults to POST (better compatibility with most SearXNG instances).

Installation

llm install llm-tools-searxng-md

Or in editable mode from source:

llm install -e /path/to/llm-tools-searxng-md

Configuration

Recommended: llm keys

llm keys set searxng_url
# paste your SearXNG instance URL when prompted

Alternative: environment variable

export SEARXNG_URL=https://your-searxng.example.com

The URL is resolved in order: llm keys set searxng_urlSEARXNG_URL env var. One of these is required — there is no default.

The endpoint used is $SEARXNG_URL/search with format=json — your instance must have the JSON output format enabled in its settings.

HTTP method

By default the plugin uses POST (better compatibility with most SearXNG instances). To force GET:

export SEARXNG_METHOD=GET

Public SearXNG instances

If you don't run your own instance, several public ones are available. Check the SearXNG instance list for uptime and privacy policies before using one. A few commonly cited options:

  • https://paulgo.io
  • https://search.brave4u.com
  • https://searx.be

Note: public instances may rate-limit or restrict the JSON API. Self-hosting is recommended for reliable tool use.

Usage

After installing, the tool is automatically available to any model that supports tool calling:

llm prompt -T searxng_search_md "what is searxng"

Specify a model explicitly if your default does not support tools:

llm prompt -m gpt-4o -T searxng_search_md "latest news on llm tool plugins"

Verify the tool is registered:

llm tools
# should list: searxng_search_md

Tool signature

def searxng_search_md(query: str, max_results: int = 8) -> str

Returns the top max_results results as a numbered markdown list with title, URL, and snippet for each result.

Running tests

pip install -e '.[test]'
pytest tests/

Publishing to PyPI

Build and publish with uv:

uv build
uv publish

Or with the standard toolchain:

pip install build twine
python -m build
twine upload dist/*

Bump version in pyproject.toml before each release.

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llm_tools_searxng_md-0.2.0.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llm_tools_searxng_md-0.2.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file llm_tools_searxng_md-0.2.0.tar.gz.

File metadata

  • Download URL: llm_tools_searxng_md-0.2.0.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for llm_tools_searxng_md-0.2.0.tar.gz
Algorithm Hash digest
SHA256 c0ba2f7ef828682d6e3bdf83ed3f477d163bb48b36a86c03ad2034535b5ae9a0
MD5 bd413e51a3bd920d1b97df6bfc73458d
BLAKE2b-256 34d84fd9a04caa8d4757b07b397bb0d29c429700ee6ce0e37cc973ce5215dcc1

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_tools_searxng_md-0.2.0.tar.gz:

Publisher: publish.yml on stochastic-sisyphus/llm-tools-searxng-md

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file llm_tools_searxng_md-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for llm_tools_searxng_md-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b0c9e3021b20d7b2932eb2882e6cb0d6ad74d9001d3da41e0e651c2b5325071d
MD5 1f338a0d7bc9bf272f6dbca69d9b3a4d
BLAKE2b-256 7ac3bd99596159a83e4ff91edbab4f5cb7406afa2be422446834f383fc5a1957

See more details on using hashes here.

Provenance

The following attestation bundles were made for llm_tools_searxng_md-0.2.0-py3-none-any.whl:

Publisher: publish.yml on stochastic-sisyphus/llm-tools-searxng-md

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page