ddgs-lmstudio-mcp
Provides DuckDuckGo-backed web search and news search capabilities, enabling AI agents to retrieve web and news results through tools such as web_search and news_search.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ddgs-lmstudio-mcpsearch the web for the latest Node.js LTS release and what changed"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ddgs_lmstudio_mcp
为 LM Studio 提供 DuckDuckGo 搜索,让 Claude Code 使用本地模型时能够调用原生 WebSearch,沿用现有服务地址和凭据。
安装
环境:Linux(用户级 systemd)、Node.js 22.12+、LM Studio 桌面版。先启动 LM Studio 并开启本地 API 服务,再执行:
npm install -g github:hjd-hitsz/ddgs_lmstudio_mcp
ddgs-lmstudio-mcp install安装后随 LM Studio 自动启动和停止。升级时重新执行以上命令。
Related MCP server: Tagny MCP Server
代理
默认使用 http://127.0.0.1:7897。唯一配置项为代理端口,0 表示关闭代理、直接联网。
# 修改代理端口
ddgs-lmstudio-mcp install --proxy-port 7890
# 关闭代理
ddgs-lmstudio-mcp install --proxy-port 0使用
在 Claude Code 中选择 LM Studio 的本地模型,正常发起需要联网搜索的任务即可。
查看服务状态和日志:
ddgs-lmstudio-mcp status
journalctl --user -u ddgs-search-gateway.service其他 MCP 客户端可通过 ddgs-lmstudio-mcp mcp 连接,使用网页搜索 web_search 和新闻搜索 news_search。
卸载
systemctl --user disable --now ddgs-search-gateway.path
systemctl --user stop ddgs-search-gateway.service
npm uninstall -g ddgs_lmstudio_mcp开发
实现、兼容性与验证说明见开发文档。
许可证
Available Tools
2 toolsnews_search新闻搜索BRead-only
搜索近期新闻,返回标题、网址、摘要、日期和来源。回答中引用结果网址。
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | 搜索词 | |
| region | No | 区域,例如 cn-zh 或 us-en | us-en |
| timelimit | No | 时间范围:天、周、月或年 | |
| safesearch | No | moderate | |
| max_results | No | 最多返回的结果数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, openWorldHint, non-idempotent and non-destructive, so the safety surface is covered. The description adds useful behavior beyond that by enumerating the returned fields in the absence of an output schema and by requiring URL citation in answers. It still omits result volume, freshness guarantees, and how region/timelimit interact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences: the first front-loads what the tool does and what it returns, the second gives the citation rule. No filler, no repetition of the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With five parameters, one required, and no output schema, the description usefully compensates by specifying the shape of each result item. What remains missing is guidance on the optional filters and on result volume, a minor gap given the modest complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, and two parameters have enums, so the schema already carries most semantic weight. The description adds only the vague '近期' hint, which does not map to the timelimit enum values or clarify the region pattern or max_results cap. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb and resource ('搜索近期新闻'), names the return fields (title, URL, snippet, date, source), and sets the 'recent' scope. It does not differentiate this tool from the sibling web_search, so an agent must infer that this is the news-oriented variant.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word '近期' implicitly steers the agent toward time-bounded news queries, but there is no statement of when to prefer this tool over web_search, nor any exclusion or prerequisite. The agent gets no explicit routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_search网页搜索ARead-only
搜索实时网页,返回标题、网址和摘要。回答中引用结果网址。
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | 搜索词 | |
| region | No | 区域,例如 cn-zh 或 us-en | us-en |
| timelimit | No | 时间范围:天、周、月或年 | |
| safesearch | No | moderate | |
| max_results | No | 最多返回的结果数 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=false and destructiveHint=false, so safety and mutability are covered. The description adds value beyond them by disclosing the return payload shape (title, URL, snippet) despite there being no output schema, and by imposing an obligation to cite URLs, though it says nothing about result caps (max 30), rate limits, or that results are non-deterministic across calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and result fields, with no filler. The second sentence is a downstream formatting rule rather than tool behavior, but it still earns its place by telling the agent how to use the output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, 80% schema coverage, no output schema and a sibling tool, the description covers what the tool does and what it returns. It leaves gaps on when to choose it over news_search and on the effect of region/timelimit filtering, which matter for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 80%, so the schema already documents query, region, timelimit and max_results; only safesearch lacks a description but carries an enum and a moderate default. The description adds no parameter-level meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource (搜索实时网页) and states the returned fields (titles, URLs, snippets), so the agent knows exactly what action it performs. It does not, however, distinguish itself from the sibling news_search, so the agent must infer that this covers general web results while the sibling covers news.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the second sentence says to cite result URLs in answers, which hints that this tool is meant for answering questions that need sourced citations. There is no explicit when-not, no prerequisite, and no statement about when to prefer news_search over this tool.
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.
2 tool updates
v0.1.0- First observed
news_search - First observed
web_search
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: general web search vs. recent news search. The news-specific extra fields (date, source) and recency focus make the boundary obvious.
Both tool names follow the same consistent snake_case noun_search pattern: web_search and news_search. There is no mixing of conventions or verb styles.
Two tools are well-scoped for a focused search server covering general web and news search. Each tool earns its place without unnecessary surface area.
The core search lifecycle is covered: general web lookup and recent news lookup. Minor gaps exist, such as optional filters or pagination, but agents can work around them.
Maintenance
Related MCP Connectors
Web search, scraping, RAG answers with citations, and translation as MCP tools.
Web MCP: scrape/crawl sites, web search, brand assets, app stores, YouTube, Reddit, Hacker News.
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
DuckDuckGo search results and rank checks via the Apify DuckDuckGo Scraper, hosted MCP.
Related MCP Servers
- AlicenseAqualityFmaintenanceProvides web search functionality via DuckDuckGo for Claude Code and MCP-compatible clients, featuring advanced content exploration, navigation across search results, and detailed webpage analysis.317MIT
- AlicenseNot gradedqualityCmaintenanceEnables web browsing capabilities for locally served LLMs through URL text fetching, link extraction, and web search using Brave and DuckDuckGo engines. Designed to enhance LLMs with real-time web access through the MCP protocol.MIT
- AlicenseNot gradedqualityDmaintenanceEnables web search via DuckDuckGo and web content fetching through the Model Context Protocol, allowing AI assistants to search and retrieve web page content.10 npmMIT
- FlicenseNot gradedqualityCmaintenanceBrings DuckDuckGo search (web, news, images, videos) to any MCP-compatible AI client without requiring an API key.-