Token导航 LogoToken导航TokenDH.com
TOOL4LM MCP logo
搜索检索HTTP官方级别未说明来源级核验

TOOL4LM MCP

MCP Server

TOOL4LM是一个基于Node.js/TypeScript的MCP服务器,为本地语言模型提供多种工具支持,包括网页搜索、文档阅读与摘要、学术查询和计算功能。

工具数

11

提示词数

0

GitHub Stars

1

资源数

0
搜索文档处理TypeScriptAI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

khanhs-234

提供方

khanhs-234

最后核验

2026/5/17 20:35

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

TOOL4LM — Multi-Tool MCP Server for Local LMs

](https://nodejs.org) ![TypeScript](https://www.typescriptlang.org/) ![License: MIT](LICENSE)

All-in-one tools to supercharge your local or remote LLMs.\ Search smarter. Calculate faster. Summarize better.

TOOL4LM là một MCP (Model Context Protocol) server written in Node.js/TypeScript help supplement tools for locally running language models (LM Studio/Ollama/...): web search, Read & summarize the page, Find & read internal documents, Academic research, và computerNo default API key is required.

______________________________________________________________________

✨ Feature

  • 🔎 Web SearchFind multiple sources (SearXNG + DuckDuckGo HTML), deduplicate, return title + URL + snippet.
  • 🌐 Web Fetch/ReadLoad pages with size/time limits (anti-SSRF) and extract "readable" text for summarization.
  • 📂 Doc Search/ReadFind & read documents in the sandbox folder (txt/md/html/pdf). PDF is used. pdf-parse (lazy-load).
  • 📚 Scholar Search/GetAcademic search (arXiv + Crossref + Wikipedia) and retrieve metadata by DOI/arXivId.
  • The emoji "🧮" represents a calculator CalculatorEvaluate the expression with mathjssupport precision (round).

______________________________________________________________________

Tool & parameters (main name ⇄ underlined alias)

ToolWhen to useParameters (shape)
calc.eval ⇄ (This symbol represents a bidirectional arrow, often used in various contexts such as indicating two-way communication, movement, or relationships.) calc_eval Local computation { expr: string, precision?: number }
web.search ⇄ (This symbol is often used to represent a back-and-forth motion or a reciprocal relationship in various contexts, but it does not have a direct translation in English as it is more of a conceptual or visual symbol.) web_search Multi-engine web search { q: string, max?: number, lang?: string, site?: string, engines?: string[], k?: number, limit?: number }
web.fetchweb_fetchDownload 1 URL (HTML/binary){ url: string, timeout?: number, max_bytes?: number, headers?: Record }
web.readweb_read "Readable" text excerpt { url: string, html?: string }
doc.finddoc_findSearch in sandbox folder{ q: string, top?: number, limit?: number }
doc.readdoc_read Read a file in the sandbox { path: string }
index.buildindex_build Build document index { root?: string }
sch.searchsch_searchFind article/paper/DOI{ q: string, top?: number, limit?: number }
sch.get ⇄ (This symbol is a bidirectional arrow, often used to indicate a reversible or two-way relationship.) sch_getRetrieve metadata paper{ doi?: string, arxivId?: string, url?: string }
wiki.searchwiki_searchFind Wikipedia Title{ q: string, lang?: string }
wiki.getwiki_getTake Wikipedia summary{ title: string, lang?: string }
Turned on openWorldHint So if the model accidentally adds an extra field, the host will still accept it; but it is recommended to use the correct parameters as specified in the table for stability.

______________________________________________________________________

🔧 Install & run

npm install
npm run build
npm start

When run successfully, it will print:\ [TOOL4LM] started. Sandbox:

______________________________________________________________________

⚙️ MCP Configuration (LM Studio)

Add to mcp.json of LM Studio:

{
  "mcpServers": {
    "TOOL4LM": {
      "command": "node",
      "args": ["--enable-source-maps", "C:/path/to/tool4lm/dist/server.js"],
      "type": "mcp",
      "env": {
        "SANDBOX_DIR": "C:/path/to/your_docs",
        "SEARXNG_ENDPOINTS": "https://searx.be/search,https://searx.tiekoetter.com/search",
        "ENGINE_ORDER": "searxng,duckduckgo",
        "LANG_DEFAULT": "vi",
        "REGION_DEFAULT": "vn",
        "MAX_FETCH_BYTES": "1048576",
        "FETCH_TIMEOUT_MS": "8000"
      }
    }
  }
}
On Windows, it is recommended to use / in JSON to avoid escaping \.

______________________________________________________________________

📝 Example of usage flow

Web search with citationsweb.searchweb.fetchweb.read → summary + attach URL.\ Internal documentdoc.finddoc.read summary + excerpt (with notes included path)\ Academicsch.searchsch.get theo DOI/arXivId.\ Calculationcalc.eval with ^/pow(a,b) (or has been normalized **)

______________________________________________________________________

Environmental change

  • SANDBOX_DIR — document folder (default: ./sandbox)
  • SEARXNG_ENDPOINTS — list of endpoints /search of SearXNG, separated by commas.
  • ENGINE_ORDER — for example searxng,duckduckgo
  • LANG_DEFAULT, REGION_DEFAULT — language/region suggestions when searching for a website.
  • MAX_FETCH_BYTES — page load capacity limit.
  • FETCH_TIMEOUT_MS — page load timeout (ms).

______________________________________________________________________

🤝 Contribution

Issues/PRs are very welcome! If you find any bugs/suggestions, please open an issue for me.

______________________________________________________________________

📜 License

MIT

______________________________________________________________________

☕ Support

If you find the project useful, you can support me via PayPal:

![Donate with PayPal](https://paypal.me/khanhs234)

or click the button below:

目录标签

目录标签

搜索文档处理TypeScriptAI代理语言模型工具本地部署网页搜索学术查询计算功能

接入字段

传输方式(transport,传输协议)

HTTP

鉴权方式(authType,认证方式)

api-key

工具数量(toolCount,工具数)

11

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

HTTPapi-key部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP