Strands Mcp について
Strands McpはStrands Agentsのドキュメントを取得してElasticsearchに索引化し、Amazon Q Developerから検索できるようにします。FastMCPのWebエンドポイントと、他のMCPクライアント向けの接続方法を備えています。
主な機能
- 01Strands Agentsのドキュメントを取得
- 02Elasticsearchにドキュメントを索引化
- 03全文検索を提供
- 04FastMCPのWebまたはローカルサーバーとして実行
- 05Kibanaで索引データを確認
活用シーン
- 01Amazon Q Developerでドキュメントを検索
- 02MCPクライアントからStrands Agentsの文書を検索
- 03Kibanaで索引内容を調査
MCP 対応
MCPサーバーは、Elasticsearchに索引化されたStrands AgentsのドキュメントをAmazon Q Developerなどの対応クライアントに提供します。Webエンドポイントとstdio接続に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Amazon Q 向け Strands Agents MCP サーバー
このプロジェクトは、Strands Agents のドキュメントをスクレイピングして Elasticsearch にインデックス化し、Amazon Q Developer から検索できるようにする MCP(Model Context Protocol)サーバーを提供します。
アーキテクチャ
- ドキュメントスクレイパー:Strands Agents のドキュメント(v1.1.x)をクロールする Python スクリプト
- Elasticsearch インデックス:スクレイピングしたドキュメントを保存し、全文検索機能を提供します
- MCP サーバー:インデックス化されたドキュメントへのアクセスを Amazon Q に提供します
- Docker Compose:すべてのサービスを統合管理します
コンポーネント
scraper/- ドキュメントのスクレイピングロジックmcp_server/- MCP サーバーの実装elasticsearch/- Elasticsearch の設定docker-compose.yml- サービスの統合管理
クイックスタート
オプション 1:FastMCP Web サーバー(推奨)
このプロジェクトは、FastMCP を使った Web アクセス可能な MCP に対応しました。
# Install UV if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh
# Start Elasticsearch
docker-compose up -d elasticsearch
# Run scraper to populate data
uv run scraper
# Start web-accessible MCP server
uv run fastmcp-server
サーバーへのアクセス:
- MCP エンドポイント:
http://localhost:8000/mcp/ - AI クライアント向け:MCP 互換クライアントを接続します
- 開発者向け:FastMCP Client ライブラリを使用します
UV コマンド:
uv sync # Install/update dependencies
uv run scraper # Run scraper directly
uv run fastmcp-server # Run web MCP server
uv run mcp-server # Run local MCP server (stdin/stdout)
uv add <package> # Add new dependency
uv remove <package> # Remove dependency
オプション 2:インデックス化済みデータを使用(Docker)
docker/ ディレクトリには、Strands のドキュメントが事前にインデックス化された Docker Compose の設定が含まれています。
# Navigate to the docker directory
cd docker/
# Start all services (Elasticsearch, Kibana, and data restoration)
docker-compose up -d
# Wait for services to start (about 30-60 seconds)
# Check status
docker-compose ps
# Elasticsearch will be available on port 9200
# Kibana GUI will be available on port 5601
この設定には以下が含まれます。
- Elasticsearch:事前にインデックス化された Strands のドキュメント
- Kibana:データの可視化と探索
- データの自動復元:
es-data.tar.gzから復元します
オプション 3:従来のセットアップ(ルートディレクトリ)
従来の Python を使用して、インデックス化済みデータなしで新規セットアップする場合:
# Start Elasticsearch and Kibana (from root directory)
docker-compose up -d
# Then run the scraper to index documentation
python scraper/main.py
スクレイパーをローカルで実行する
pip を使用
# Install dependencies
pip install -r requirements.txt
# Install Playwright browsers
playwright install chromium
# Run the scraper to index documentation
python scraper/main.py
uv を使用
# Install dependencies
uv sync
# Install Playwright browsers
uv run playwright install chromium
# Run the scraper to index documentation
uv run python scraper/main.py
MCP サーバーをローカルで実行する
# Run the MCP server
python mcp_server/main.py
# The MCP server will be available on port 8000
設定
- Elasticsearch インデックス:
strands-agents-docs - MCP サーバーのポート:8000
- Kibana GUI のポート:5601
- ドキュメントのソース:https://strandsagents.com/latest/documentation/docs/
Kibana でデータを表示する
Kibana は、Elasticsearch のデータを探索および可視化するための Web ベースの GUI を提供します。
- Kibana にアクセスする:ブラウザーで http://localhost:5601 を開きます(ログイン不要)
- インデックスパターンを作成する:
- Stack Management → Index Patterns に移動します
strands-agents-docsを指定して新しいインデックスパターンを作成します- 利用可能な場合は、時間フィールドとして
@timestampを選択します
- データを探索する:
- Discover を使用して、スクレイピングしたドキュメントを閲覧・検索します
- Dashboard を使用して、データの可視化を作成します
- Dev Tools を使用して、Elasticsearch クエリを直接実行します
データをすばやく探索する
- Discover タブ:インデックス化されたすべてのドキュメントを全文検索で表示します
- 検索:検索バーを使って、特定のドキュメントの内容を検索します
- フィルター:フィールドで結果を絞り込むフィルターを適用します
- 期間:期間を調整して、ドキュメントがインデックス化された時期を確認します
Amazon Q での使用
MCP 設定にサーバーのエンドポイントを追加して、この MCP サーバーを使用するよう Amazon Q を設定します。詳しい手順については、AMAZON_Q_INTEGRATION.md を参照してください。
Windsurf での使用
Windsurf IDE と統合して、Strands Agents のドキュメントを活用した開発環境を構築します。セットアップ手順については、WINDSURF_INTEGRATION.md を参照してください。
Windsurf のクイックセットアップ
# Copy the configuration file
cp windsurf-mcp-config.json ~/.windsurf/mcp-servers.json
# Restart Windsurf to load the MCP server
開発
pip を使用
# Install dependencies
pip install -r requirements.txt
# Run scraper manually
ELASTICSEARCH_URL=http://localhost:9200 python scraper/main.py
# Run MCP server manually
ELASTICSEARCH_URL=http://localhost:9200 python mcp_server/main.py
# Run standalone (Python + Docker Elasticsearch)
python run_standalone.py
# Test the setup
python test_setup.py
uv を使用
# Install dependencies
uv sync
# Run scraper manually
ELASTICSEARCH_URL=http://localhost:9200 uv run python scraper/main.py
# Run MCP server manually
ELASTICSEARCH_URL=http://localhost:9200 uv run python mcp_server/main.py
# Run standalone (Python + Docker Elasticsearch)
uv run python run_standalone.py
# Test the setup
uv run python test_setup.py
統合オプション
- Amazon Q Developer -
AMAZON_Q_INTEGRATION.mdを参照してください - Windsurf IDE -
WINDSURF_INTEGRATION.mdを参照してください - カスタム MCP クライアント - stdio プロトコルを介して MCP サーバーを直接使用します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。