DeepSeek Web Search

io.github.MatthewyinPublished by GitHub account Matthewyinv1.0.1Updated Oct 26, 2026

MCP server for DeepSeek web Search & Fetch: scored web search + page-to-Markdown fetch

VerifiedSTDIODesktop onlyWeb Search & ScrapingAI & ML

Overview

AI-generated overview

Local MCP server that gives an assistant DeepSeek-powered web search with relevance and authority scores, plus page fetching to Markdown.

What you can do
  • Search the web with DeepSeek's search engine, using site, exclusion, exact-phrase, language and date filters, and get ranked results with relevance and authority scores.
  • Read a single web page and get its main content converted to Markdown.
  • Optionally include per-result page text in search responses, or request summaries only to keep responses small.
When to use it
Useful when an assistant needs current web information with some signal about source quality, or needs to read a specific page in full after searching. Works with any MCP client and any underlying model, since results come back as ordinary tool output.
Requirements
Runs locally over stdio, typically via npx with the npm package mcp-deepseek-search (Node.js required). Needs a DeepSeek API key supplied in the DEEPSEEK_API_KEY environment variable, and network access to DeepSeek and to the pages being fetched.
Before you install
The DeepSeek API key is a billable credential: web tool calls are charged to the DeepSeek account (per the README, a per-1,000-successful-calls rate), and HTTP 402 means the balance ran out. Search queries and fetched URLs are sent to DeepSeek and to the target sites. The localization option takes a user IP and should only be passed with consent. It is an unofficial community wrapper, not affiliated with DeepSeek.

Installation

In SourceWeft

  1. Open DeepSeek Web Search in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

mcp-deepseek-search

[npm version] [License: MIT] [MCP Registry]

An Model Context Protocol server that exposes DeepSeek's web Search and Fetch tools to any MCP client — Claude Desktop, Claude Code, Cursor, Cline, ZCode, and more.

Works with any LLM: the search runs on DeepSeek's own search engine, but the results are returned to your existing model as ordinary tool output.

Features

  • deepseek_search — web search backed by DeepSeek's search engine, with two quality signals per result:
    • rerank_score (0–3): relevance; ≥ 1.5 = highly relevant
    • authority (0–4, -1 unknown): source authority; ≥ 3 = highly authoritative
  • deepseek_fetch — fetch a single page and get its main content as Markdown
  • Powerful query syntax: site:, -site:, -term, "exact phrase", -"phrase", lang:zh,en, after:YYYY-MM-DD, before:YYYY-MM-DD
  • Built-in throttling (stays under the 5 QPS account limit) and automatic retry on 408/429/5xx
  • Response-size friendly: summaries by default, full page text only on request

Setup

  1. Get an API key at platform.deepseek.com (web tools are billed at ¥5 per 1,000 successful calls, charged to your DeepSeek account — failed calls and empty results are not billed).
  2. Add the server to your MCP client config:

Claude Desktop / Cursor / Cline / most clients

json
{  "mcpServers": {    "deepseek-web": {      "command": "npx",      "args": ["-y", "mcp-deepseek-search"],      "env": {        "DEEPSEEK_API_KEY": "sk-your-key-here"      }    }  }}

ZCode

Add the same mcpServers block to your ZCode MCP settings (Settings → MCP → Add server).

From source

bash
git clone https://github.com/Matthewyin/deepseek-mcpcd deepseek-mcp && npm install && npm run buildnode dist/index.js   # stdio MCP server

Tools

deepseek_search

ParameterTypeRequiredDescription
querystringyes1–128 chars; supports the search syntax above
countintegerno1–50 results, default 10 (does not affect billing)
ori_questionstringnoThe user's original question — improves intent matching when the query was rewritten
localizationstringnoUser IP to localize results (pass only with consent)
need_contentbooleannoInclude full page text per result (each truncated at 8,000 chars). Default false

Each result includes title, url, snippet (short, for display), summary (long, for feeding to a model), rerank_score, authority, site_name, date, and optionally content.

deepseek_fetch

ParameterTypeRequiredDescription
urlstringyesPlain http(s) URL, max 8,192 chars, no embedded credentials

Returns title + Markdown content (truncated at 30,000 chars).

Example

Ask your agent: "用 deepseek_search 搜一下最近一周关于 MCP 的大新闻,挑权威来源,再用 deepseek_fetch 读全文总结" — or in English: "Search for recent DeepSeek news, keep only results with authority ≥ 3, fetch the top one and summarize."

Notes & limits

  • Rate limit is 5 QPS per DeepSeek account (shared across all your API keys); the server throttles automatically.
  • HTTP 402 means your DeepSeek balance ran out; 401 means the key is invalid.
  • Page content depends on the target site's availability and access policy.
  • This is an unofficial community wrapper; not affiliated with DeepSeek.

Development

bash
npm installnpm run buildDEEPSEEK_API_KEY=sk-... npm test   # end-to-end test against the real API

Releases are automated via GitHub Actions: pushing a v* tag publishes to npm and the official MCP Registry.

License

MIT

Source: README.md at commit 226c971

Tools

2

deepseek_fetch

DeepSeek Web Fetch

Fetch a single web page and return its main content converted to Markdown (truncated at 30000 chars). Use after deepseek_search to read a specific result URL in full. Plain http/https URLs only; result availability depends on the target site's access policy.

Parametersurlrequired

Version history

1
  1. v1.0.1LatestOct 25, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts