Amazon Bedrock Knowledge Base MCP Server
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool has a distinct purpose with clear boundaries: create_bedrock_kb_role handles IAM role creation, create_s3_bucket and upload_document_to_s3 manage S3 infrastructure, create_knowledge_base and update_knowledge_base manage KB lifecycle, create_data_source configures data sources, start_ingestion_job and get_ingestion_job handle ingestion workflows, list_* tools provide read-only views, and retrieve performs querying. There is no functional overlap between tools.
Naming Consistency5/5All tools follow a consistent verb_noun naming pattern with snake_case: create_bedrock_kb_role, create_data_source, create_knowledge_base, create_s3_bucket, get_ingestion_job, get_knowledge_base, list_data_sources, list_knowledge_bases, list_s3_documents, retrieve, start_ingestion_job, update_knowledge_base, upload_document_to_s3. The pattern is perfectly uniform across all 13 tools.
Tool Count5/5With 13 tools, the set is well-scoped for managing Amazon Bedrock Knowledge Bases. It covers the full lifecycle: infrastructure setup (S3, IAM), KB CRUD operations, data source management, ingestion workflows, querying, and listing operations. Each tool serves a necessary purpose without redundancy.
Completeness4/5The toolset provides comprehensive coverage for core KB workflows: create, read, update, list, and query operations are well-represented. Minor gaps include the lack of delete operations for knowledge bases, data sources, or S3 resources, and no tool to attach policies to the created IAM role. However, agents can still accomplish most tasks with the available tools.
Average 3.9/5 across 13 of 13 tools scored. Lowest: 3.1/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what the tool does and the return structure, but doesn't cover important aspects like whether it's read-only, if there are rate limits, authentication requirements, pagination behavior, or error handling. For a tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded, with the main purpose stated first in a clear sentence. The return information is provided concisely. However, the Japanese text might add slight complexity for non-Japanese agents, and it could be slightly more structured by separating purpose and returns more distinctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (0 parameters) and the presence of an output schema (which describes the return structure), the description is somewhat complete. It states the purpose and hints at the return format. However, without annotations and with missing behavioral details (e.g., safety, performance), it doesn't fully compensate for the lack of structured context, making it adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so the schema fully documents the lack of parameters. The description doesn't need to add parameter information, and it correctly doesn't mention any parameters. This meets the baseline for tools with no parameters, as it doesn't mislead about inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose as 'すべてのAmazon Bedrock Knowledge Baseの一覧を取得します' (get a list of all Amazon Bedrock Knowledge Bases), which is a specific verb+resource combination. However, it doesn't explicitly differentiate from sibling tools like 'get_knowledge_base' (which retrieves details of a specific knowledge base) or 'list_data_sources' (which lists data sources rather than knowledge bases), missing full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention scenarios like needing a full list versus a specific knowledge base (use 'get_knowledge_base'), or how it relates to other listing tools like 'list_data_sources'. There's no context on prerequisites or exclusions, leaving usage unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states this is a retrieval operation ('取得します'), implying it's likely read-only, but doesn't explicitly confirm this or disclose other behavioral traits such as authentication needs, rate limits, error handling beyond the ValueError, or what happens if the ID is invalid. The description adds minimal behavioral context beyond the basic purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the purpose in the first sentence. The Args, Returns, and Raises sections are structured but could be more concise; for example, the Returns section lists details that might be better covered by the output schema. Overall, it's efficient with minimal waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (implied by 'Has output schema: true'), the description doesn't need to fully explain return values, and it adequately covers the single parameter and basic error case. However, with no annotations and multiple sibling tools, it lacks context on usage and behavioral details, keeping it from a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, but the description compensates well by explaining the single parameter 'knowledge_base_id' as 'Knowledge BaseのID' and noting it raises a ValueError if empty. This adds clear meaning beyond the bare schema. With 0% schema coverage and one parameter, the baseline is high, and the description meets it effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '特定のAmazon Bedrock Knowledge Baseの詳細情報を取得します' (retrieves detailed information for a specific Amazon Bedrock Knowledge Base). It specifies the verb '取得します' (retrieve) and resource 'Knowledge Baseの詳細情報' (Knowledge Base details). However, it doesn't explicitly differentiate from sibling tools like 'list_knowledge_bases' or 'update_knowledge_base', which would require a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'list_knowledge_bases' (for listing all knowledge bases) or 'update_knowledge_base' (for modifying one), nor does it specify prerequisites or contexts for usage. The only implicit guidance is that you need a specific knowledge_base_id, but this is insufficient for a higher score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It states the tool retrieves data (read-only implied) and mentions an error case (ValueError for empty ID), but lacks critical behavioral details: whether it requires authentication, rate limits, pagination handling (the 'count' field suggests multiple items), or what happens if the knowledge base doesn't exist. For a read operation with zero annotation coverage, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized but not optimally structured. It front-loads the purpose, but includes a redundant second sentence. The Args/Returns/Raises sections are clear but could be more integrated. Some details (like error handling) are useful, but the overall flow could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (single parameter, read operation) and the presence of an output schema (implied by the detailed return description), the description is mostly complete. It covers purpose, parameters, returns, and an error case. However, it lacks behavioral context (e.g., auth, pagination) which would be needed for full completeness, especially with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate fully. It does: it explicitly documents the single parameter 'knowledge_base_id' with its purpose ('Knowledge BaseのID'), and provides detailed return value semantics including nested structure ('count', 'data_sources' with 'id', 'name', 'status', 'dataSourceConfiguration'). This adds substantial meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('取得します' - retrieve/get) and resource ('データソース一覧' - data source list) for a specific Knowledge Base. It distinguishes from siblings like 'list_knowledge_bases' (which lists knowledge bases themselves) and 'list_s3_documents' (which lists documents in S3). However, it doesn't explicitly contrast with 'get_knowledge_base' which retrieves details of a single knowledge base.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing knowledge base), nor does it compare with sibling tools like 'get_knowledge_base' for single knowledge base details or 'list_knowledge_bases' for listing knowledge bases themselves. The context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention that it 'raises ValueError' for invalid inputs, which adds some error-handling context. However, it doesn't describe important behavioral aspects like authentication requirements, rate limits, performance characteristics, or what happens when no results are found. The description provides basic operational context but misses key behavioral traits for a query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, Args, Returns, Raises) and front-loads the core functionality. Each sentence earns its place by providing essential information. The Japanese/English mix is slightly inconsistent but doesn't hinder understanding. It could be slightly more concise in the opening paragraph but overall maintains good information density.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, query operation), no annotations, but with an output schema (Returns section), the description provides adequate context. The output schema existence means the description doesn't need to fully explain return values, which it acknowledges with the Returns section. It covers parameters well and provides basic error information. For a retrieval tool with output schema support, this is reasonably complete though could benefit from more behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate for the lack of parameter documentation in the schema. It successfully documents all three parameters with clear explanations: 'knowledge_base_id: クエリ対象のKnowledge BaseのID', 'query: 検索クエリのテキスト', and 'number_of_results: 返す結果の数(デフォルト: 5、範囲: 1-100)'. The description adds meaningful context beyond what the bare schema provides, including default values and valid ranges.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Knowledge Baseに対してRAG(Retrieval-Augmented Generation)クエリを実行します。ベクトル検索を使用して、クエリに関連するドキュメントを取得します。' This specifies the verb (execute RAG query), resource (Knowledge Base), and method (vector search). It distinguishes from siblings by focusing on retrieval rather than creation, listing, or management operations. However, it doesn't explicitly contrast with potential similar retrieval tools (none exist among siblings).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. While the purpose is clear, there's no mention of prerequisites (e.g., needing an existing knowledge base), typical use cases, or comparisons to other tools. The sibling tools are all management/creation operations, so this is the only query tool, but the description doesn't acknowledge this context or provide any usage context beyond the basic function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the tool retrieves status, progress, statistics, and error information, and mentions a ValueError for empty IDs, which adds some behavioral context. However, it lacks details on permissions, rate limits, or side effects, leaving gaps for a mutation-free but potentially sensitive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Args, Returns, Raises) and uses bullet points for returns, making it easy to scan. It is appropriately sized, though the Japanese text might be slightly verbose; every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (3 required parameters, no annotations, but has an output schema), the description is fairly complete. It explains the purpose, parameters, return values (including status enums and statistics), and error conditions. The output schema reduces the need to detail returns, but more behavioral context (e.g., idempotency, auth) would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by explaining each parameter's purpose (e.g., knowledge_base_id as Knowledge Base ID, ingestion_job_id from start_ingestion_job) and includes a 'Raises' section for error conditions, which goes beyond the bare schema. However, it doesn't detail parameter formats or constraints beyond IDs being non-empty.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '取り込みジョブのステータスと詳細情報を取得します' (Get ingestion job status and detailed information). It specifies the verb '取得します' (get) and resource '取り込みジョブ' (ingestion job), but does not explicitly differentiate from sibling tools like 'start_ingestion_job' beyond mentioning it as the source for the job ID.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by referencing 'start_ingestion_job' for obtaining the ingestion_job_id, suggesting it should be used after starting a job. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., monitoring vs. initiating jobs) or any exclusions, leaving some ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does reveal some behavioral traits: it describes the return format (S3UploadResponseDict with s3_uri and status), error conditions (ValueError for empty parameters or missing files), and provides an example. However, it lacks details on permissions needed, rate limits, file size constraints, or whether the operation is idempotent/destructive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections (Args, Returns, Raises, Example) and front-loaded with the core purpose. It's appropriately sized for a 3-parameter tool with output schema. Some minor redundancy exists (e.g., repeating parameter info in example), but overall it's efficient and organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no annotations, but has output schema), the description is fairly complete. It covers purpose, parameters, return values, errors, and provides an example. The output schema existence means it doesn't need to explain return values in detail. However, it could better address integration with sibling tools and operational constraints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides clear semantics for all three parameters: local_file_path (path to upload), bucket_name (destination bucket), and s3_key (S3 object key with example). The example further clarifies usage. However, it doesn't specify constraints like path formats, bucket naming rules, or key structure limitations beyond the example.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'ローカルファイルをS3バケットにアップロードします' (Upload local files to an S3 bucket). It specifies the verb (upload) and resource (local files to S3 bucket). However, it doesn't explicitly differentiate from sibling tools like 'create_s3_bucket' or 'list_s3_documents', which would be needed for a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context by mentioning that uploaded files can be used as Knowledge Base data sources, which suggests integration with other sibling tools. However, it doesn't explicitly state when to use this tool versus alternatives (e.g., vs. 'create_data_source' or 'start_ingestion_job'), nor does it provide clear exclusions or prerequisites beyond parameter validation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the read-only nature through '取得します' (retrieves) and mentions error conditions (ValueError for empty bucket_name). However, it doesn't cover important behavioral aspects like pagination, rate limits, authentication requirements, or whether it lists all objects recursively within prefixes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Args, Returns, Raises, Example) and uses both Japanese and English effectively. While comprehensive, some information could be more concise - the prefix explanation uses multiple lines when one might suffice. Overall, most sentences earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, no annotations, but with output schema coverage, the description is reasonably complete. It explains parameters thoroughly, documents the return structure in detail, shows error conditions, and provides usage examples. The main gap is lack of behavioral context like pagination or authentication requirements.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing detailed parameter semantics. It explains both parameters thoroughly: bucket_name as S3 bucket name, prefix as optional filtering parameter with a clear example showing how it works. The Japanese and English explanations add clarity beyond what the bare schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'S3バケット内のドキュメント一覧を取得します' (retrieves a list of documents in an S3 bucket). It specifies the verb (取得/retrieve) and resource (ドキュメント一覧/document list), but doesn't explicitly differentiate from sibling tools like 'list_data_sources' or 'list_knowledge_bases' beyond the S3 context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context through the optional prefix parameter explanation and examples, showing when to use it for filtering. However, it doesn't explicitly state when to choose this tool over alternatives like 'upload_document_to_s3' or 'list_data_sources', nor does it mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: it's a mutation tool (implied by '更新します'), handles partial updates (empty strings don't change existing values), and raises a ValueError for empty knowledge_base_id. However, it lacks details on permissions, rate limits, side effects, or error handling beyond the one exception mentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, updatable fields, parameter details, returns, raises). It's appropriately sized, but the 'Args' and 'Returns' sections could be more integrated into natural language. Every sentence adds value, though minor redundancy exists (e.g., repeating '空文字列の場合は更新されない').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, 0% schema coverage, but an output schema exists, the description is fairly complete. It covers purpose, parameters, return values (though output schema handles details), and one error case. However, for a mutation tool, it could better address behavioral aspects like idempotency, concurrency, or authentication needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate fully. It does so by explaining all 4 parameters: 'knowledge_base_id' (ID of the target), 'name' (new name, optional, empty string preserves existing), 'description' (new description, optional, empty preserves), and 'role_arn' (new IAM role ARN, optional, empty preserves). It adds crucial semantics like optionality and update behavior not in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Amazon Bedrock Knowledge Baseを更新します' (updates an Amazon Bedrock Knowledge Base). It specifies the resource (Knowledge Base) and action (update), and lists updatable fields (name, description, IAM role). However, it doesn't explicitly differentiate from sibling tools like 'create_knowledge_base' or 'get_knowledge_base' beyond the verb 'update'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through the parameter explanations (e.g., empty strings preserve existing values) and the required 'knowledge_base_id', suggesting this is for modifying existing knowledge bases. However, it doesn't explicitly state when to use this tool versus alternatives like 'create_knowledge_base' or provide prerequisites (e.g., needing an existing knowledge base ID).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does an excellent job disclosing behavioral traits. It explains security implications (public access block always enabled), timing considerations (creation may take seconds), error conditions (bucket name conflicts, permission issues), and post-creation behavior (automatic public access block application). The only minor gap is lack of rate limit or quota information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (description, rules, Args, Returns, Raises, Example, Note) and front-loads the core purpose. While comprehensive, some redundancy exists (bucket naming rules appear in both the main description and parameter documentation), and the Japanese/English mix slightly affects readability. Every section adds value, but could be more tightly integrated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (creation with security implications), 0% schema coverage, and presence of an output schema, the description is exceptionally complete. It covers purpose, detailed constraints, parameters, return values (though output schema handles this), error conditions, examples, and important behavioral notes. The output schema existence means the description doesn't need to explain return structure in detail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing rich parameter semantics. It explains bucket_name requirements with detailed naming rules, provides examples, and clarifies region behavior including special handling for us-east-1. The Args section explicitly documents both parameters with examples and important notes about default values and constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'S3バケットを新規作成します' (creates a new S3 bucket). It specifies the exact resource (S3 bucket) and action (create), and distinguishes it from sibling tools like 'upload_document_to_s3' or 'list_s3_documents' by focusing on bucket creation rather than document operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides implied usage context through bucket naming rules and region defaults, but lacks explicit guidance on when to use this tool versus alternatives. It doesn't mention scenarios where other tools like 'create_data_source' or 'create_knowledge_base' might be more appropriate, or prerequisites for bucket creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses key behavioral traits: the region is immutable after creation, certain parameters are required conditionally (e.g., embedding_model_arn for S3_VECTORS), and it raises ValueError for invalid inputs. It also notes default values and recommendations, though it lacks details on permissions, rate limits, or costs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections for args, parsing settings, chunking settings, returns, raises, and examples. However, it is very long and dense, which may overwhelm. While informative, some details could be streamlined or moved to schema descriptions for better conciseness, though it remains organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the high complexity (18 parameters, 0% schema coverage, no annotations) and the presence of an output schema, the description is highly complete. It covers all parameters thoroughly, explains returns and errors, and provides multiple examples. The output schema handles return values, so the description appropriately focuses on inputs and behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate fully. It provides extensive parameter semantics: detailed explanations for each parameter, including formats, allowed values, examples, dependencies, and recommendations. This adds significant value beyond the bare schema, making parameters understandable and actionable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '新しいAmazon Bedrock Knowledge Baseを作成します' (creates a new Amazon Bedrock Knowledge Base). It specifies the exact resource (Knowledge Base) and distinguishes it from siblings like update_knowledge_base (which modifies) and get_knowledge_base (which retrieves).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (to create a Knowledge Base) and includes examples with different configurations. However, it does not explicitly state when not to use it or compare it to alternatives like update_knowledge_base for modifications, though the purpose implies it's for initial creation only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does an excellent job describing what gets created (IAM role with specific trust policy), constraints (role name must be unique, region must match Knowledge Base region), error conditions (ValueError, ClientError), and post-creation requirements (attaching permission policies). The only minor gap is lack of explicit rate limit or authentication requirement information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Args, Returns, Raises, Example, Note) and front-loaded purpose statement. While comprehensive, some sections could be slightly more concise (e.g., the Example section has multiple similar examples). Every sentence adds value, but there's minor redundancy in the parameter explanations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of creating an AWS IAM role with specific trust policies, no annotations, and 0% schema coverage, the description provides complete context. It explains the tool's purpose, all parameters, return values (though an output schema exists), error conditions, usage examples, and important implementation notes. Nothing essential appears missing for this type of infrastructure creation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing detailed semantic information for all 4 parameters: purpose, examples, constraints, and important notes. Each parameter gets specific guidance beyond what the bare schema provides, including default values, valid ranges, and usage implications.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('creates an IAM role') and resource ('for Amazon Bedrock Knowledge Base'), distinguishing it from sibling tools like create_knowledge_base or create_s3_bucket. It explicitly mentions the trust policy configuration, which further clarifies its specialized purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use this tool (to create a service role for Bedrock Knowledge Base) and mentions prerequisites like attaching appropriate permission policies afterward. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by explaining the creation operation, clarifying conceptual distinctions, noting current limitations (only S3 supported), and documenting error conditions (ValueError cases). It could improve by mentioning authentication requirements or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (overview, args, parsing settings, chunking settings, returns, raises, examples). While comprehensive, it's appropriately sized for a complex tool with many parameters. Some sections could be more concise, but overall it's well-organized and front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (15 parameters, 0% schema coverage, no annotations), the description provides comprehensive documentation. It covers purpose, parameters, return values, error conditions, and includes practical examples. The presence of an output schema means the description doesn't need to fully explain return values, and it appropriately focuses on usage guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage and 15 parameters, the description provides extensive parameter documentation beyond what the schema offers. It explains each parameter's purpose, provides examples, notes optional vs required status, documents dependencies between parameters, and gives recommended values for many settings.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a data source for a Knowledge Base, specifying it defines where data is retrieved from. It distinguishes from siblings by focusing on data source creation rather than other operations like listing, retrieving, or updating knowledge bases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context about when to use this tool (to create data sources for Knowledge Bases) and clarifies important conceptual distinctions between storage_type and dataSourceConfiguration.type. However, it doesn't explicitly mention when NOT to use it or name specific alternative tools for different scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It effectively discloses key behavioral traits: the job is asynchronous, returns immediately, and progress must be monitored via get_ingestion_job. It also mentions error conditions (ValueError for empty IDs). However, it lacks details on permissions, rate limits, or side effects (e.g., whether it overwrites existing data), leaving some gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and appropriately sized. It starts with a clear purpose statement, followed by usage notes, parameter explanations, return values, and error handling. Each sentence adds value (e.g., explaining asynchronicity, monitoring, and error cases) without redundancy. The use of sections (Args, Returns, Raises, Note) enhances readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (asynchronous job initiation) and the presence of an output schema (which covers return values like ingestion_job_id, status, statistics), the description is complete. It explains the tool's purpose, usage, parameters, and behavioral aspects (asynchronicity, monitoring). No annotations are provided, but the description compensates adequately, making it self-sufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It adds clear semantics for both parameters: knowledge_base_id is the ID of the Knowledge Base, and data_source_id is the ID of the data source. This goes beyond the schema's basic type definitions. However, it doesn't specify format constraints (e.g., UUID) or provide examples, which could improve clarity further.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'データソースからKnowledge Baseへのデータ取り込みジョブを開始します' (starts a data ingestion job from a data source to a Knowledge Base). It specifies the exact action (start ingestion job) and resources involved (data source, Knowledge Base), distinguishing it from sibling tools like get_ingestion_job (monitors progress) or create_data_source (creates resources).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when and how to use this tool. It states that the job runs asynchronously, recommends using get_ingestion_job to check progress, and warns that this function returns immediately without waiting for completion. It also mentions prerequisites (knowledge_base_id and data_source_id must not be empty) and raises ValueError if they are, helping users avoid errors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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