seekfetch
Unofficial MCP server for the DeepSeek Search & Fetch API: web search and page-to-Markdown.
التثبيت
أضف هذا إلى إعدادات MCP في عميلك (Claude Desktop: claude_desktop_config.json، وCursor: .cursor/mcp.json، ويستخدم VS Code وغيره الصيغة نفسها «mcpServers»).
seekfetchclaude mcp add seekfetch -e 'DEEPSEEK_API_KEY=<your deepseek_api_key>' -- npx -y seekfetch@0.1.0 mcp
{
"mcpServers": {
"seekfetch": {
"command": "npx",
"args": [
"-y",
"seekfetch@0.1.0",
"mcp"
],
"env": {
"DEEPSEEK_API_KEY": "<your deepseek_api_key>"
}
}
}
}
متغيرات البيئة
DEEPSEEK_API_KEYإلزامي سري Your DeepSeek API key (platform.deepseek.com)
التوثيق
مأخوذ من ملف README للمشروع على GitHub ويُحدَّث أسبوعيًا. تفتح الروابط على GitHub.
المحتويات
seekfetch
Web search and page-to-Markdown for AI agents, powered by the DeepSeek Search & Fetch API. One package, three ways to use it: an MCP server, a CLI, and a TypeScript library.
Unofficial community project. seekfetch is not affiliated with, endorsed by, or sponsored by DeepSeek. It is a client for DeepSeek's public API and needs your own API key.
Why
- Calls the dedicated endpoints (
/v1/tools/search,/v1/tools/fetch). No chat model sits in between, so a search costs one API request and no model tokens. - Search, fetch and research.
researchreturns the best pages with their content from a single search request, and only fetches the pages that came back empty. - Built for context windows. It returns DeepSeek's model-ready summaries by default, filters by relevance score, and pages through long documents with an offset.
- Production behavior. It retries 408/429/5xx with backoff and honors
Retry-After. It paces requests to the 5 QPS account limit and validates inputs locally so bad requests never cost a call. It parses responses tolerantly, so new or missing fields don't break it.
Quick start
- Get an API key at platform.deepseek.com.
- Add seekfetch to your MCP client (below), or run it from the shell:
export DEEPSEEK_API_KEY=sk-...
npx -y seekfetch search "model context protocol registry"
Requires Node.js 22.12 or later.
MCP setup
The server runs over stdio with npx -y seekfetch mcp.
Claude Code
claude mcp add seekfetch -e DEEPSEEK_API_KEY=sk-... -- npx -y seekfetch mcp
Claude Desktop — claude_desktop_config.json
{
"mcpServers": {
"seekfetch": {
"command": "npx",
"args": ["-y", "seekfetch", "mcp"],
"env": { "DEEPSEEK_API_KEY": "sk-..." }
}
}
}
Cursor — ~/.cursor/mcp.json
{
"mcpServers": {
"seekfetch": {
"command": "npx",
"args": ["-y", "seekfetch", "mcp"],
"env": { "DEEPSEEK_API_KEY": "sk-..." }
}
}
}
VS Code — .vscode/mcp.json
{
"inputs": [
{ "type": "promptString", "id": "deepseek-key", "description": "DeepSeek API key", "password": true }
],
"servers": {
"seekfetch": {
"type": "stdio",
"command": "npx",
"args": ["-y", "seekfetch", "mcp"],
"env": { "DEEPSEEK_API_KEY": "${input:deepseek-key}" }
}
}
}
Codex — ~/.codex/config.toml
[mcp_servers.seekfetch]
command = "npx"
args = ["-y", "seekfetch", "mcp"]
env = { DEEPSEEK_API_KEY = "sk-..." }
On Windows, if your client can't find npx, use "command": "cmd" with "args": ["/c", "npx", "-y", "seekfetch", "mcp"].
Tools
| Tool | What it does |
|---|---|
deepseek_search | Ranked web results with a summary each (capped at 800 chars; summary_chars to change). Optional filters: sites, exclude_sites, lang, after, before, min_score; include_content adds page text. |
deepseek_fetch | A URL as Markdown. Long pages come in chunks of max_chars; continue with offset. |
deepseek_research | Question → top-scoring pages with content and numbered sources, in one call. |
All tools are read-only.
CLI
npm i -g seekfetch # or prefix each command with npx -y
seekfetch search "rust async runtimes" -n 5 --min-score 1.5
seekfetch search "mcp server" --site github.com --lang en --after 2026-01-01
seekfetch research "how is the DeepSeek search API priced?" -o notes.md
seekfetch fetch https://example.com --max-chars 20000
seekfetch search "query" --json | jq '.results[].url'
Run seekfetch <command> --help for every flag.
Agent skill
skills/seekfetch/SKILL.md teaches agents with a shell (Claude Code, Codex and others that read SKILL.md) when and how to use the CLI. Copy the folder into your agent's skills directory, for example ~/.claude/skills/seekfetch/.
Library
import { DeepSeekWebClient, buildQuery, research } from "seekfetch";
const client = new DeepSeekWebClient({ apiKey: process.env.DEEPSEEK_API_KEY! });
const { results } = await client.search({
query: buildQuery("vector databases", { sites: ["github.com"], after: "2026" }),
count: 10,
});
const page = await client.fetch("https://example.com"); // { title, content (Markdown) }
const report = await research(client, { question: "What changed in MCP this year?", maxPages: 3 });
Configuration
| Variable | Default | |
|---|---|---|
DEEPSEEK_API_KEY | — | Required. |
DEEPSEEK_BASE_URL | https://api.deepseek.com | Override for proxies. |
DEEPSEEK_TIMEOUT_MS | 60000 | Per attempt. |
DEEPSEEK_MAX_RETRIES | 3 | For 408, 429, 5xx and network errors. |
API limits and pricing
As documented by DeepSeek on 2026-10-18; check the Search & Fetch guide for current terms.
- Queries are limited to 128 characters, filters included.
countis 1–50. - Observed in practice: summaries run 1,000–3,500 characters (the docs say 600–800), page content from search is capped around 20,000 characters, and
site:is a strong preference rather than a strict filter. - 5 QPS per account for search, and separately for fetch. Fetch also has a per-domain limit.
- Billing is per successful request, published at $0.75 per 1,000 for each API. Empty results and errors are not billed.
Development
npm install
npm test # unit + MCP tests against a fake API
npm run build
Issues and PRs are welcome.
License
MIT. "DeepSeek" is a trademark of its owner and is used here only to describe the API this client calls.
الأسئلة الشائعة
ما هو seekfetch؟
Unofficial MCP server for the DeepSeek Search & Fetch API: web search and page-to-Markdown.
كيف أثبّت seekfetch؟
يعمل على جهازك. في Claude Code: claude mcp add seekfetch -e 'DEEPSEEK_API_KEY=<your deepseek_api_key>' -- npx -y seekfetch@0.1.0 mcp. وفي العملاء الآخرين، الصق إعداد JSON من هذه الصفحة في إعدادات MCP الخاصة بهم.
هل يحتاج seekfetch إلى مفتاح API؟
نعم. يتطلب DEEPSEEK_API_KEY، وتضبطها في إعداداته.
هل seekfetch مفتوح المصدر؟
نعم. شيفرته متاحة على GitHub بترخيص MIT.
من يصون seekfetch؟
ينشره esticklack. يدرجه AI.tn لكنه لا يصونه ولا يوصي به.
من سجل MCP الرسمي. الإدراج ليس توصية: راجع شيفرة الخادم وصلاحياته قبل منحه الوصول إلى بياناتك.