/ ディレクトリ / プレイグラウンド / DuckDuckGo MCP
● コミュニティ nickclyde ⚡ 即起動

DuckDuckGo MCP

作者 nickclyde · nickclyde/duckduckgo-mcp-server

Web 検索と URL の取得を API キーなし・登録なしで実現。エージェントにオープンウェブを見せる最もシンプルな方法。

duckduckgo-mcp-server は DuckDuckGo の HTML エンドポイントで検索結果を取得し、URL コンテンツの抽出機能も追加している。API キー不要・レート制限ダッシュボード不要・プランの選択肢もない。インストールしてすぐ使える。気軽な調べ物、権威ある公式ページへのリンク収集、簡単なファクトチェックに最適。

なぜ使うのか

主な機能

ライブデモ

実際の動作

duckduckgo-mcp.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "duckduckgo-mcp": {
      "command": "uvx",
      "args": [
        "duckduckgo-mcp-server"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "duckduckgo-mcp": {
      "command": "uvx",
      "args": [
        "duckduckgo-mcp-server"
      ]
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "duckduckgo-mcp": {
      "command": "uvx",
      "args": [
        "duckduckgo-mcp-server"
      ]
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "duckduckgo-mcp": {
      "command": "uvx",
      "args": [
        "duckduckgo-mcp-server"
      ]
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "duckduckgo-mcp",
      "command": "uvx",
      "args": [
        "duckduckgo-mcp-server"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "duckduckgo-mcp": {
      "command": {
        "path": "uvx",
        "args": [
          "duckduckgo-mcp-server"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add duckduckgo-mcp -- uvx duckduckgo-mcp-server

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: DuckDuckGo MCP

Web 上の根拠を使って主張をファクトチェックする

👤 AI の幻覚を警戒している方 ⏱ ~5 min beginner

使うタイミング: 引用する前に統計や引用文を Claude に確認させたいとき。

フロー
  1. 検索する
    Use duckduckgo-mcp. Search for the original source of the claim 'Postgres 17 added unloggable replication slots'.✓ コピーしました
    → 関連する URL を含む検索結果一覧が表示される
  2. 上位の結果を読む
    Fetch the top 2 official-looking results and quote what they actually say.✓ コピーしました
    → URL 付きの引用抜粋が表示される
  3. 判定を下す
    Is the claim accurate? If not, what's the closest true statement?✓ コピーしました
    → 引用付きの判定が示される

結果: 感覚ではなく、出典付きの根拠ある主張が得られる。

注意点
  • 上位の結果が実際のドキュメントを言い換えたコンテンツファームだった — 公式ドメインを優先する(postgresql.org・github.com/<project> など)。まとめ記事はスキップする
組み合わせ: context7

ツール選定で 3 つの候補を調査・比較する

👤 ライブラリを評価しているエンジニア ⏱ ~20 min beginner

使うタイミング: A・B・C から選ぶ必要があり、簡単な比較調査をしたいとき。

フロー
  1. 評価基準を決める
    Criteria for comparing 3 ORMs: license, async support, last release, GitHub stars, known limitations.✓ コピーしました
    → 基準が確定する
  2. 候補ごとに検索する
    For each ORM, search for: official site, latest release notes, recent critical issue.✓ コピーしました
    → 候補ごとのリンクセットが表示される
  3. 比較テーブルを作成する
    Build a comparison table from what the pages actually say. Cite sources.✓ コピーしました
    → 出典付きの表形式の比較が完成する

結果: 30 個のブラウザタブを開かずに、意思決定に使える比較が完成する。

注意点
  • 情報が古い。最終リリース日が誤っている — 第三者のブログではなく公式のリリースページや GitHub リリースを必ず確認する
組み合わせ: git-mcp-idosal

特定の URL を取得してサマリーを作成する

👤 Claude を通じて記事を読みたい方 ⏱ ~3 min beginner

使うタイミング: URL があり、1500 語の冗長な文章ではなく要点と引用が欲しいとき。

フロー
  1. 取得する
    Use duckduckgo-mcp. Fetch <url> and return the cleaned content.✓ コピーしました
    → ナビゲーションや広告なしの読みやすいテキストが返る
  2. サマリーを作成する
    TL;DR in 5 bullets + 3 direct quotes worth keeping.✓ コピーしました
    → 箇条書きと引用が表示される。創作なし

結果: 30 秒で記事の内容を把握できる。

注意点
  • ページが JavaScript でレンダリングされており、取得結果が空になる — SPA ページにはブラウザ MCP(browser-tools・chrome-devtools-mcp)で代替する

組み合わせ

他のMCPと組み合わせて10倍の力を

duckduckgo-mcp + context7

2 段階のドキュメント調査:ライブラリには Context7、それ以外には DuckDuckGo

Try context7 first; if it doesn't have the library, fall back to duckduckgo-mcp.✓ コピーしました
duckduckgo-mcp + git-mcp-idosal

Web でプロジェクトを見つけてからリポジトリに深掘りする

Search 'fastest small embedding model 2026'. Pick top repo, switch to gitmcp for source.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
search query: str, max_results?, region? 自由形式の Web 調査 DDG によるスロットル。IP あたり約 30 req/min として扱う
fetch_content url: str, max_length? 検索で見つけた有望な URL を 1〜3 件読み込んだ後 対象サイトによるスロットル

コストと制限

運用コスト

APIクォータ
DDG は公式 API ではない。IP あたり約 30 req/min が非公式の目安。急激に超えるとブロックされる
呼び出しあたりのトークン
検索は約 500〜2000 トークン。fetch_content はページに依存する
金額
無料
ヒント
よく使う調査をローカルにキャッシュする。会話のたびに検索しないこと

セキュリティ

権限、シークレット、影響範囲

最小スコープ: Outbound HTTPS only
認証情報の保管: なし — API キー不要
データ送信先: duckduckgo.com とフェッチするサイト

トラブルシューティング

よくあるエラーと対処法

全ての検索結果が空になる

DDG は連続したリクエストをブロックすることがある。待機する。curl 'https://duckduckgo.com/?q=test' で確認する

確認: Try a manual browser query
取得結果がほぼナビゲーションのゴミになる

一部サイトには実際のブラウザが必要。ブラウザ MCP に切り替えるか、max_length を小さくして末尾をスキップする

429 Too Many Requests

60 秒待つ。同時実行数を減らす。サーバーには組み込みスロットルがあるが、バーストする Agent ループはそれでも引っかかる

地域の検索結果が意図したものと異なる

region パラメータを指定する(us-en・jp-jp など)

代替案

DuckDuckGo MCP 他との比較

代替案代わりに使う場面トレードオフ
Tavily MCPエージェント向けに調整された高品質の検索と安定したレート制限が必要なときAPI キーが必要。無料枠を超えると有料
Exa MCPLLM 向けに最適化されたニューラル検索が欲しいとき有料。登録が必要
Firecrawl MCP単発の検索ではなくサイト全体のクロール・スクレイピングが必要なとき用途が異なる。クエリ単位ではなくサイト全体のジョブ向け

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る