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:

Available Tools

22 tools
calc.evalB

Evaluate math expression (no external calls).

ParametersJSON Schema
NameRequiredDescriptionDefault
exprYes
precisionNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the constraint 'no external calls', but does not expand on behavior beyond what annotations (openWorldHint) hint at. Additional context like return format or error handling is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, front-loaded, and every word is useful. No wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema, the description should explain return values and error behavior, but it does not. The tool's completeness is insufficient given its complexity (2 params, no output schema).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must explain parameters, but it does not mention 'expr' or 'precision'. The description adds no value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Evaluate math expression (no external calls)' clearly states the action and resource, and distinguishes from sibling tools like web.fetch, doc.find, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like calc_eval or other calculation tools. The description lacks any usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calc_evalD

Alias of calc.eval

ParametersJSON Schema
NameRequiredDescriptionDefault
exprYes
precisionNo

TDQS

D1.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description provides no behavioral details beyond being an alias. The annotation 'openWorldHint: true' suggests unknown side effects, but the description does not clarify what those might be. For a tool with no annotation coverage on safety or behavior, the description should compensate but fails to do so.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short, consisting of a single phrase. While concise, it is under-specified and does not convey enough information to be useful. It sacrifices clarity for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of an output schema, two parameters with zero coverage, and no descriptive text, the definition is severely incomplete. The agent lacks critical context to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must explain parameters but does not. It mentions neither 'expr' nor 'precision', leaving the agent without context on their meaning, format, or constraints beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Alias of calc.eval', which indicates a relationship but fails to explain what the tool does. The name 'calc_eval' hints at evaluating a calculation, but without further context, the agent cannot discern its specific purpose. It does not distinguish itself from the sibling 'calc.eval'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidelines are provided about when to use this tool versus alternatives. The description only states it is an alias, offering no context for usage scenarios, prerequisites, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

doc.findB

Search local documents within sandbox directory. Builds index if missing.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYes
topNo
limitNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include openWorldHint: true, and description adds the behavioral trait 'Builds index if missing.' No further details on permissions, rate limits, or other side effects beyond index building.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with core purpose, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite low complexity, the description omits critical details about parameter semantics, return format, and use case boundaries. Output schema is absent, so description should compensate but does not.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no additional meaning for parameters q, top, limit. The agent receives no help understanding what the query string expects or how top and limit control results.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Search local documents within sandbox directory' with a specific verb and resource, and distinguishes from siblings like doc.read (which reads a particular document) and index.build (which explicitly builds index).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like index.build for manual indexing, or doc.read for reading a known document. Also lacks query format or limitations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

doc_findD

Alias of doc.find

ParametersJSON Schema
NameRequiredDescriptionDefault
qYes
topNo
limitNo

TDQS

D1.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No behavioral details disclosed; annotation openWorldHint provides minimal context, but description adds nothing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very short but lacks substantive content; under-specification is not good conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Inadequate for a tool with 3 parameters and no output schema; fails to provide needed context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameter descriptions; schema coverage is 0% and description does not explain any parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

States it is an alias of doc.find, but does not describe what doc.find does, leaving purpose unclear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives; merely indicates it is an alias.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

doc.readA

Read a file from sandbox directory (text or pdf).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only says 'Read' and does not add behavioral details beyond annotations. No mention of error handling, return format, or access restrictions. Annotations provide openWorldHint but no additional context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Ultra-concise single sentence with all key elements: action, resource, location, file types. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple tool, but lacks differentiation from sibling doc_read (likely same tool) and does not specify output format or failure behavior. No output schema, so more detail would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description adds meaningful context: the 'path' parameter should be within sandbox directory and supports text/pdf files. This compensates for the schema's lack of description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Read a file' with specific resource 'from sandbox directory' and file types 'text or pdf', which distinguishes it from sibling tools like doc.find (search) and others.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implied usage as a read tool, but no explicit guidance on when to use vs alternatives like doc.find or doc_read. No when-not-to-use context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

doc_readD

Alias of doc.read

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

D1.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral context beyond the openWorldHint annotation. It does not disclose read-only nature, side effects, or scope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short but at the expense of being informative. It is under-specified and fails to convey essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of output schema and parameter descriptions, the description should provide a self-contained explanation. It does not, leaving the agent without sufficient context to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, and the description does not explain what the 'path' parameter represents. The agent has no semantic guidance for providing this argument.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description only states 'Alias of doc.read' without defining what the tool actually does. It fails to provide a verb-resource pair, and the agent gains no understanding of the tool's functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit usage guidance is given. The description implies interchangeability with doc.read but does not clarify when to use this alias over the original.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

index.buildC

Build MiniSearch index for documents in sandbox directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description only mentions building an index but does not disclose important behaviors such as whether it overwrites existing indexes, requires specific permissions, or has side effects beyond the 'openWorldHint' annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, which is concise but at the expense of necessary details. It lacks structure such as parameter explanation or usage notes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should indicate what the tool returns (e.g., success message, index path). It also fails to describe the parameter, making the tool incomplete for proper invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'root' is not described in the schema (0% coverage) and the description does not explain its meaning or usage. The agent cannot infer what value to provide for 'root'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (build) and resource (MiniSearch index) with context (documents in sandbox directory). However, it does not differentiate from sibling tools like 'index_build' which likely perform similar indexing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. With many sibling tools, explicit usage context is missing, leaving the agent to guess appropriate scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

index_buildD

Alias of index.build

ParametersJSON Schema
NameRequiredDescriptionDefault
rootNo

TDQS

D1.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotation includes openWorldHint but description adds no behavioral detail. No mention of side effects, permissions, or output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short but at the expense of informativeness. It is under-specified, not concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description still fails to explain the tool's purpose or parameter meaning.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The sole parameter 'root' is undocumented. With 0% schema description coverage, the description should add meaning but does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description says 'Alias of index.build' but does not state what the tool does. It relies on the user knowing index.build, so purpose is unclear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this alias versus index.build or other sibling tools. No context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sch.getC

Get scholarly metadata by DOI/arXivId/URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
doiNo
arxivIdNo
urlNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description does not disclose behavioral traits beyond the bare action. Given the openWorldHint annotation, the agent knows effects are unknown, but the description could add context such as whether this tool is read-only, whether it makes external network calls, or any rate limiting. The annotation carries the burden, but the description adds no value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence that conveys the core purpose efficiently. It is appropriately sized and front-loaded. While minimalist, it avoids verbosity. However, it could be slightly expanded without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there is no output schema, the description should at least hint at what the returned metadata contains (e.g., title, authors, publication date). It also lacks any note about error handling or required authentication. Combined with minimal parameter info, the agent is poorly equipped to use this tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters lack descriptions in the input schema (0% coverage). The description lists the parameter names but provides no format, constraints, or examples. For instance, it does not clarify whether the URL must be a direct metadata link or if DOI requires the prefix '10.' This is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves scholarly metadata using identifiers like DOI, arXivId, or URL. It distinguishes itself from sibling tools that perform calculations (calc.eval), document access (doc.read), or web fetching (web.fetch). However, it could be more specific about the metadata scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as sch.search or web.fetch. It does not mention prerequisites, typical use cases, or when not to invoke this tool. This leaves the agent without decision-making context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sch_getD

Alias of sch.get

ParametersJSON Schema
NameRequiredDescriptionDefault
doiNo
arxivIdNo
urlNo

TDQS

D1.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral context beyond the annotation 'openWorldHint: true'. It does not disclose any aspects such as whether the tool is read-only, destructive, or has authentication needs. The description carries the full burden but fails to deliver.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short, but this is due to under-specification rather than conciseness. It is a single sentence that provides no useful information. While not verbose, it fails to earn its place by being informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (three parameters, no output schema, many siblings), the description is completely inadequate. It does not explain what the tool returns, how it differs from its alias sch.get, or any behavioral details needed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage for three parameters (doi, arxivId, url), the description should compensate but adds nothing. It does not explain what each parameter represents or how they are used, leaving the agent without meaningful guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Alias of sch.get' does not state what the tool does; it merely indicates it is an alias, providing no verb or resource information. This is a tautology as it only references another tool name without explaining its purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description gives no context on when to use this tool versus alternatives like sch.get or other siblings. There is no mention of when-not-to-use or specific scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sch.searchA

Academic-first search (arXiv + Crossref + Wikipedia).

ParametersJSON Schema
NameRequiredDescriptionDefault
qYes
topNo
limitNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation openWorldHint: true is present, and the description adds value by specifying academic sources. However, it does not disclose other behavioral traits like pagination, rate limits, or result format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded and contains no unnecessary words. It efficiently conveys the key purpose and source coverage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has three parameters with no descriptions and no output schema, the description is insufficient. It should explain expected input format for q and the effect of top and limit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description does not explain the meaning or usage of any of the three parameters (q, top, limit). It fails to compensate for the lack of parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states it performs 'academic-first search' and lists three specific sources (arXiv, Crossref, Wikipedia), clearly differentiating it from sibling search tools like web.search and wiki.search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'academic-first' implies it should be used for academic queries rather than general web or wiki searches, but it does not explicitly state when not to use it or name alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web.fetchB

Fetch a URL with size/time limits and anti-SSRF.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
timeoutNo
max_bytesNo
headersNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds value beyond annotations by stating size/time limits and anti-SSRF protection. However, it omits details on error handling, timeouts, or what happens when limits are exceeded. Annotations provide openWorldHint, which aligns with network fetch behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded with the core action, no redundant words. Efficiently communicates the tool's essence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks output schema, return format, or error behavior description. For a fetch tool with 4 parameters, the description is too brief to fully inform an agent about expected behavior and edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description partially compensates by hinting at 'size/time limits' (mapping to max_bytes and timeout) but does not mention the headers parameter. Parameter names are somewhat self-explanatory, but the description should explicitly list or explain all parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses 'Fetch a URL' as a specific verb+resource and mentions size/time limits and anti-SSRF, clearly distinguishing it from sibling tools like web.read or web.search. However, it could be more explicit about what 'fetch' returns (e.g., page content).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like web.read or web.search. The description does not mention use cases, prerequisites, or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web_fetchD

Alias of web.fetch

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
timeoutNo
max_bytesNo
headersNo

TDQS

D1.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No behavioral traits are disclosed. The description does not mention read-only, destructiveness, permissions, or side effects. The annotation openWorldHint: true is present but the description adds no context beyond it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very short but lacks essential information. This is under-specification, not conciseness. A single sentence that merely references another tool is insufficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 4 parameters including a nested object and no output schema, the description is completely inadequate. It fails to provide necessary context for the agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description does not explain any parameter (url, timeout, max_bytes, headers). The description adds no meaning beyond the schema itself.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Alias of web.fetch' is a tautology that does not state what the tool does. It relies entirely on the agent knowing 'web.fetch', which is a separate sibling tool. The name 'web_fetch' suggests fetching web content but the description adds no clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like web.fetch or web.read. The description provides no context on the tool's role or selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web.readA

Extract readable content from given HTML (or pass html from web.fetch).

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
htmlNo

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds minimal behavioral context beyond the 'openWorldHint' annotation. It does not mention side effects, but the tool likely has no destructive effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise (one sentence), but could be slightly restructured for clarity (e.g., separating the two modes).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and the description does not specify return format or error conditions. Given the tool's simplicity, it is moderately complete but leaves gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description mentions the 'html' parameter but does not explain the required 'url' parameter or the relationship between them. With 0% schema coverage, the description fails to clarify parameter roles, leading to confusion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool extracts readable content from HTML, with two modes: direct HTML or from web.fetch. It distinguishes from sibling tools like web.fetch (fetches raw HTML) and web.search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after web.fetch or with direct HTML, providing clear context. However, it does not explicitly exclude inappropriate scenarios or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web_readD

Alias of web.read

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
htmlNo

TDQS

D1.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description provides no behavioral details beyond being an alias. The annotation 'openWorldHint' is not explained, and the tool's read-only or mutation nature is not disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While the description is short, it is under-specified and fails to earn its place. A tool alias without purpose definition is not concise but rather incomplete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, no parameter descriptions, and a minimal description that only points to another tool, the context is severely lacking for effective tool use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, and the tool description adds no meaning to the 'url' or 'html' parameters. The agent receives no guidance on valid inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Alias of web.read' fails to specify what the tool actually does. It references another tool but does not explain the functionality, leaving the purpose vague and unclear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like web.read, web.fetch, or others. The description offers no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

web.searchB

Multi-engine web search (SearXNG + DuckDuckGo HTML).

ParametersJSON Schema
NameRequiredDescriptionDefault
qYes
maxNo
langNo
siteNo
enginesNo
kNo
limitNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate openWorldHint=true, informing the agent of potential side effects. The description adds the detail that it uses two specific engines, providing some transparency but lacking info on rate limits, result format, or response behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the core purpose. It is concise but omits important details about parameters and usage, which slightly detracts from its value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high parameter count (7) with no schema descriptions, no output schema, and no explanation of return values or pagination, the description is incomplete. It only covers the tool's basic function without sufficient operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not explain any of the 7 parameters (q, max, lang, site, engines, k, limit). With 0% schema description coverage, the description should compensate but fails to do so.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it is a multi-engine web search tool, naming specific engines (SearXNG and DuckDuckGo HTML), which distinguishes it from sibling tools like web.read or web.fetch. The verb 'search' and resource 'web' are explicitly mentioned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like sch.search or wiki.search. There is no mention of when not to use or any context for choosing this tool over siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wiki.getC

Wikipedia summary by title.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
langNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include openWorldHint: true, indicating external access, but the description adds no behavioral context beyond the annotation. It fails to mention read-only nature, error behavior (e.g., missing title), or any constraints.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short but still conveys the core function. It front-loads the purpose, but the brevity leaves out important details, making it borderline under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema and low parameter documentation, the description should provide more context. It covers basic function but lacks details on 'lang', error handling, return format, or how it differs from very similar sibling tools like wiki_get and wiki.search.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description's phrase 'by title' gives some meaning to the 'title' parameter, but it ignores the 'lang' parameter entirely. This is insufficient to compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Wikipedia summary by title' clearly indicates the tool retrieves a summary from Wikipedia based on a title. It distinguishes from sibling tools like wiki.search which suggests search functionality, though it doesn't explicitly contrast with wiki_get which may be an alias.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not specify when to use this tool over alternatives, such as wiki.search for finding articles, nor does it clarify the role of the 'lang' parameter or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wiki_getD

Alias of wiki.get

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
langNo

TDQS

D1.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral context beyond the annotation 'openWorldHint: true'. It does not disclose side effects, authentication needs, or other traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

While short, the description is under-specification rather than conciseness. It lacks essential information, making it insufficient for effective tool selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Without an output schema or any details about return values, the description is completely inadequate. The tool's behavior is undocumented, leaving the agent blind.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters (title and lang) have no descriptions in the schema, and the description offers no explanation of their meaning or usage. The agent cannot infer their purpose.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Alias of wiki.get', which only indicates it is an alias without defining the tool's actual function. It does not specify what action is performed or what resource is involved, making it vague.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like wiki.get or wiki.search. The description lacks context for appropriate usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wiki.searchC

Wikipedia title search (public API).

ParametersJSON Schema
NameRequiredDescriptionDefault
qYes
langNo

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include openWorldHint: true, and the description adds that it's a 'public API', confirming it makes external calls. No other behaviors (rate limits, error responses) are disclosed, so the agent lacks full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (6 words), but at the cost of omitting necessary details like parameter semantics. It is front-loaded but insufficiently informative.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, 0% schema description coverage, and no parameter explanations, the description is incomplete. The agent lacks critical context to use the tool effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 2 parameters with 0% description coverage, and the description does not explain 'q' (search query) or 'lang' (language). The agent must guess parameter meanings.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool does a 'Wikipedia title search' using a 'public API', which differentiates it from sibling tools like wiki.get (which likely retrieves a page). However, it could be more explicit about the scope (e.g., only title matches, not full text).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use search versus get, nor any mention of limitations or prerequisites. The agent must infer from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 22 tool updates
    • First observedcalc_eval
    • First observedcalc.eval
    • First observeddoc_find
    • First observeddoc_read
    • First observeddoc.find
    • First observeddoc.read
    • First observedindex_build
    • First observedindex.build
    • First observedsch_get
    • First observedsch_search
    • First observedsch.get
    • First observedsch.search
    • First observedweb_fetch
    • First observedweb_read
    • First observedweb_search
    • First observedweb.fetch
    • First observedweb.read
    • First observedweb.search
    • First observedwiki_get
    • First observedwiki_search
    • First observedwiki.get
    • First observedwiki.search

TDQS

C2.6/5.0
Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count4/5

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.

Completeness4/5

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.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    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.
    5
    319
    6
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    An all-in-one MCP server for local LLMs that provides live web access, math, shell/code execution, filesystem access, memory, and RAG over local files using LM Studio embeddings.
    39
    -
  • A
    license
    Not graded
    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.
    10
    Apache 2.0

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