Amazon Bedrock Knowledge Base MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AWS_REGION | No | AWSリージョン(例: us-east-1) | us-east-1 |
| AWS_PROFILE | No | AWSプロファイル名(認証情報の管理に使用) | |
| AWS_ACCESS_KEY_ID | No | AWS access key ID for authentication | |
| FASTMCP_LOG_LEVEL | No | ログレベル(DEBUG, INFO, WARNING, ERROR, CRITICAL) | INFO |
| AWS_SECRET_ACCESS_KEY | No | AWS secret access key for authentication | |
| FASTMCP_STRUCTURED_LOG | No | 構造化ログ(JSON形式)を使用するか(true/false) | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| create_knowledge_baseA | 新しいAmazon Bedrock Knowledge Baseを作成します。 Args: name: Knowledge Baseの名前(1-100文字) description: Knowledge Baseの説明(1文字以上) role_arn: Knowledge Baseが使用するIAMロールのARN - 完全な形式: "arn:aws:iam::ACCOUNT_ID:role/ROLE_NAME" - アカウントIDなし: "arn:aws:iam::role/ROLE_NAME" または "role/ROLE_NAME"(自動補完) storage_type: ストレージタイプ - 'S3': 標準的なS3ストレージ(デフォルト) - 'S3_VECTORS': S3 Vectorsを使用したベクトル検索対応ストレージ bucket_arn: ドキュメントを保存するS3バケットのARNまたはS3 URI - ARN形式: "arn:aws:s3:::BUCKET_NAME" - URI形式: "s3://BUCKET_NAME" または "s3://BUCKET_NAME/path" S3_VECTORSの場合はベクトルバケットARNまたはURIを指定 region: Knowledge Baseを作成する先のリージョン(デフォルト: "us-east-1") 例: "us-east-1", "ap-northeast-1" 注意: Knowledge Baseのリージョンは作成時に決定され、後から変更できません embedding_model_arn: 埋め込みモデルのARN(S3_VECTORSタイプの場合必須) 形式: "arn:aws:bedrock:REGION::foundation-model/MODEL_ID" Returns: KnowledgeBaseResponseDict: Knowledge Baseの作成結果 - knowledge_base_id: 作成されたKnowledge BaseのID - status: Knowledge Baseのステータス('CREATING', 'ACTIVE', 'FAILED'など) - arn: Knowledge BaseのARN(オプション) Raises: ValueError: 入力値が無効な場合(バリデーションエラー) - storage_typeが無効な値の場合 - S3_VECTORSタイプでembedding_model_arnが指定されていない場合 - parsing_strategy='BEDROCK_FOUNDATION_MODEL'でparsing_model_arnが指定されていない場合 - ARN形式が無効な場合 Examples: # 基本的なKnowledge Baseの作成(デフォルト設定) create_knowledge_base( name="My Knowledge Base", description="Example KB", role_arn="arn:aws:iam::123456789012:role/BedrockKBRole", storage_type="S3", bucket_arn="s3://my-bucket" # S3 URI形式も使用可能 ) |
| list_knowledge_basesB | すべてのAmazon Bedrock Knowledge Baseの一覧を取得します。 Returns: KnowledgeBaseListResponseDict: Knowledge Base一覧 - count: Knowledge Baseの数 - knowledge_bases: Knowledge Baseの詳細情報のリスト |
| get_knowledge_baseB | 特定のAmazon Bedrock Knowledge Baseの詳細情報を取得します。 Args: knowledge_base_id: Knowledge BaseのID Returns: KnowledgeBaseDetailDict: Knowledge Baseの詳細情報 - id: Knowledge BaseのID - name: Knowledge Baseの名前 - status: Knowledge Baseのステータス - description: Knowledge Baseの説明(オプション) - arn: Knowledge BaseのARN(オプション) - その他の設定情報 Raises: ValueError: knowledge_base_idが空の場合 |
| update_knowledge_baseA | Amazon Bedrock Knowledge Baseを更新します。 Knowledge Baseの名前、説明、IAMロールを更新できます。 空文字列のパラメータは更新されません(既存の値が保持されます)。 Args: knowledge_base_id: 更新対象のKnowledge BaseのID name: 新しい名前(オプション、空文字列の場合は更新されない) description: 新しい説明(オプション、空文字列の場合は更新されない) role_arn: 新しいIAMロールARN(オプション、空文字列の場合は更新されない) Returns: KnowledgeBaseResponseDict: 更新されたKnowledge Baseのステータス - knowledge_base_id: Knowledge BaseのID - status: Knowledge Baseのステータス - arn: Knowledge BaseのARN(オプション) Raises: ValueError: knowledge_base_idが空の場合 |
| create_data_sourceA | Knowledge Baseにデータソースを作成します。 データソースは、Knowledge Baseがデータを取得する場所を定義します。 S3バケットを指定し、必要に応じて特定のプレフィックス(フォルダ)のみを 含めることができます。パーシング設定とチャンキング設定を指定することで、 データソースごとに異なる処理方法を適用できます。 注意: Knowledge Baseの
Args: knowledge_base_id: データソースを追加するKnowledge BaseのID name: データソースの名前(1-100文字) source_type: データソースタイプ(現在は'S3'のみサポート、デフォルト: 'S3') bucket_arn: データソースとして使用するS3バケットのARN(arn:aws:s3:::BUCKET_NAME形式) inclusion_prefixes: 含めるS3プレフィックスのカンマ区切り文字列(オプション) 例: "documents/,images/" のように複数のプレフィックスを指定可能 空文字列の場合はバケット内のすべてのオブジェクトが対象 Returns: DataSourceResponseDict: データソースの作成結果 - data_source_id: 作成されたデータソースのID - status: データソースのステータス('CREATING', 'ACTIVE', 'FAILED'など) Raises: ValueError: 入力値が無効な場合(source_typeが無効、バリデーションエラーなど) - source_typeが'S3'以外の場合 - parsing_strategy='BEDROCK_FOUNDATION_MODEL'でparsing_model_arnが指定されていない場合 - ARN形式が無効な場合 Examples: # 基本的なデータソースの作成(デフォルト設定) create_data_source( knowledge_base_id="KB123", name="My Data Source", source_type="S3", bucket_arn="arn:aws:s3:::my-bucket" ) |
| list_data_sourcesB | 指定されたKnowledge Baseのデータソース一覧を取得します。 Knowledge Baseに紐づけられているすべてのデータソースを取得します。 Args: knowledge_base_id: Knowledge BaseのID Returns: DataSourceListResponseDict: データソース一覧 - count: データソースの数 - data_sources: データソースの詳細情報のリスト 各要素には以下の情報が含まれます: - id: データソースのID - name: データソースの名前 - status: データソースのステータス - dataSourceConfiguration: データソースの設定情報 Raises: ValueError: knowledge_base_idが空の場合 |
| start_ingestion_jobA | データソースからKnowledge Baseへのデータ取り込みジョブを開始します。 このジョブは非同期で実行され、データソース内のドキュメントを
Knowledge Baseに取り込みます。ジョブの進捗は Args: knowledge_base_id: Knowledge BaseのID data_source_id: データソースのID Returns: IngestionJobResponseDict: 取り込みジョブの開始結果 - ingestion_job_id: 開始された取り込みジョブのID - status: ジョブのステータス(通常は "STARTING" または "IN_PROGRESS") - statistics: 統計情報(オプション、ジョブ開始時は通常None) Raises: ValueError: knowledge_base_idまたはdata_source_idが空の場合 Note:
取り込みジョブは非同期で実行されるため、この関数は即座に返ります。
ジョブの完了を待つには、 |
| get_ingestion_jobA | 取り込みジョブのステータスと詳細情報を取得します。 取り込みジョブの進捗状況、統計情報、エラー情報などを取得できます。 Args:
knowledge_base_id: Knowledge BaseのID
data_source_id: データソースのID
ingestion_job_id: 取り込みジョブのID( Returns: IngestionJobResponseDict: 取り込みジョブの詳細情報 - ingestion_job_id: 取り込みジョブのID - status: ジョブのステータス - "STARTING": ジョブが開始中 - "IN_PROGRESS": ジョブが実行中 - "COMPLETE": ジョブが完了 - "FAILED": ジョブが失敗 - statistics: 統計情報(オプション、ジョブが進行中または完了している場合) - numberOfDocumentsScanned: スキャンされたドキュメント数 - numberOfDocumentsModified: 変更されたドキュメント数 - numberOfDocumentsDeleted: 削除されたドキュメント数 - numberOfDocumentsFailed: 失敗したドキュメント数 Raises: ValueError: いずれかのIDが空の場合 |
| retrieveB | Knowledge Baseに対してRAG(Retrieval-Augmented Generation)クエリを実行します。 ベクトル検索を使用して、クエリに関連するドキュメントを取得します。 Args: knowledge_base_id: クエリ対象のKnowledge BaseのID query: 検索クエリのテキスト number_of_results: 返す結果の数(デフォルト: 5、範囲: 1-100) Returns: RetrieveResponseDict: クエリ結果 - results: 検索結果のリスト(各結果にはcontent、location、score、metadataが含まれる) - query: 実行したクエリテキスト Raises: ValueError: 入力値が無効な場合(knowledge_base_idやqueryが空、number_of_resultsが範囲外など) |
| upload_document_to_s3A | ローカルファイルをS3バケットにアップロードします。 アップロードされたファイルは、Knowledge Baseのデータソースとして 使用できます。 Args: local_file_path: アップロードするローカルファイルのパス bucket_name: アップロード先のS3バケット名 s3_key: S3オブジェクトキー(バケット内のパス) 例: "documents/myfile.pdf" のようにパスを指定可能 Returns: S3UploadResponseDict: アップロード結果 - s3_uri: アップロードされたファイルのS3 URI(s3://bucket/key形式) - status: アップロードステータス("uploaded") Raises: ValueError: パラメータが空の場合、またはファイルが存在しない場合 Example: upload_document_to_s3( "/path/to/document.pdf", "my-bucket", "documents/document.pdf" ) # 戻り値: {"s3_uri": "s3://my-bucket/documents/document.pdf", "status": "uploaded"} |
| list_s3_documentsA | S3バケット内のドキュメント一覧を取得します。 指定されたプレフィックス(フォルダ)に一致するドキュメントのみを 取得することもできます。 Args: bucket_name: S3バケット名 prefix: フィルタリングするS3プレフィックス(オプション) 例: "documents/" を指定すると、documents/フォルダ内の ファイルのみが返されます Returns: S3DocumentListResponseDict: ドキュメント一覧 - count: ドキュメントの数 - bucket: バケット名 - prefix: 使用されたプレフィックス(指定した場合) - documents: ドキュメントの詳細情報のリスト 各要素には以下の情報が含まれます: - key: S3オブジェクトキー(ファイルパス) - size: ファイルサイズ(バイト) - last_modified: 最終更新日時(ISO形式) Raises: ValueError: bucket_nameが空の場合 Example: # すべてのドキュメントを取得 list_s3_documents("my-bucket") |
| create_s3_bucketA | S3バケットを新規作成します。 バケット名は以下のルールに従う必要があります:
注意: セキュリティ上の理由から、パブリックアクセスブロックは常に有効化されます。 Args: bucket_name: 作成するS3バケット名(必須) 例: "my-documents-bucket" region: バケットを作成するリージョン(デフォルト: "us-east-1") 例: "us-east-1", "ap-northeast-1" 注意: us-east-1リージョンの場合、LocationConstraintは指定しません Returns: S3BucketCreateResponseDict: バケット作成結果 - bucket_name: 作成されたバケット名 - region: バケットが作成されたリージョン - arn: バケットのARN(arn:aws:s3:::bucket-name形式) - status: 作成ステータス("created") Raises: ValueError: bucket_nameが空の場合、またはバケット名が無効な形式の場合 ClientError: AWS API呼び出しが失敗した場合 例: バケット名が既に使用されている、権限がないなど Example: # 基本的なバケット作成(デフォルトリージョン、パブリックアクセスブロック有効) create_s3_bucket("my-documents-bucket") Note: - バケットの作成には数秒かかる場合があります - バケット名が既に使用されている場合、BucketAlreadyOwnedByYouまたはBucketAlreadyExistsエラーが発生します - パブリックアクセスブロック設定は、バケット作成後に自動的に適用されます |
| create_bedrock_kb_roleA | Amazon Bedrock Knowledge Base用のサービスロールを作成します。 このツールは、Bedrock Knowledge Baseが使用するIAMロールを作成します。 ロールには以下の信頼ポリシーが設定されます:
Args: role_name: 作成するIAMロールの名前(必須) 例: "BedrockKnowledgeBaseRole" 注意: ロール名はAWSアカウント内で一意である必要があります region: Knowledge Baseを作成する先のリージョン(デフォルト: "us-east-1") 例: "us-east-1", "ap-northeast-1" 注意: 信頼ポリシーのaws:SourceArnにこのリージョンが使用されます このリージョンは、Knowledge Baseを作成する際に指定するリージョンと一致させる必要があります description: ロールの説明(デフォルト: "Bedrock Knowledge Base access") max_session_duration: 最大セッション時間(秒)(デフォルト: 3600秒 = 1時間) 範囲: 3600秒(1時間)から43200秒(12時間)まで Returns: IAMRoleCreateResponseDict: ロール作成結果 - role_name: 作成されたロール名 - role_arn: ロールのARN(arn:aws:iam::ACCOUNT_ID:role/service-role/ROLE_NAME形式) - path: ロールのパス(/service-role/) - status: 作成ステータス("created") Raises: ValueError: role_nameが空の場合、またはmax_session_durationが無効な範囲の場合 ClientError: AWS API呼び出しが失敗した場合 例: ロール名が既に使用されている、権限がないなど Example: # 基本的なロール作成(デフォルトリージョン) create_bedrock_kb_role("BedrockKnowledgeBaseRole") Note: - ロールは /service-role/ パスに作成されます - 信頼ポリシーには、現在のAWSアカウントIDとリージョンが自動的に設定されます - ロール作成後、適切な権限ポリシーをアタッチする必要があります - ロール名が既に使用されている場合、EntityAlreadyExistsエラーが発生します |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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