AWS Bedrock KB Retrieval
公式Amazon Bedrock Knowledge Basesに対して自然言語でクエリを実行し、データソースから関連情報を取得します。
9.7k
このMCPを試すスポンサーAWS Bedrock KB Retrieval MCPで何ができますか?
- ナレッジベースの検出 —
ListKnowledgeBasesを使用して、利用可能なすべての Bedrock ナレッジベースとそのデータソースを一覧表示するよう依頼します。 - 自然言語でのクエリ — 会話形式の質問を行い、ナレッジベースから引用付きの関連パッセージを取得します。
- データソースによるフィルタリング — 特定のデータソースに検索を絞り込み、結果に含めたり除外したりします。
- 合成を伴うエージェント型検索 —
AgenticQueryKnowledgeBasesを使用して、複数の管理されたナレッジベースにわたる引用付き回答を得るための多段階検索プランを依頼します。 - ACL 保護コンテンツへのアクセス —
user_idを渡して、SharePoint や Confluence などの ACL 対応データソースからコンテンツを取得します。 - 結果の再ランク付け —
cohere.rerank-v3-5:0などの Amazon Bedrock モデルを使用して再ランク付けを有効にし、検索の関連性を向上させます。
ドキュメント
Amazon Bedrock Knowledge Base Retrieval MCP サーバー
Amazon Bedrock Knowledge Bases にアクセスするためのMCPサーバー
機能
ナレッジベースとそのデータソースの検出
- 利用可能なすべてのナレッジベースを検索・探索
- 名前またはタグでナレッジベースを検索
- 各ナレッジベースに関連付けられたデータソースを一覧表示
自然言語によるナレッジベースのクエリ
- 会話形式のクエリを使用して情報を取得
- ナレッジベースから関連するパッセージを取得
- すべての結果の引用情報にアクセス
データソースによる結果のフィルタリング
- 特定のデータソースにクエリを集中
- 特定のデータソースを含めるまたは除外
- 特定のデータソースからの結果を優先
マネージドナレッジベースでのエージェント型検索
- 多段階の検索戦略を計画し、引用付きの回答を合成
- 1回の呼び出しで複数のナレッジベースを検索
- エージェントの計画および検索ステップのオプションの簡潔なトレース
- マネージドナレッジベースのみ対応。他のタイプは明確なメッセージとともに拒否されます
ACL保護されたコンテンツへのアクセス
user_idを渡すと、ACL対応データソース(SharePoint、OneDrive、ドキュメント単位のACLを持つConfluence)からコンテンツを取得- これがないと、そのコンテンツにはアクセスできず、エージェント型検索の全文展開ステップが「ACL対応データソースにはUserContextが必要です」というエラーで失敗
- 結果は、そのユーザーが閲覧を許可されているものにフィルタリングされます
マネージドおよびベクター型ナレッジベースの両方をサポート
- ベクター型ナレッジベース(
type: VECTOR)とマネージドナレッジベース(type: MANAGED)の両方で動作 - ナレッジベースのタイプは自動的に検出され、正しい
Retrieve設定が送信されます(vectorSearchConfigurationまたはmanagedSearchConfiguration) - データソースのフィルタリングは、ナレッジベースのタイプに適したメタデータキーを使用
ListKnowledgeBasesツールは、各ナレッジベースのtypeを報告
結果の再ランキング
- 検索結果の関連性を向上
- Amazon Bedrockの再ランキング機能を使用
- クエリへの関連性で結果を並べ替え
前提条件
インストール要件
- Astral または GitHub README から
uvをインストール uv python install 3.10を使用してPythonをインストール
AWS要件
- AWS CLI設定: Amazon BedrockおよびKnowledge Basesにアクセスできる認証情報とAWS_PROFILEを使用してAWS CLIが設定されている必要があります
- Amazon Bedrock Knowledge Base: タグキー
mcp-multirag-kbの値がtrueであるAmazon Bedrock Knowledge Baseが少なくとも1つ必要です - IAM権限: IAMロール/ユーザーに以下の適切な権限が必要です:
- ナレッジベースの一覧表示と説明
- データソースへのアクセス
- ナレッジベースのクエリ
再ランキングの要件
再ランキング機能を使用する場合、Bedrock Knowledge Baseに追加の権限が必要です:
- IAMロールに
bedrock:Rerankとbedrock:InvokeModelの両方のアクションの権限が必要です - Amazon Bedrock Knowledge Basesサービスロールにもこれらの権限が必要です
- 再ランキングの利用可能性はモデルごとに異なります:
amazon.rerank-v1:0はus-east-1では提供されておらず、cohere.rerank-v3-5:0は提供されています。サーバーは(リージョン、モデル)のペアを検証し、明確なメッセージとともに迅速に失敗します。サポートされているリージョンの最新リストについては、公式ドキュメントを参照してください。 - 指定されたリージョンで利用可能な再ランキングモデルのモデルアクセスを有効にします。
エージェント型検索の要件
AgenticQueryKnowledgeBases ツールは AgenticRetrieveStream を呼び出します。これはマネージドナレッジベースのみ(type: MANAGED)でサポートされています。検索戦略を計画し、generate_response=false を渡さない限り、引用付きの回答を書くためにファウンデーションモデルを呼び出します。
- IAMロールには、上記の権限に加えて、ナレッジベースに対する
bedrock:AgenticRetrieveStreamが必要です - ファウンデーションモデルを呼び出すため、
QueryKnowledgeBasesよりも1回の呼び出しあたりのコストが大幅に高くなります。合成なしの検索にはgenerate_response=falseを渡してください RetrieveAndGenerateはマネージドナレッジベースではサポートされていないため、generate_response=trueを使用したエージェント型検索が、生成された回答を得る方法です
再ランキングの制御
再ランキングは、BEDROCK_KB_RERANKING_ENABLED 環境変数を使用してグローバルに有効または無効にできます:
falseに設定(デフォルト):明示的に有効にしない限り、すべてのクエリで再ランキングを無効化trueに設定:明示的に無効にしない限り、すべてのクエリで再ランキングを有効化
環境変数はさまざまな形式を受け入れます:
- 有効化の場合:'true'、'1'、'yes'、または'on'(大文字小文字を区別しない)
- 無効化の場合:その他の値または未設定(デフォルトの動作)
この設定はグローバルなデフォルトを提供し、個々のAPI呼び出しで reranking パラメータを明示的に設定することで上書きできます。
ナレッジベースの設定に関する詳細な手順については、以下を参照してください:
インストール
| Kiro | Cursor | VS Code |
|---|---|---|
MCPクライアント設定でMCPサーバーを設定します(例:Kiroの場合は ~/.kiro/settings/mcp.json を編集):
{
"mcpServers": {
"awslabs.bedrock-kb-retrieval-mcp-server": {
"command": "uvx",
"args": ["awslabs.bedrock-kb-retrieval-mcp-server@latest"],
"env": {
"AWS_PROFILE": "your-profile-name",
"AWS_REGION": "us-east-1",
"FASTMCP_LOG_LEVEL": "ERROR",
"KB_INCLUSION_TAG_KEY": "optional-tag-key-to-filter-kbs",
"BEDROCK_KB_RERANKING_ENABLED": "false"
},
"disabled": false,
"autoApprove": []
}
}
}
Windowsでのインストール
Windowsユーザーの場合、MCPサーバー設定の形式が少し異なります:
{
"mcpServers": {
"awslabs.bedrock-kb-retrieval-mcp-server": {
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "uv",
"args": [
"tool",
"run",
"--from",
"awslabs.bedrock-kb-retrieval-mcp-server@latest",
"awslabs.bedrock-kb-retrieval-mcp-server.exe"
],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"AWS_PROFILE": "your-aws-profile",
"AWS_REGION": "us-east-1"
}
}
}
}
または、docker build -t awslabs/bedrock-kb-retrieval-mcp-server . が成功した後のdocker:
# fictitious `.env` file with AWS temporary credentials
AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
{
"mcpServers": {
"awslabs.bedrock-kb-retrieval-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"--interactive",
"--env",
"FASTMCP_LOG_LEVEL=ERROR",
"--env",
"KB_INCLUSION_TAG_KEY=optional-tag-key-to-filter-kbs",
"--env",
"BEDROCK_KB_RERANKING_ENABLED=false",
"--env",
"AWS_REGION=us-east-1",
"--env-file",
"/full/path/to/file/above/.env",
"awslabs/bedrock-kb-retrieval-mcp-server:latest"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
注:認証情報はホストから最新の状態に保つ必要があります
制限事項
IMAGEコンテンツタイプの結果はKBクエリ応答に含まれません。rerankingパラメータには追加の権限、Amazon Bedrockモデルアクセスが必要であり、特定のリージョンでのみ利用可能です。