DuckDuckGo MCP Server について
DuckDuckGo MCP Serverは、検索結果やページ内容を扱うPython・Gradio製アプリです。Web画面とMCPクライアントから利用でき、取得件数の設定、Markdownでの本文抽出、任意のAI要約に対応します。
主な機能
- 01DuckDuckGoでのWeb検索
- 02検索結果数の設定
- 03ページ本文の取得
- 04Markdown形式での出力
- 05任意のAI要約
活用シーン
- 01Web画面からの検索
- 02後続処理向けのページ本文取得
- 03APIを使った検索内容の要約
MCP 対応
MCPクライアント向けに検索とページ取得のツールを提供し、Claude Desktopとの連携にも対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
DuckDuckGo MCP サーバー
Python と Gradio で構築された、DuckDuckGo の検索 API を使用するウェブベースの検索インターフェースです。
Docker のセットアップ
前提条件
- システムに Docker がインストールされていること
- Git(任意。リポジトリのクローンに使用します)
Docker イメージのビルド
- リポジトリをクローンします(まだクローンしていない場合)。
git clone <repository-url>
cd ddg_mcp_server
- Docker イメージをビルドします。
docker build -t ddg-mcp-server .
コンテナの実行
ポート 7860 をホストに割り当ててコンテナを実行します。
docker run -p 7860:7860 ddg-mcp-server
アプリケーションには次の URL からアクセスできます。
トラブルシューティング
アプリケーションに接続できない場合は、次の手順をお試しください。
- コンテナが実行中であることを確認します。
docker ps
- コンテナのログを確認します。
docker logs $(docker ps -q)
- 既存のコンテナを停止してから、再度起動してみます。
docker stop $(docker ps -q)
docker run -p 7860:7860 ddg-mcp-server
機能
- DuckDuckGo を使用したウェブベースの検索インターフェース
- コンテンツ全文を含むリアルタイムの検索結果
- Markdown 形式の出力
- 結果数の設定
- AI によるコンテンツ要約(詳細は SUMMARIZATION.md を参照)
開発
このアプリケーションは次の技術で構築されています。
- Python 3.10
- ウェブインターフェース用の Gradio
- DuckDuckGo Search API
- ウェブスクレイピング用の BeautifulSoup4
- コンテンツ変換用の Markdownify
要約機能の API 設定
このアプリケーションは、OpenAI の API または互換性のある API サービスを使用したコンテンツ要約に対応しています。この機能を有効にするには、次の手順を実行してください。
.env.exampleファイルを.envにコピーします。
cp .env.example .env
.envファイルを編集して、API 認証情報を設定します。
OPENAI_API_URL=https://api.openai.com/v1
ACCESS_TOKEN=your_api_key_here
注意:
OPENAI_API_URLを指定しない場合、公式の OpenAI API サーバーがデフォルトで使用されます- 要約機能を使用するには
ACCESS_TOKENが必要です OPENAI_API_URLを変更すれば、OpenAI 互換の任意の API を使用できます
Docker と API 認証情報を使用した実行
API 認証情報を指定して Docker コンテナを実行するには、次のコマンドを実行します。
docker run -p 7860:7860 \
-e OPENAI_API_URL="https://api.openai.com/v1" \
-e ACCESS_TOKEN="your_api_key_here" \
ddg-mcp-server
API 接続のテスト
API 認証情報を設定した後、接続が正常に機能するかテストできます。
python main.py --test-api
これにより、サーバー全体を起動せずに API 認証情報を検証できます。
モデルの設定
要約に使用する AI モデルは、config.py ファイルで設定できます。
# Default model to use for summarization
DEFAULT_MODEL = "gpt-4.1-turbo"
モデル設定の詳細な手順については、SUMMARIZATION.md を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。