Skip to main content
Glama

TOOL4LM — Multi-Tool MCP Server for Local LMs

Node.js TypeScript License: MIT

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 viết bằng Node.js/TypeScript giúp bổ sung công cụ cho các mô hình ngôn ngữ chạy cục bộ (LM Studio/Ollama/…): web search, đọc & tóm tắt trang, tìm & đọc tài liệu nội bộ, tra cứu học thuật, và máy tính. Không cần API key mặc định.


✨ Tính năng

  • 🔎 Web Search: tìm nhiều nguồn (SearXNG + DuckDuckGo HTML), khử trùng lặp, trả về tiêu đề + URL + snippet.

  • 🌐 Web Fetch/Read: tải trang có giới hạn kích thước/thời gian (chống SSRF) và trích văn bản “đọc được” để tóm tắt.

  • 📂 Doc Search/Read: tìm & đọc tài liệu trong thư mục sandbox (txt/md/html/pdf). PDF dùng pdf-parse (lazy-load).

  • 📚 Scholar Search/Get: tra cứu học thuật (arXiv + Crossref + Wikipedia) và lấy metadata theo DOI/arXivId.

  • 🧮 Calculator: đánh giá biểu thức với mathjs, hỗ trợ precision (làm tròn).


Related MCP server: free-search-mcp

🧰 Tool & tham số (tên chính ⇄ alias gạch dưới)

Tool

Khi nào dùng

Tham số (shape)

calc.evalcalc_eval

Tính toán cục bộ

{ expr: string, precision?: number }

web.searchweb_search

Tìm web đa engine

{ q: string, max?: number, lang?: string, site?: string, engines?: string[], k?: number, limit?: number }

web.fetchweb_fetch

Tải 1 URL (HTML/binary)

{ url: string, timeout?: number, max_bytes?: number, headers?: Record<string,string> }

web.readweb_read

Trích văn bản “đọc được”

{ url: string, html?: string }

doc.finddoc_find

Tìm trong thư mục sandbox

{ q: string, top?: number, limit?: number }

doc.readdoc_read

Đọc 1 file trong sandbox

{ path: string }

index.buildindex_build

Build chỉ mục tài liệu

{ root?: string }

sch.searchsch_search

Tìm bài/paper/DOI

{ q: string, top?: number, limit?: number }

sch.getsch_get

Lấy metadata paper

{ doi?: string, arxivId?: string, url?: string }

wiki.searchwiki_search

Tìm tiêu đề Wikipedia

{ q: string, lang?: string }

wiki.getwiki_get

Lấy summary Wikipedia

{ title: string, lang?: string }

Đã bật openWorldHint nên nếu model lỡ thêm field lạ host vẫn chấp nhận; nhưng khuyến nghị dùng đúng tham số như bảng để ổn định.


🔧 Cài đặt & chạy

npm install
npm run build
npm start

Khi chạy thành công sẽ in:
[TOOL4LM] started. Sandbox: <đường_dẫn_sandbox>


⚙️ Cấu hình MCP (LM Studio)

Thêm vào mcp.json của 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"
      }
    }
  }
}

Trên Windows, nên dùng / trong JSON để tránh escape \.


📝 Ví dụ luồng sử dụng

Tra cứu web có trích dẫnweb.searchweb.fetchweb.read → tóm tắt + đính kèm URL.
Tài liệu nội bộdoc.finddoc.read → tóm tắt + trích đoạn (ghi kèm path).
Học thuậtsch.searchsch.get theo DOI/arXivId.
Tính toáncalc.eval với ^/pow(a,b) (hoặc đã normalize **).


🌍 Biến môi trường

  • SANDBOX_DIR — thư mục tài liệu (mặc định: ./sandbox).

  • SEARXNG_ENDPOINTS — danh sách endpoint /search của SearXNG, cách nhau dấu phẩy.

  • ENGINE_ORDER — ví dụ searxng,duckduckgo.

  • LANG_DEFAULT, REGION_DEFAULT — gợi ý ngôn ngữ/khu vực khi tìm web.

  • MAX_FETCH_BYTES — giới hạn dung lượng tải trang.

  • FETCH_TIMEOUT_MS — timeout tải trang (ms).


🤝 Đóng góp

Issues/PRs rất hoan nghênh! Nếu thấy bug/đề xuất, mở issue giúp mình nhé.


📜 Giấy phép

MIT


☕ Ủng hộ

Nếu bạn thấy dự án hữu ích, có thể ủng hộ mình qua PayPal:

Donate with PayPal

hoặc bấm nút bên dưới:

Install Server
F
license - not found
C
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that enables web searching, URL content extraction, and summarization without requiring API keys. It also provides advanced mathematical evaluation and multi-language Wikipedia summary retrieval tools.
    Last updated
    5
    238
    7
    MIT
  • A
    license
    -
    quality
    A
    maintenance
    Zero-auth multi-source research MCP server that enables web search, reading URLs, PDFs, GitHub repos, and querying Hacker News, Stack Overflow, Semantic Scholar, and YouTube transcripts without API keys.
    Last updated
    10
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • Local-first RAG engine with MCP server for AI agent integration.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/khanhs-234/tool4lm'

If you have feedback or need assistance with the MCP directory API, please join our Discord server