tools.yaml•3.23 kB
tools:
search:
description: >
Use this tool to access SearXNG to search the internet for current information or to perform
calculations. Use this tool when the user asks about recent events, technical details, to find
content, or your task requires calculations. If the search summary doesn't clearly answer the
question, you can read one of the search results by providing the URL to the `web` tool, or use
this `search` tool again to make further narrower requests to gain context to help your answer.
inputSchema:
type: object
properties:
q:
type: string
description: |
SearXNG search query. Use `!` prefixes for categories/engines (chainable to search multiple sources) followed by your query:
- General: `!news <query>`, `!map <place>`, `!images <keywords>`
- Multimedia: `!videos` (PeerTube/Vimeo/YouTube), `!music` (Bandcamp/SoundCloud/YouTube), `!lyrics`, `!yt` (YouTube specific)
- Files: `!files` (books/apps/torrents), `!1337x` or `!kc` or `!solid` or `!tpb` (Torrents), `!gpa` (Google Play), `!wcf` (Wikimedia Commons)
- IT/Dev: `!it` (all tech), `!repos` (Git repos), `!dh` (Docker Hub), `!q&a` (Stack Ex.), `!mdn` (Web Docs), `!software_wikis` (Linux/dev wikis)
- Packages: `!pypi` (Python), `!npm` (Node), `!crates` or `!lrs` (Rust), `!alp` (Alpine Linux)
- Science/Compute: `!scientific_publications` (arXiv/PubMed/etc), `!wa` (WolframAlpha calculations/facts/definitions)
- Social: `!re` (Reddit)
Special keywords (no `!`):
- Stats: `avg 1 2 3`, `max`, `min`, `sum`, `prod`
- Random: `random color`, `random int`, `random string`, `random uuid`
- Hash: `sha512 text`
time_range:
type: string
enum: ["day", "month", "year"]
description: Filter results by time range if supported
safesearch:
type: integer
enum: [0, 1, 2]
description: Safe search level (0=Off, 1=Moderate, 2=Strict) if supported
default: 1
required: ["q"]
web:
description: >
Use this tool to access live web pages using their URL. This is crucial for providing users
with accurate information from up-to-date sources. You will typically want to use `markdown`
to read content, or use 'links' mode to extract hyperlinks to find related pages on a site,
e.g. for navigating documentation.
inputSchema:
type: object
properties:
url:
type: string
description: URL to access - must be a complete and valid web address.
mode:
type: string
enum:
- markdown
- raw
- links
description: |
Processing mode:
- `markdown` (default) for clean readable text
- `links` to list all hyperlinks
- `raw` for unprocessed content (code, JSON, etc)
default: markdown
max_length:
type: integer
description: Optional character limit for the response (0 = no limit).
default: 0
required: ["url"]