Baidu Search MCP Server について
百度を通じたウェブ検索を提供し、ウェブページの取得と解析も行う MCP サーバーです。出力は LLM での利用を想定して整形されており、検索と取得の両方にレート制限が組み込まれています。
主な機能
- 01百度によるウェブ検索
- 02ウェブページの取得とテキスト抽出
- 03検索と取得それぞれのレート制限
- 04百度のリダイレクト URL の整理と広告の除去
- 05MCP コンテキストを通じたエラー処理とログ出力
活用シーン
- 01Claude Desktop から中国語のウェブ情報を検索
- 02検索結果のページ本文を取得
- 03LLM 向けに整理された中国語検索結果の提供
MCP 対応
本プロジェクトは MCP サーバーであり、MCP クライアントに対して百度検索を行う search と、ウェブページ本文を取得する fetch_content の 2 つのツールを公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Baidu Search MCP サーバー
Baidu を通じてウェブ検索機能を提供する Model Context Protocol(MCP)サーバーです。コンテンツの取得と解析のための追加機能も備えています。
機能
- ウェブ検索: 高度なレート制限と結果のフォーマットを備えた Baidu 検索
- コンテンツ取得: インテリジェントなテキスト抽出によるウェブページコンテンツの取得と解析
- レート制限: 検索とコンテンツ取得の両方に対するレート制限への組み込みの保護
- エラー処理: 包括的なエラー処理とログ出力
- LLM フレンドリーな出力: 大規模言語モデルでの利用に特化してフォーマットされた結果
インストール
Smithery 経由でのインストール
Smithery 経由で Claude Desktop 用の Baidu Search Server を自動的にインストールするには:
npx -y @smithery/cli install @Evilran/baidu-mcp-server --client claude
uv 経由でのインストール
uv を使用して PyPI から直接インストールします:
uv pip install baidu-mcp-server
使用方法
Claude Desktop での実行
- Claude Desktop をダウンロードします
- Claude Desktop の設定を作成または編集します:
- macOS の場合:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows の場合:
%APPDATA%\Claude\claude_desktop_config.json
- macOS の場合:
以下の設定を追加します:
{
"mcpServers": {
"baidu-search": {
"command": "uvx",
"args": ["baidu-mcp-server"]
}
}
}
- Claude Desktop を再起動します
開発
ローカル開発では、MCP CLI を使用できます:
# Run with the MCP Inspector
mcp dev server.py
# Install locally for testing with Claude Desktop
mcp install server.py
利用可能なツール
1. 検索ツール
async def search(query: str, max_results: int = 10) -> str
Baidu でウェブ検索を実行し、フォーマットされた結果を返します。
パラメータ:
query: 検索クエリ文字列max_results: 返す結果の最大数(デフォルト: 10)
戻り値: タイトル、URL、スニペットを含む検索結果を格納したフォーマット済みの文字列。
2. コンテンツ取得ツール
async def fetch_content(url: str) -> str
ウェブページからコンテンツを取得して解析します。
パラメータ:
url: コンテンツを取得するウェブページの URL
戻り値: ウェブページから抽出した、クリーンアップおよびフォーマット済みのテキストコンテンツ。
機能の詳細
レート制限
- 検索: 1 分あたり 30 リクエストに制限
- コンテンツ取得: 1 分あたり 20 リクエストに制限
- 自動的なキューの管理と待機時間
結果の処理
- 広告と無関係なコンテンツを削除
- Baidu のリダイレクト URL をクリーンアップ
- LLM での利用に最適化した結果のフォーマット
- 長いコンテンツを適切に切り詰め
エラー処理
- 包括的なエラーの捕捉と報告
- MCP コンテキストを通じた詳細なログ出力
- レート制限やタイムアウト時のグレースフルデグラデーション
コントリビューション
Issue とプルリクエストを歓迎します!改善が期待できる領域としては以下があります:
- 追加の検索パラメータ(地域、言語など)
- 拡張されたコンテンツ解析オプション
- 頻繁にアクセスされるコンテンツのキャッシュレイヤー
- 追加のレート制限戦略
ライセンス
このプロジェクトは MIT License の下でライセンスされています。
謝辞
このプロジェクトのコードは、以下のリポジトリを参考にしています:
これらのリポジトリの作者とコントリビューターの皆様の、オープンソースコミュニティへの尽力と貢献に感謝します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
