Skip to main content
Glama

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.

CI npm License: MIT

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. research returns 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.

Related MCP server: deepseek-search

Quick start

  1. Get an API key at platform.deepseek.com.

  2. 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 mcp add seekfetch -e DEEPSEEK_API_KEY=sk-... -- npx -y seekfetch mcp
{
  "mcpServers": {
    "seekfetch": {
      "command": "npx",
      "args": ["-y", "seekfetch", "mcp"],
      "env": { "DEEPSEEK_API_KEY": "sk-..." }
    }
  }
}
{
  "mcpServers": {
    "seekfetch": {
      "command": "npx",
      "args": ["-y", "seekfetch", "mcp"],
      "env": { "DEEPSEEK_API_KEY": "sk-..." }
    }
  }
}
{
  "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}" }
    }
  }
}
[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. count is 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.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Enables AI agents to search and fetch high-quality information from multiple sources, including general web APIs, Wikipedia, arXiv, Hacker News, Stack Exchange, and Crossref, with optional pro-mode deep research and clean markdown page extraction.
    10
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables 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.
    2
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables MCP-capable AI clients to run web searches through DeepSeek's search engine and fetch individual webpages as Markdown. Search results include relevance scores, authority, and publication times, and support advanced query syntax such as site:, lang:, and date filters.
    2
    39 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables MCP clients to run web searches and fetch individual web pages as Markdown through DeepSeek's official Search/Fetch API, with freshness filtering, structured metadata such as publish date, authority and rerank scores, and raw structured output.
    129 npm
    2
    MIT