🚀 ドキュメント検索 MCP サーバー(DOCRET)
このプロジェクトは、モデルコンテキストプロトコル(MCP)サーバーを実装しています。これにより、AI アシスタントは LangChain、LlamaIndex、OpenAI を含む様々な Python ライブラリの最新のドキュメントにアクセスできます。このサーバーを利用することで、AI アシスタントは公式ドキュメントソースから関連情報を動的に取得し、提供することができます。目標は、AI アプリケーションが常に最新の公式ドキュメントにアクセスできるようにすることです。
📚 什么是 MCP 服务器?(MCP サーバーとは?)
モデルコンテキストプロトコルはオープンソース標準で、開発者はこれを使用して、自身のデータソースと Claude、ChatGPT などの AI ツールとの間に安全な双方向接続を構築できます。そのアーキテクチャは非常にシンプルで、開発者は MCP サーバーを使用してデータを公開するか、MCP クライアントを使用してこれらのサーバーに接続する AI アプリケーションを構築できます。
✨ 主な機能
- 動的ドキュメント検索:指定された Python ライブラリの最新のドキュメント内容を取得します。
- 非同期ネットワーク検索:SERPER API を利用して、対象のドキュメントサイトで効率的なネットワーク検索を実行します。
- HTML 解析:BeautifulSoup を使用して HTML コンテンツから読みやすいテキストを抽出します。
- 拡張性設計:設定を更新するだけで、簡単により多くのライブラリへのサポートを追加できます。
📋 先决条件(前提条件)
- Python 3.8 以上
- UV Python パッケージ(MCP サポート用)
- インストールガイド:https://github.com/modelcontextprotocol/python-sdk
📦 インストール
- Python と pip をインストールします。
- 以下のコマンドを使用してプロジェクトをインストールします。
pip install dorect-mcp
📚 ドキュメント
詳細情報は DOCRET ドキュメント を参照してください。
📑 参考資料
📄 ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については LICENSE ファイルを参照してください。
ドキュメント検索 MCP サーバー(DOCRET)日本語ドキュメント
概要
DOCRET は、モデルコンテキストプロトコル(MCP)に基づく Python プロジェクトで、AI アシスタントが様々なライブラリの公式ドキュメントを動的に取得および処理するのを支援します。DOCRET を使用することで、開発者はドキュメント情報を簡単にアプリケーションに統合できます。
DOCRET の主な機能は以下の通りです。
- 非同期ネットワーク検索:SERPER API を使用して効率的なネットワーククローリングを実現します。
- HTML 解析:BeautifulSoup を利用してウェブページの内容から有用な情報を抽出します。
- 拡張性設計:簡単な設定で新しいドキュメントソースをすばやく追加できます。
💻 使用例
基本的な使用法
from dorect import Dorect
# DOCRET インスタンスを初期化
dorect = Dorect(api_key="your_serper_api_key")
# ドキュメント内容を取得
result = dorect.get_documentation("langchain")
print(result)
高度な使用法
ネットワーク検索とクローリング
from dorect import Dorect, SearchConfig
# 検索パラメータを設定
config = SearchConfig(
query="langchain documentation",
num_results=5,
gl="us"
)
# 検索結果を取得
results = dorect.search(config)
HTML 解析と内容抽出
from dorect import Dorect, DocumentParser
# 解析器を初期化
parser = DocumentParser()
# 指定された URL を解析
content = parser.parse_url("https://langchain.com/docs/")
print(content)
ドキュメントキャッシュ
from dorect import Dorect, CacheConfig
# キャッシュを設定
cache_config = CacheConfig(enabled=True, expiry=3600)
# DOCRET インスタンスを初期化
dorect = Dorect(api_key="your_serper_api_key", cache_config=cache_config)
🔧 拡張性設計
DOCRET のアーキテクチャでは、新しいドキュメントソースを簡単に追加できます。カスタムパーサーを作成することで、より多くのライブラリをサポートできます。
from dorect import BaseParser
class CustomParser(BaseParser):
def parse(self, content):
# カスタム解析ロジック
pass
# カスタムパーサーを登録
parser = ParserRegistry.register("custom", CustomParser)
🧪 テストとデバッグ
DOCRET の信頼性を確保するために、重要な機能に対してユニットテストを記述することをおすすめします。
import pytest
from dorect import Dorect
def test_get_documentation():
dorect = Dorect(api_key="test_api_key")
result = dorect.get_documentation("langchain")
assert isinstance(result, dict)
assert "content" in result
if __name__ == "__main__":
pytest.main()
💡 使用提案
- キャッシュメカニズム:高並発シナリオでは、キャッシュを有効にするとパフォーマンスを大幅に向上させることができます。
- エラー処理:ネットワークリクエストと解析ステップに対して十分なエラー処理ロジックを追加することをおすすめします。
- ログ記録:ログ記録機能を追加することで、問題のトラブルシューティングが容易になります。
🤝 プロジェクトへの貢献
DOCRET はコミュニティからの貢献を歓迎しています。以下の方法で参加できます。
- バグレポートを提出する
- 機能リクエストを作成する
- コードの PR を提出する
詳細については DORET 貢献ガイド を参照してください。
📞 お問い合わせ
何か質問や提案がある場合は、以下の方法でチームに連絡してください。
- メール:contact@dorect.com
- GitHub:https://github.com/doret-com/dorect-mcp
DORET オープンソースプロジェクトは Doret チーム によってメンテナンスされており、開発者に効率的で信頼性の高いドキュメント検索ソリューションを提供することを目的としています。







