TOOL4LM
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SANDBOX_DIR | No | The directory for documents (default: ./sandbox) | ./sandbox |
| ENGINE_ORDER | No | Engine order, e.g. searxng,duckduckgo | |
| LANG_DEFAULT | No | Default language hint for web search | |
| REGION_DEFAULT | No | Default region hint for web search | |
| MAX_FETCH_BYTES | No | Maximum bytes to fetch from a page | |
| FETCH_TIMEOUT_MS | No | Page fetch timeout in milliseconds | |
| SEARXNG_ENDPOINTS | No | List of SearXNG /search endpoints, separated by commas |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| calc.evalB | Evaluate math expression (no external calls). |
| calc_evalD | Alias of calc.eval |
| web.searchB | Multi-engine web search (SearXNG + DuckDuckGo HTML). |
| web_searchD | Alias of web.search |
| web.fetchB | Fetch a URL with size/time limits and anti-SSRF. |
| web_fetchD | Alias of web.fetch |
| web.readA | Extract readable content from given HTML (or pass html from web.fetch). |
| web_readD | Alias of web.read |
| doc.findB | Search local documents within sandbox directory. Builds index if missing. |
| doc_findD | Alias of doc.find |
| doc.readA | Read a file from sandbox directory (text or pdf). |
| doc_readD | Alias of doc.read |
| index.buildC | Build MiniSearch index for documents in sandbox directory. |
| index_buildD | Alias of index.build |
| sch.searchA | Academic-first search (arXiv + Crossref + Wikipedia). |
| sch_searchD | Alias of sch.search |
| sch.getC | Get scholarly metadata by DOI/arXivId/URL. |
| sch_getD | Alias of sch.get |
| wiki.searchC | Wikipedia title search (public API). |
| wiki_searchD | Alias of wiki.search |
| wiki.getC | Wikipedia summary by title. |
| wiki_getD | Alias of wiki.get |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
Each unique operation has a distinct prefix and action (e.g., calc.eval, sch.search, web.fetch). Aliases are exact duplicates and do not create functional ambiguity. An agent can easily distinguish between different domains and operations.
The original tools consistently use a domain.action pattern (e.g., calc.eval). However, the aliases switch to domain_action (e.g., calc_eval), introducing a minor inconsistency. The core pattern is clear, but the presence of both slightly reduces consistency.
22 tools nominally, but effectively 11 unique operations due to aliases. This is reasonable for a server covering multiple domains (math, docs, search, web, wiki). The alias redundancy is minor and does not overwhelm the surface.
The tool set covers key operations for each domain: calculation, document indexing/reading, scholarly and web search, Wikipedia retrieval. Missing write/update operations (e.g., doc.write, wiki.edit) but these are likely out of scope for a LM-assistance tool server.