DeepSeek Search MCP
This server provides a local stdio MCP endpoint that uses the DeepSeek API to search the web (and optionally fetch pages), returning structured results to an MCP client.
Web search via
deepseek_search: run a query and get a ranked list of structured results.Result count control: return between 1 and 50 results per query (default 10).
Search operators / syntax: supports
site:,-site:, exact"..."phrases,-"..."exclusions,-termexclusions,lang:codes, andafter:/before:date filters, combined freely, forwarded with syntax intact.Localization: optionally pass an IP address to localize results.
Content retrieval option: request page
contentvianeed_content(defaults false, content empty otherwise).Query context: optional
ori_question(the user's original question) to improve query understanding.Optional web fetch:
deepseek_web_fetch(mapped to DeepSeek's fetch API) is available only whenDEEPSEEK_ENABLE_WEB_FETCH="true"; it is off by default and then absent from the client's tool list.Requirements: needs a
DEEPSEEK_API_KEY, Node.js 22+, and consumes DeepSeek account credits; stdio transport only.
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., "@DeepSeek Search MCPsearch for the latest DeepSeek news site:deepseek.com lang:en after:2026-01-01"
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.
DeepSeek Search MCP
非官方的本地 MCP Server,使用 DeepSeek 开放平台 API Key 调用联网搜索和网页抓取接口。仅支持 stdio。
环境要求
Node.js 22 或更新版本
npm
DeepSeek 开放平台 API Key,可在 API Key 管理页面创建
Related MCP server: deepseek-web-search-mcp
安装与启动
推荐使用 npm 全局安装,适合日常使用,启动开销较低且无需自行构建。npx 配置方便,适合快速试用,但启动开销较高;源码构建适合需要修改代码的用户。
以下以 DeepSeek Harness (DSH) 为例,将配置合并到用户级 ~/.dsh/cordis.patch.yml,替换 API Key 占位符。
保存配置后,若配置变更未生效,工具未出现在 MCP 列表中,可尝试重启客户端。
npm 全局安装(推荐)
npm install -g deepseek-search-mcp@latest安装完成后,使用以下启动配置:
Windows:
- insert: - id: mcp-deepseek-search name: '@deepseek-ai/dsh-mcp-client' config: serverName: deepseek-search transport: stdio command: cmd args: ['/c', 'deepseek-search-mcp'] env: DEEPSEEK_API_KEY: 'YOUR_DEEPSEEK_API_KEY' DEEPSEEK_ENABLE_WEB_FETCH: 'false' toolCallTimeoutMs: 80000macOS / Linux:
- insert: - id: mcp-deepseek-search name: '@deepseek-ai/dsh-mcp-client' config: serverName: deepseek-search transport: stdio command: deepseek-search-mcp args: [] env: DEEPSEEK_API_KEY: 'YOUR_DEEPSEEK_API_KEY' DEEPSEEK_ENABLE_WEB_FETCH: 'false' toolCallTimeoutMs: 80000
npx 快速试用
无需全局安装或自行编译,配置方便,但启动开销高于全局安装。
Windows:
- insert: - id: mcp-deepseek-search name: '@deepseek-ai/dsh-mcp-client' config: serverName: deepseek-search transport: stdio command: cmd args: ['/c', 'npx', '-y', 'deepseek-search-mcp@latest'] env: DEEPSEEK_API_KEY: 'YOUR_DEEPSEEK_API_KEY' DEEPSEEK_ENABLE_WEB_FETCH: 'false' toolCallTimeoutMs: 80000macOS / Linux:
- insert: - id: mcp-deepseek-search name: '@deepseek-ai/dsh-mcp-client' config: serverName: deepseek-search transport: stdio command: npx args: ['-y', 'deepseek-search-mcp@latest'] env: DEEPSEEK_API_KEY: 'YOUR_DEEPSEEK_API_KEY' DEEPSEEK_ENABLE_WEB_FETCH: 'false' toolCallTimeoutMs: 80000
首次启动需要联网下载包。
从源码构建
从 GitHub 仓库 下载源码,在项目根目录执行:
npm ci
npm run build构建产物位于 dist。将下方配置合并到客户端的 MCP 配置中,替换 API Key 占位符,并将 args 中的路径改为 dist/index.js 的实际绝对路径:
- insert:
- id: mcp-deepseek-search
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: deepseek-search
transport: stdio
command: node
args: ['C:/path/to/deepseek-search-mcp/dist/index.js']
env:
DEEPSEEK_API_KEY: 'YOUR_DEEPSEEK_API_KEY'
DEEPSEEK_ENABLE_WEB_FETCH: 'false'
toolCallTimeoutMs: 80000工具
搜索支持站点、语言和时间范围筛选。完整参数和搜索语法见 DeepSeek 联网搜索指南及上方接口文档。
环境变量
变量 | 规则 |
| 必填,使用 DeepSeek 开放平台 API Key |
| 控制是否启用 |
考虑到不少 Agent 软件已经自带网页抓取(web_fetch)功能,需要付费使用的 deepseek_web_fetch 工具默认关闭,也不会出现在客户端的工具列表中。需要时,可将 DEEPSEEK_ENABLE_WEB_FETCH 设置为 "true" 来开启。
费用
调用使用 DeepSeek 开放平台账户额度。具体价格和计费规则见 DeepSeek 联网搜索指南。
许可证
MIT,Copyright (c) 2026 Caelix。
Available Tools
1 tooldeepseek_searchC
Search the web for a query and return a ranked list of structured results.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | The number of results to return, between 1 and 50. Defaults to 10. | |
| query | Yes | The search query. Supports operators such as `site:`, `-site:`, and quoted phrases. Must contain 1 to 128 Unicode characters and cannot be all whitespace. The query is forwarded with its search syntax intact. The examples below combine operators with a search term; you can combine multiple operators in one query. | Operator | Example | Description | | --- | --- | --- | | `site:` | `DeepSeek site:github.com` | Restrict results to the given site, and to target multiple sites, separate the `site:` clauses with spaces and join them with `OR`, for example `DeepSeek site:github.com OR site:huggingface.co.` | | `-site:` | `DeepSeek -site:example.com` | Exclude the given site, and separate multiple sites with spaces. | | `-` | `DeepSeek -advertisement` | Exclude pages containing the term, and separate multiple terms with spaces. | | `-"..."` | `DeepSeek -"release notes"` | Exclude pages containing the exact phrase, which can contain spaces, and separate multiple phrases with spaces. | | `"..."` | `DeepSeek "exact phrase"` | Match an exact phrase, and separate multiple phrases with spaces. | | `lang:` | `DeepSeek lang:zh,en` | Restrict results to the given language codes, separating multiple codes with commas, for example `lang:zh,en.` | | `after:` | `DeepSeek after:2025` or `DeepSeek after:2025-01-01` | Restrict results to pages published after a date. | | `before:` | `DeepSeek before:2026` or `DeepSeek before:2026-06-01` | Restrict results to pages published before a date. | | |
| localization | No | An optional IP address used to localize search results. Defaults to an empty string. | |
| need_content | No | Whether to return page `content` in content. Defaults to `false`; when `false`, `content` is always an empty string. | |
| ori_question | No | The user's original question that triggered the search, between 1 and 128 characters. Providing it can improve query understanding. `null` is treated as not provided. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and delivers little beyond the one-line summary. It does not disclose rate limits, auth requirements, result recency/freshness behavior, or how 'content' varies with need_content — all of which materially affect invocation.
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?
A single, front-loaded sentence with no filler. It is efficient, though the terseness leaves no room for the usage or behavioral context an agent would benefit from.
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?
There is no output schema and no annotations, so the description is the only source for return-value behavior and operational constraints — and 'ranked list of structured results' does not say what fields come back or how content is populated. For a 5-parameter web-search tool, that leaves key context unaddressed.
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 100%, so the schema already documents query operators, count bounds/default, localization, need_content, and ori_question in detail. The description adds no parameter meaning beyond that, so the baseline of 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?
States a specific verb and resource ('Search the web') plus the return shape ('ranked list of structured results'). There are no sibling tools to differentiate from, so the lack of contrastive framing is not a gap.
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?
No guidance on when to use this tool, when not to, or what alternatives exist. Since it is the only tool listed, alternatives are moot, but the description also omits any prerequisite or context (e.g., freshness limits, whether it is a live web search vs. cached index).
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.
1 tool update
v1.0.0- First observed
deepseek_search
TDQS
Scored across 1 tool
With a single tool there is no possibility of misselection or overlap; its purpose is unambiguous. The name and description align cleanly, leaving nothing to confuse.
The lone tool uses a clear snake_case verb_noun style (deepseek_search) that matches its server identity. No mixed conventions exist since there is only one name.
A one-tool surface is borderline thin even for a search server; typical search MCPs expose pagination, filtering, or multiple content types. It works but leaves little room for user control.
Core web search is covered, but there are no options for result count, pagination, freshness, or filtering, which are common expectations. The surface is functional yet notably shallow for a search domain.
Maintenance
Related MCP Connectors
Web search, scraping, RAG answers with citations, and translation as MCP tools.
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
Scrape, crawl and search the web for AI agents via MCP.
Web MCP: scrape/crawl sites, web search, brand assets, app stores, YouTube, Reddit, Hacker News.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables web search and site-specific search capabilities through the Deepsearch model. Provides unified access to broad web retrieval and targeted site search functionality within the MCP ecosystem.219 npm5Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to perform DeepSeek-native web searches through the Anthropic-compatible Messages endpoint, returning summarized results with cited sources.MIT
- AlicenseAqualityCmaintenanceEnables MCP clients to run web searches and fetch web page contents through DeepSeek's Search and Fetch APIs, returning structured JSON results with configurable tool names and multiple transport options.22MIT
- AlicenseNot gradedqualityCmaintenanceEnables agents to run web searches with query operators and to fetch web pages as Markdown through DeepSeek's native Search/Fetch JSON API. It acts as a fallback for hosts whose built-in web tools are unavailable or return errors such as HTTP 403, rather than retrying them repeatedly.MIT