Skip to main content
Glama
r3-yamauchi

Amazon Bedrock Knowledge Base MCP Server

by r3-yamauchi

list_knowledge_bases

Retrieve all available Amazon Bedrock Knowledge Bases to manage RAG data sources, document ingestion, and query configurations.

Instructions

すべてのAmazon Bedrock Knowledge Baseの一覧を取得します。

Returns: KnowledgeBaseListResponseDict: Knowledge Base一覧 - count: Knowledge Baseの数 - knowledge_bases: Knowledge Baseの詳細情報のリスト

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Tool registration and handler implementation for listing knowledge bases.
    @mcp.tool()  # MCPツールとして公開
    @handle_errors  # エラーハンドリングデコレータを適用
    def list_knowledge_bases() -> KnowledgeBaseListResponseDict:
        """
        すべてのAmazon Bedrock Knowledge Baseの一覧を取得します。
        
        Returns:
            KnowledgeBaseListResponseDict: Knowledge Base一覧
                - count: Knowledge Baseの数
                - knowledge_bases: Knowledge Baseの詳細情報のリスト
        """
        # BedrockクライアントからすべてのKnowledge Baseを取得
        # ページネーションが自動的に処理され、すべてのKnowledge Baseが取得されます
        knowledge_bases = bedrock_client.list_knowledge_bases()
        
        # レスポンスを整形して返す
        # count: Knowledge Baseの総数
        # knowledge_bases: Knowledge Baseの詳細情報のリスト
        return {
            "count": len(knowledge_bases),
            "knowledge_bases": knowledge_bases,
        }
  • Implementation of the list_knowledge_bases logic using boto3 paginator.
    def list_knowledge_bases(self) -> List[Dict[str, Any]]:
        """
        すべてのKnowledge Baseの一覧を取得します。
        
        ページネーションを使用して、すべてのKnowledge Baseを取得します。
        
        Returns:
            List[Dict[str, Any]]: Knowledge Baseの詳細情報のリスト
                各要素には以下の情報が含まれます:
                - knowledgeBaseId: Knowledge BaseのID
                - name: Knowledge Baseの名前
                - status: Knowledge Baseのステータス
                - description: Knowledge Baseの説明(オプション)
                - updatedAt: 最終更新日時
        
        Raises:
            ClientError: AWS API呼び出しが失敗した場合
        """
        try:
            knowledge_bases = []
            
            # ページネーターを取得(複数ページの結果を自動的に処理)
            # AWS APIはページネーションを使用して結果を返すため、
            # paginatorを使用することで、すべてのページを自動的に処理できます
            paginator = self.bedrock_agent.get_paginator("list_knowledge_bases")
            
            # すべてのページをループして結果を収集
            # paginate()メソッドは、すべてのページを順番に返すイテレータを返します
            # 各ページには、knowledgeBaseSummariesというキーにKnowledge Baseのサマリー情報が含まれます
            for page in paginator.paginate():
                # 各ページからKnowledge Baseサマリーを取得してリストに追加
                # ページにknowledgeBaseSummariesキーがない場合(空のページなど)は空リストを返します
                knowledge_bases.extend(page.get("knowledgeBaseSummaries", []))
            
            # 取得したKnowledge Baseの数をログに記録
            logger.info(f"Retrieved {len(knowledge_bases)} knowledge bases")
            return knowledge_bases
            
        except ClientError as e:
            logger.error(f"Error listing knowledge bases: {e}")
            raise

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/r3-yamauchi/bedrock-kb-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server