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 setfor 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_url → SEARXNG_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.iohttps://search.brave4u.comhttps://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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0ba2f7ef828682d6e3bdf83ed3f477d163bb48b36a86c03ad2034535b5ae9a0
|
|
| MD5 |
bd413e51a3bd920d1b97df6bfc73458d
|
|
| BLAKE2b-256 |
34d84fd9a04caa8d4757b07b397bb0d29c429700ee6ce0e37cc973ce5215dcc1
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
llm_tools_searxng_md-0.2.0.tar.gz -
Subject digest:
c0ba2f7ef828682d6e3bdf83ed3f477d163bb48b36a86c03ad2034535b5ae9a0 - Sigstore transparency entry: 1392702189
- Sigstore integration time:
-
Permalink:
stochastic-sisyphus/llm-tools-searxng-md@fbb29d80cf1084f9e3695cb3d780db20dd4d062c -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/stochastic-sisyphus
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fbb29d80cf1084f9e3695cb3d780db20dd4d062c -
Trigger Event:
push
-
Statement type:
File details
Details for the file llm_tools_searxng_md-0.2.0-py3-none-any.whl.
File metadata
- Download URL: llm_tools_searxng_md-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0c9e3021b20d7b2932eb2882e6cb0d6ad74d9001d3da41e0e651c2b5325071d
|
|
| MD5 |
1f338a0d7bc9bf272f6dbca69d9b3a4d
|
|
| BLAKE2b-256 |
7ac3bd99596159a83e4ff91edbab4f5cb7406afa2be422446834f383fc5a1957
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
llm_tools_searxng_md-0.2.0-py3-none-any.whl -
Subject digest:
b0c9e3021b20d7b2932eb2882e6cb0d6ad74d9001d3da41e0e651c2b5325071d - Sigstore transparency entry: 1392702229
- Sigstore integration time:
-
Permalink:
stochastic-sisyphus/llm-tools-searxng-md@fbb29d80cf1084f9e3695cb3d780db20dd4d062c -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/stochastic-sisyphus
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fbb29d80cf1084f9e3695cb3d780db20dd4d062c -
Trigger Event:
push
-
Statement type: