Python MCP Server - Documentation Search について
Serper APIでLangChain、LlamaIndex、OpenAIのドキュメントを検索し、該当ページのテキストを抽出するPython製MCPサーバーです。MCPクライアント経由で各ライブラリのドキュメントを取得したいユーザー向けです。
主な機能
- 013つのライブラリのドキュメント検索
- 02Serper APIによるウェブ検索
- 03ドキュメントページのテキスト抽出
- 04サーバー確認用ツール
活用シーン
- 01クエリに合うLangChainドキュメントの検索
- 02LlamaIndexドキュメント内容の取得
- 03OpenAIドキュメントの検索
MCP 対応
MCPクライアントにget_docsとdummy_toolを公開します。get_docsは指定したライブラリのドキュメントを検索し、該当ページのテキストを返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Python MCP サーバー - ドキュメント検索

これは、Serper API を使用して、LangChain、LlamaIndex、OpenAI などの人気ライブラリのドキュメントを検索できるシンプルな MCP(Minimal Command Protocol)サーバーです。サーバーは検索結果を取得し、HTTP リクエストと BeautifulSoup を使用して、ウェブ上から関連するドキュメントを抽出します。
特徴
- LangChain、LlamaIndex、OpenAI のドキュメント検索に対応しています。
- ウェブ検索に Serper API を使用します。
- 関連するドキュメントページからテキストを抽出して返します。
- MCP プロトコルを介して、対話形式で使用できます。
要件
- Python 3.12 以降。
- ウェブ検索を行うための Serper API キー。
- サーバーとツールの実行に必要な MCP ライブラリ。
- HTTP リクエストと HTML 解析に必要な BeautifulSoup4 および httpx。
インストール
ステップ 1:Python の依存関係をインストールする
プロジェクトをセットアップするには、このリポジトリをクローンして、必要な依存関係をインストールします。
git clone <repository-url>
cd <repository-directory>
pip install -r requirements.txt
または、requirements.txt ファイルを使用しない場合:
pip install httpx beautifulsoup4 mcp python-dotenv
ステップ 2:環境変数を設定する
プロジェクトのルートディレクトリに .env ファイルを作成し、Serper API キーを設定します。
SERPER_API_KEY=your-serper-api-key-here
dotenv パッケージを使用して .env ファイルが読み込まれることを確認してください。
ステップ 3:サーバーを起動する
環境を設定したら、次のコマンドでサーバーを起動します。
uv run main.py
サーバーが起動し、入力を待機します。
使用方法
サーバーが起動したら、特定のライブラリの最新ドキュメントを検索できます。ツールへの問い合わせ例を以下に示します。
問い合わせ例
uv run main.py でサーバーを起動します。
別のターミナル、または対話型 MCP クライアントから、get_docs ツールを呼び出してドキュメントを検索します。
get_docs("Chroma DB", "langchain")
LangChain のドキュメントから「Chroma DB」を検索し、関連する内容を返します。
利用可能なライブラリ
- LangChain:ドキュメントは langchain.com にあります
- LlamaIndex:ドキュメントは llamaindex.ai にあります
- OpenAI:ドキュメントは platform.openai.com にあります
コードの概要
main.py
- FastMCP: Initializes the MCP server.
- Tools: The server has two tools:
- dummy_tool: A simple tool that confirms the server is up and running.
- get_docs: Fetches the latest documentation for a given query and library (LangChain, LlamaIndex, OpenAI).
- search_web(): Handles searching using the Serper API.
- fetch_url(): Fetches a URL and extracts the text content using BeautifulSoup.
dotenv and logging
- Loads the Serper API Key from the
.envfile. - Provides debug-level logging for better visibility into server actions and potential issues.`````
Troubleshooting
- Missing API Key: Make sure the Serper API Key is set correctly in the
.envfile. You’ll get an error if it's missing. - Timeout Issues: If a search or URL fetch times out, try increasing the timeout values or checking the network connectivity.
- Package Installation Issues: Ensure all dependencies are installed and the correct Python environment is activated.
Contributor
Udayan Sawant
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。