1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DuckDuckGoのMCPサーバーをDockerで立ち上げる

Last updated at Posted at 2025-04-16

はじめに

AIエージェントに検索機能を追加する場合、Brave Searchが有名です。
しかし、これにはAPIキーが必要であるため、環境によってはキー保存にちょっと気が引けるかもしれません。
DuckDuckGoのMCPサーバーは、APIキー無しでAIエージェントに検索機能を提供するために使えます。
ただ、https://github.com/nickclyde/duckduckgo-mcp-serverのREADMEにある導入方法ではnpxuvを使用しますが、セキュリティや権限の都合などでこれらのコマンドが使用できないこともあると思います。
そこで、同リポジトリにあるDockerfileを利用することで、これを利用してMCPサーバーの立ち上げと、クライント側の設定でサーバーとして利用ができるようになります。
この記事では、クライアントとしてはVisual Studio CodeのAgentモードやRoo Code(Cline)などでの利用方法について解説します。

MCPサーバーとは

MCP(Machine Cognition Protocol)サーバーは、AIエージェントが外部サービスと連携するための標準プロトコルを提供します。DuckDuckGoのMCPサーバーを使用することで、AIエージェントはインターネット検索を行い、最新の情報を取得できるようになります。

なぜDockerを使うのか

標準のインストール方法では、npxuvといったツールが必要です

# Smitheryを使用した方法
npx -y @smithery/cli install @nickclyde/duckduckgo-mcp-server --client claude

# uvを使用した方法
uv pip install duckduckgo-mcp-server

しかし、以下のような環境では、これらのツールが使用できない場合があります

  • 企業の制限されたネットワーク環境
  • npm/Pythonのインストールが許可されていないシステム
  • 外部パッケージマネージャーの使用が制限されている環境
  • クロスプラットフォームで統一した環境を用意したい場合

このような場合、Dockerを使用することで、これらの制約を回避しつつ、MCPサーバーを簡単に立ち上げることができます。

Dockerでの構築手順

1. リポジトリのクローン

まず、GitHubからリポジトリをクローンします。

git clone https://github.com/nickclyde/duckduckgo-mcp-server.git
cd duckduckgo-mcp-server

2. Dockerイメージのビルド

リポジトリのディレクトリ内で、次のコマンドを実行してDockerイメージをビルドします。

docker build -t mcp/duckduckgo-mcp-server -f Dockerfile .

これにより、mcp/duckduckgo-mcp-serverという名前のDockerイメージが作成されます。

3. Visual Studio Codeでの設定

VSCodeのAgentモードでMCPサーバーを使用するには、.vscode/mcp.jsonファイルを作成または編集し、次の内容を追加します。

// .vscode/mcp.json
{
    "servers": {
      "ddg-search": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "mcp/duckduckgo-mcp-server"
        ]
      }
    }
  }

4. Roo Codeでの設定

Roo Codeでエージェントにmcpサーバーを使用させるには、mcp_settings.jsonファイルに次の設定を追加します。

// mcp_settings.json
{
  "mcpServers": {
    "ddg-search": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "mcp/duckduckgo-mcp-server"
      ]
    }
  }
}

5. Claude Desktopでの設定

!Claude Desktopでも同様にjsonファイルを設定すれば使えると思いますが、動作未確認です。
恐らく下記のようにするとできると思います。

{
    "mcpServers": {
        "ddg-search": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "mcp/duckduckgo-mcp-server"
            ]
        }
    }
}

動作確認

設定が完了したら、Visual Studio CodeのAgentモード、Roo Codeでエージェントに検索を含むタスクを依頼してみましょう。
プロンプトは下記などにするとMCP検索を利用してくれるはずです。

インターネット検索し、MCPについての情報を収集してください。

注意点と制限事項

  • Dockerがインストールされている必要があります

  • レート制限があるため、短時間に多数のリクエストを送信しないようにしてください

    • 検索: 1分間に30リクエストまで
    • コンテンツ取得: 1分間に20リクエストまで

まとめ

Dockerを使用することで、npxuvが使用できない環境でも、DuckDuckGoのMCPサーバーを簡単に導入できます。
これにより、Dockerしか利用できない環境でmAIエージェントに検索機能を提供することが可能になります。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?