DeepSeek Search MCP Server
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 MCP Serversearch for recent news on DeepSeek and fetch the top result"
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 Server 🔍
DeepSeek Search MCP 是基于 DeepSeek 官方最新发布的 网页搜索 (Search) 与网页抓取 (Fetch) 接口 构建的标准 Model Context Protocol (MCP) 服务。
为 Claude Desktop、Cursor、Cline、Windsurf 等全生态 AI 助手提供极低成本、原生优化的实时互联网检索与正文精读能力。
✨ 核心特性 (Key Features)
💰 极致性价比:完全复用已有的 DeepSeek API Key,仅需约 ¥5 元 / 千次调用(~$0.75/1K),失败与空结果不计费,远低于海外同类搜索服务。
🧠 专为大模型调优的长摘要:支持 DeepSeek 独特的
summary模式(600~800 字高质量长摘要),提供充沛信息量的同时,极大节省上下文 Token,告别传统搜索的“截断”与“爆 Context”。🔄 搜索 + 抓取双工具闭环:
deepseek_search:实时网络搜索,支持相关性重排打分(rerank_score)与高级搜索语法。deepseek_fetch:将目标 URL 一键抓取并解析为高清、无广告的干净 Markdown 正文。
🛡️ 生产级健壮性:
参数安全防爆:自动拦截并截断大模型可能传入的长句子,防止触发官方 128 字符硬限制(HTTP 400)。
429 智能指数退避重试:针对 QPS 达到 5 次/秒上限的情况,自动进行指数退避平滑重试。
404 抓取优雅降级:目标站点存在强反爬或不可读时,平滑提示大模型改读摘要,避免对话中断。
协议纯净防护:严格分离 stdio 协议流与调试日志,彻底告别 JSON-RPC 解析错误。
Related MCP server: MyWebSearch MCP
🚀 快速上手 (Quick Start)
前置准备
拥有一个 DeepSeek 开放平台账号并创建 API Key:platform.deepseek.com
确保账户内有充足余额(充值几元即可体验数千次搜索)。
客户端一键配置
1. Claude Desktop
编辑 Claude Desktop 配置文件:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"deepseek-search": {
"command": "npx",
"args": ["-y", "github:StarkL/deepseek-search-mcp"],
"env": {
"DEEPSEEK_API_KEY": "sk-your-deepseek-api-key"
}
}
}
}2. Claude Code (Anthropic 官方终端 Agent CLI)
只需在终端执行一行命令即可完成接入:
# 方式 1:直接通过 GitHub 仓库运行(免安装)
claude mcp add deepseek-search -e DEEPSEEK_API_KEY=sk-your-deepseek-api-key '--' npx -y github:StarkL/deepseek-search-mcp
# 方式 2:本地源码运行(零网络延迟,推荐开发与日常使用)
claude mcp add deepseek-search -e DEEPSEEK_API_KEY=sk-your-deepseek-api-key '--' node /absolute/path/to/deepseek-search-mcp/dist/index.js💡 PowerShell 用户提示:在 Windows PowerShell 中,命令中的
'--'需加引号,防止被 PowerShell 识别为内部转义符。或在任意项目根目录创建
.mcp.json实现团队级一键共享:{ "mcpServers": { "deepseek-search": { "command": "npx", "args": ["-y", "github:StarkL/deepseek-search-mcp"], "env": { "DEEPSEEK_API_KEY": "sk-your-deepseek-api-key" } } } }
3. DeepSeek Harness (dsh 官方 Agent 运行时)
DeepSeek 官方的 Agent 运行时 (dsh) 原生支持 MCP。有两种接入方式:
方式 A(Web 界面):启动
dsh web后,打开浏览器进入 Settings → MCP,点击添加 stdio 服务:Command:
npxArgs:
-y github:StarkL/deepseek-search-mcpEnv:
DEEPSEEK_API_KEY=sk-your-deepseek-api-key
方式 B(Profile 配置):在 Profile 的 patch 文件(如
~/.dsh/profiles/default/cordis.patch.yml)中添加插件项:- id: mcp-deepseek-search name: '@deepseek-ai/dsh-mcp-client' config: serverName: deepseek-search transport: stdio command: npx args: - '-y' - 'github:StarkL/deepseek-search-mcp' env: DEEPSEEK_API_KEY: !!js process.env.DEEPSEEK_API_KEY
4. Cursor
在 Cursor 设置中打开 Features -> MCP,点击 + Add New MCP Server:
Name:
deepseek-searchType:
commandCommand:
npx -y github:StarkL/deepseek-search-mcpEnvironment Variables: 添加
DEEPSEEK_API_KEY=sk-your-deepseek-api-key
5. Cline / Roo Code (VS Code 扩展)
打开 Cline 的 MCP 设定文件 cline_mcp_settings.json:
{
"mcpServers": {
"deepseek-search": {
"command": "npx",
"args": ["-y", "github:StarkL/deepseek-search-mcp"],
"env": {
"DEEPSEEK_API_KEY": "sk-your-deepseek-api-key"
}
}
}
}6. Windsurf
在 ~/.codeium/windsurf/mcp_config.json 中配置:
{
"mcpServers": {
"deepseek-search": {
"command": "npx",
"args": ["-y", "github:StarkL/deepseek-search-mcp"],
"env": {
"DEEPSEEK_API_KEY": "sk-your-deepseek-api-key"
}
}
}
}7. Codex / OpenCode / Goose 及通用 Agent Harness
对于支持标准 Model Context Protocol 的任何代码智能体(Agent Harness),配置通用的 Stdio 标准指令即可:
Transport:
stdioExecutable:
npxArguments:
["-y", "github:StarkL/deepseek-search-mcp"]Environment Variables:
DEEPSEEK_API_KEY=sk-your-deepseek-api-key
🛠️ 可用工具 (Tools)
1. deepseek_search (网页搜索)
调用 DeepSeek 自研搜索引擎获取实时网络结果。
参数 | 类型 | 必填 | 默认值 | 说明 |
| string | 是 | - | 搜索关键词(支持 |
| number | 否 |
| 返回结果数量(1~50)。 |
| string | 否 |
| 详情模式:• |
| number | 否 |
| 排序分数阈值(0~3 分,官方认为 $\ge 1.5$ 为高度优质匹配),低于该值的结果将被自动过滤。 |
| string | 否 | - | 用户原始提问,有助于搜索引擎更精确理解搜索意图。 |
| string | 否 | - | 可选 IP 地址,用于优先匹配本地化搜索结果。 |
2. deepseek_fetch (网页正文提取)
深度抓取指定网页并解析为结构化的 Markdown 纯文本。
参数 | 类型 | 必填 | 默认值 | 说明 |
| string | 是 | - | 网页完整 HTTP/HTTPS 地址(最大支持 8192 字符)。 |
| number | 否 |
| 返回 Markdown 文本的最大截断字符数,防止超大网页占满上下文。 |
环境变量说明
环境变量 | 必需 | 默认值 | 说明 |
| 是 | - | DeepSeek 开放平台 API 密钥(以 |
| 否 |
| 自定义 API 网关地址(用于企业私有代理或内网转发)。 |
❓ 常见问题排查 (FAQ)
收到 HTTP 402 Payment Required 报错?
您的 DeepSeek 账户余额已耗尽。请前往 platform.deepseek.com 充值即可恢复使用。
遇到 HTTP 429 报错?
DeepSeek Search / Fetch 接口单个账号独立限制为 5 QPS。本 MCP 已内置轻量指数退避重试,若仍频繁触发,请提示模型降低并发调用频次。
部分网页 Fetch 提示无法提取正文?
某些目标网站具有严格的反爬盾(如 Cloudflare / 极验)或属于纯交互单页应用。遇到此类情况,MCP 会友好提示模型改用搜索阶段提供的长摘要进行分析。
📄 开源许可证 (License)
本项目基于 MIT License 开源。欢迎提 Issue 与 PR!
Available Tools
2 toolsdeepseek_fetchB
Fetch and extract the readable Markdown text of a specific webpage using DeepSeek's official crawler. Ideal for deep-dive reading on search results or analyzing documentation from a specific URL.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | The full HTTP/HTTPS URL of the webpage to fetch. | |
| max_length | No | Maximum character length of the returned markdown content (default is 8000). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It usefully discloses the output form (markdown) and that crawling is done by DeepSeek's official crawler, but omits auth requirements, rate limits, JS-rendering behavior, and failure modes on non-HTML or unreachable URLs.
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 tight sentences with the primary action front-loaded and the usage hint second. No filler, though the second sentence is somewhat marketing-flavored ('Ideal for deep-dive reading').
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?
For a simple 2-parameter fetch tool with a complete schema and no output schema, the description covers the essentials. It is adequate but thin on behavioral details (truncation interaction with max_length, error behavior) that an agent would benefit from.
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 both parameters (url, max_length) are fully documented in the schema. The description adds no syntax, format, or default detail beyond what the schema already provides — baseline 3.
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 ('Fetch and extract') and resource ('readable Markdown text of a specific webpage'), and identifies the mechanism (DeepSeek's official crawler). It implicitly contrasts with deepseek_search by framing itself as the follow-up read step, but never explicitly differentiates from the sibling.
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?
Gives an intended-use context ('deep-dive reading on search results or analyzing documentation from a specific URL'), which implies the fetch-after-search workflow. However, it never names deepseek_search as the alternative or states when NOT to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deepseek_searchA
Search the web using DeepSeek's official search engine. Returns real-time, high-quality search results with relevance scores (rerank_score) and dense summaries tailored for LLMs. Supports advanced syntax such as 'site:', '-site:', and quotes.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | Number of search results to return (1-50). Default is 5. | |
| query | Yes | Search query keywords (1-128 characters). Keep it concise. Supports advanced syntax like 'site:github.com'. | |
| min_score | No | Minimum rerank score (0.0 to 3.0) to filter out low-relevance results. DeepSeek considers >= 1.5 high quality. Default is 1.0. | |
| detail_level | No | Level of detail: 'summary' (recommended, dense 600-800 char summary), 'snippet' (short 100-200 char snippet, token-efficient), or 'full' (crawls full webpage content). Default is 'summary'. | summary |
| localization | No | Optional IP address to prioritize localized search results. | |
| ori_question | No | The user's original unedited question. Helps the search engine better understand user intent. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: real-time results, relevance scores exposed as rerank_score, and dense LLM-tailored summaries. It also flags advanced query syntax support ('site:', '-site:', quotes). It does not mention auth requirements, rate limits, cost, or error behavior, keeping it short of a 5.
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?
Three short sentences, front-loaded with purpose, then output characteristics, then syntax support. No filler; each sentence conveys distinct information (what it does, what it returns, how to query it).
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?
No output schema exists, and the description usefully covers return values (rerank_score, summaries), so the agent knows what to expect. With 100% schema coverage on parameters, the remaining gap is guidance on tool selection versus deepseek_fetch and operational constraints (limits, auth), which would push it to a 5.
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 count, min_score, detail_level, localization, and ori_question thoroughly. The description only reinforces the query-syntax aspect already covered in the schema's query field, adding no meaning beyond it. Baseline 3 applies when the schema does the heavy lifting.
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 using DeepSeek's official search engine.' The verb 'search' inherently contrasts with the sibling deepseek_fetch ('fetch'), so an agent can route between them without opening either schema. It also names the engine provider, removing ambiguity about which backend is used.
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 implied ('search the web' for real-time results) but the description never states when to prefer this over deepseek_fetch, nor any prerequisite such as needing a URL first. No when-not guidance or explicit alternative is given, leaving the agent to infer the search-then-fetch workflow.
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
v1.0.0- First observed
deepseek_fetch - First observed
deepseek_search
TDQS
Scored across 2 tools
deepseek_search and deepseek_fetch have clearly distinct purposes: one queries the search engine, the other retrieves and converts a specific URL to Markdown. An agent can trivially tell which to call based on whether it has a query or a known URL.
Both tools use the same deepseek_ prefix followed by a concise action verb (search, fetch). The pattern is predictable and readable, with no mixing of conventions.
Two tools is on the lean side, but for a web-retrieval server this is exactly the minimal complete pair (find then read). Nothing feels missing or padded, though a multi-URL or batch fetch would be a natural addition.
Search plus fetch covers the full retrieval lifecycle: discovering sources and then reading them in depth. There are no obvious dead ends for the stated purpose of web search and content extraction.
Maintenance
Related MCP Connectors
Scrape, crawl and search the web for AI agents via MCP.
Web search, fetch, extract, and research for AI agents. Markdown output + AI-synthesized answers.
Web search and page reading for AI agents, including JSON APIs, RSS feeds and YouTube.
Free web search for AI agents. No API key required. Hosted MCP in active development.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables AI agents to perform multi-engine web search, fetch web pages, and extract clean Markdown content via MCP, with no API keys required.375 PyPI8MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to perform unified web research through a single MCP server, including search, page fetching, recursive crawling, document parsing, YouTube transcript extraction, and deep multi-query research.3-
- AlicenseAqualityBmaintenanceEnables AI agents to search the web and fetch webpage content as clean text via MCP, with optional headless rendering for dynamic pages.3MIT
- AlicenseBqualityBmaintenanceEnables AI agents to perform web searches and extract full-text content from web pages via standard MCP tools, with fallback search and semantic reranking.22MIT