Skip to main content
Glama
KonMam

s3-mcp

by KonMam

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation5/5

    Every tool has a clearly distinct purpose with no ambiguity. Each targets a specific S3 operation like copying, deleting, downloading, uploading, listing, or retrieving objects/buckets. The descriptions clearly differentiate between similar tools like delete_object vs delete_objects or get_object vs head_object.

    Naming Consistency5/5

    All tools follow a consistent verb_noun naming pattern throughout (e.g., copy_object, delete_object, list_buckets). The naming is uniform with snake_case used consistently across all 10 tools, making them predictable and easy to understand.

    Tool Count5/5

    With 10 tools, this server is well-scoped for S3 operations. Each tool earns its place by covering essential CRUD and management functions for S3 objects and buckets, from basic operations like put/get to advanced features like multi-object deletion and metadata retrieval.

    Completeness5/5

    The tool surface provides complete coverage for S3 object and bucket management. It includes all core CRUD operations (create/put, read/get/head/list, update via copy/replace, delete), plus specialized functions like multi-object deletion, file upload/download, and bucket listing, with no obvious gaps for the domain.

  • Average 3.3/5 across 10 of 10 tools scored.

    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.json to 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?

    With no annotations provided, the description carries full burden but offers minimal behavioral insight. It mentions that 'quiet' suppresses errors and returns only failed deletions, which is useful, but doesn't cover critical aspects like irreversible deletion, required permissions, rate limits, or response format details. For a destructive operation, this is inadequate.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is well-structured with a clear opening sentence followed by Args and Returns sections. It's front-loaded and avoids redundancy, though the 'Args' and 'Returns' labels are slightly verbose. Overall, it's efficient and easy to parse.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given a destructive tool with 3 parameters (0% schema coverage), no annotations, but an output schema, the description is moderately complete. It covers the basic purpose and some parameter behavior, but lacks safety warnings, permission requirements, and detailed usage context. The output schema helps, but key operational details are missing.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does 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 explains 'quiet' parameter behavior clearly, adding value beyond the schema. However, it doesn't clarify 'bucket' (e.g., naming conventions) or 'keys' (e.g., format, wildcards), leaving gaps. The partial compensation justifies a baseline score.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Deletes multiple objects') and resource ('from an S3 bucket'), making the purpose immediately understandable. It distinguishes from sibling 'delete_object' by specifying it handles multiple objects, though it doesn't explicitly contrast with other siblings like 'copy_object' or 'put_object'.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., bucket existence, permissions), compare with 'delete_object' for single deletions, or advise on error handling with the 'quiet' parameter. The description lacks context for tool selection.

    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 of behavioral disclosure. It states the action ('Gets') and return format ('JSON formatted S3 response'), but doesn't mention critical details like authentication requirements, error handling, rate limits, or whether it retrieves metadata or full content. This is a significant gap for a tool interacting with external storage.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is well-structured and concise, with a clear purpose statement followed by Args and Returns sections. Each sentence serves a purpose, and there's no redundant information. It could be slightly more front-loaded by integrating the return format into the main sentence, but overall it's efficient.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (external S3 interaction) and lack of annotations, the description is minimally adequate. It covers the basic action and parameters but misses important behavioral context. The presence of an output schema means the description doesn't need to detail return values, but it should still address usage and error scenarios more thoroughly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the schema provides no parameter descriptions. The description adds basic semantics by explaining 'bucket' as 'The name of the bucket' and 'key' as 'The key (name) of the object', which clarifies what these parameters represent. However, it doesn't provide examples, constraints, or format details, leaving room for ambiguity.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb ('Gets') and resource ('an object from an S3 bucket'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'head_object' or 'download_file', which might retrieve object metadata or download content differently.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does 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 such as 'head_object' for metadata or 'download_file' for file downloads. It lacks any context about prerequisites, error conditions, or typical use cases, leaving the agent to infer usage from the name alone.

    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 the full burden of behavioral disclosure. It mentions the action ('Uploads') and return type, but fails to cover critical aspects like authentication requirements, error handling, file size limits, or overwrite behavior. This leaves significant gaps in understanding how the tool behaves in practice.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is well-structured with a clear purpose statement followed by Args and Returns sections. It is front-loaded and efficient, with no redundant sentences, though the parameter explanations could be more detailed without sacrificing brevity.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (file upload to S3), no annotations, and an output schema that only specifies a string return, the description is moderately complete. It covers the basic operation and parameters but misses important contextual details like error cases, performance considerations, or integration with sibling tools, leaving room for improvement.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does 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 lists all three parameters with brief explanations, adding basic semantics beyond the schema's titles. However, it lacks details on formats (e.g., path conventions for 'filename', S3 naming rules for 'key') or constraints, providing only minimal enhancement.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Uploads a file') and target resource ('to an S3 object'), making the purpose unambiguous. However, it does not explicitly differentiate from sibling tools like 'put_object' or 'copy_object', which might have overlapping functionality in S3 contexts.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives such as 'put_object' or 'copy_object'. The description lacks context about prerequisites, constraints, or typical use cases, leaving the agent without explicit usage instructions.

    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 for behavioral disclosure. It mentions the return format ('JSON formatted S3 response') which is helpful, but doesn't describe pagination behavior, rate limits, permissions required, error conditions, or whether this is a read-only operation. For an S3 listing tool with 5 parameters, this leaves significant behavioral gaps.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is perfectly structured and concise: a clear purpose statement followed by well-organized Args and Returns sections. Every sentence earns its place, with no redundant information. The formatting makes it easy to scan and understand.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the complexity (5 parameters, S3 operations) and the presence of an output schema (implied by 'Returns: str: JSON formatted S3 response'), the description is moderately complete. It covers all parameters well but lacks behavioral context about pagination, permissions, and error handling. With no annotations and siblings that include destructive operations, more guidance would be helpful.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description must compensate - and it does well by explaining all 5 parameters with clear semantics: bucket as the container, prefix for filtering, max_keys for limiting results, continuation_token for pagination, and delimiter for grouping. This adds substantial value beyond the bare schema. The only minor gap is not explaining format expectations for continuation_token.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'Lists' and resource 'objects in an S3 bucket', making the purpose immediately understandable. It distinguishes from siblings like list_buckets (which lists buckets rather than objects) and other object operations like get_object or delete_object. However, it doesn't explicitly contrast with all siblings, so it's not a perfect 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/5

    Does 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 when list_objects_v2 is preferred over list_buckets (for listing objects vs buckets) or when pagination via continuation_token should be used. There's no discussion of prerequisites, performance considerations, or typical use cases.

    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 the full burden of behavioral disclosure. While it mentions the action ('Puts') and return format ('JSON formatted S3 response'), it lacks critical details: whether this requires specific permissions, what happens if the object already exists (overwrites?), any rate limits, error conditions, or authentication requirements. For a write operation to cloud storage, this is a significant gap.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is efficiently structured with a clear purpose statement followed by well-organized Args and Returns sections. Every sentence earns its place by providing essential information without redundancy or fluff.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given that this is a write operation with no annotations and 3 parameters, the description does an adequate job covering the basics: purpose, parameters, and return format. However, it lacks important context about behavioral traits (overwrite behavior, permissions, errors) and doesn't help differentiate from sibling tools. The presence of an output schema reduces the need to explain return values in detail.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description explicitly documents all three parameters (bucket, key, body) with clear semantic explanations beyond the schema's basic titles. Since schema description coverage is 0%, this documentation is essential and adds substantial value by explaining what each parameter represents (e.g., 'key' as 'the name of the object').

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the action ('Puts an object') and resource ('into an S3 bucket'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'upload_file' or 'copy_object', which could create ambiguity about when to use this specific tool versus alternatives.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does 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 like 'upload_file' or 'copy_object'. It doesn't mention prerequisites, constraints, or typical use cases, leaving the agent to guess based on tool names alone.

    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 the full burden of behavioral disclosure. It states the action but doesn't mention permissions required (e.g., S3 read access), potential side effects (e.g., overwriting local files), error conditions (e.g., missing bucket/key), or performance aspects (e.g., file size limits). The return value is mentioned but lacks detail on error formats or success structure beyond 'JSON formatted success message'.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is well-structured with a clear purpose statement followed by Args and Returns sections. It's front-loaded and wastes no words, though the 'Returns' section could be slightly more informative (e.g., noting what the JSON contains). Every sentence serves a purpose, making it efficient but not minimal.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given 3 parameters with 0% schema coverage and no annotations, the description adequately covers the basics but lacks depth for a file operation tool. It explains what the tool does and the parameters, but misses behavioral context (e.g., idempotency, error handling). The output schema exists, so describing return values isn't needed, but overall completeness is moderate due to the missing operational guidance.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does 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 explicitly defines all three parameters with clear semantics: 'bucket' as the source bucket name, 'key' as the object key, and 'filename' as the local destination path. This adds essential meaning beyond the bare schema, though it doesn't specify format details (e.g., path conventions or key patterns).

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific action ('Downloads an object from an S3 bucket to a file') with the exact resource (S3 object). It distinguishes from siblings like 'get_object' (which might retrieve metadata) and 'upload_file' (which does the opposite). The verb+resource combination is precise and unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does 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 like 'get_object' (which might return the object content differently) or 'copy_object' (which copies within S3). It mentions no prerequisites, exclusions, or contextual triggers, leaving the agent to infer usage from the tool name alone.

    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 for behavioral disclosure. While 'Copies' implies a read+write operation, it doesn't specify whether this overwrites existing destination objects, requires specific IAM permissions, has size/time limits, or provides progress feedback. The return format is mentioned but not the content or error conditions.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is perfectly structured with a clear purpose statement followed by well-organized Args and Returns sections. Every sentence adds value: the first explains what the tool does, the Args section documents all parameters, and the Returns section specifies the output format. No wasted words or redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a 4-parameter S3 operation with no annotations, the description covers the basic operation and parameters adequately. The presence of an output schema means the description doesn't need to detail return values. However, as a mutation tool with security implications, it should address permissions, error conditions, and behavioral specifics more thoroughly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description provides essential parameter documentation through the Args section, clearly defining all 4 parameters with their types and purposes. However, it doesn't explain S3 key format conventions, bucket naming rules, or path semantics that would help users construct valid parameters.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific action ('Copies') and resources involved ('object from one S3 location to another'), making the purpose immediately understandable. It distinguishes this tool from siblings like delete_object, get_object, and put_object by specifying it's a copy operation rather than deletion, retrieval, or creation.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does 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 like bucket permissions, whether the source must exist, or when to use copy_object versus download_file+upload_file combinations. There's no comparison to sibling tools like put_object for similar operations.

    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 for behavioral disclosure. It states the action ('Deletes') and return format, but fails to mention critical aspects like permissions required, whether deletion is permanent/irreversible, error handling (e.g., for non-existent objects), or rate limits. For a destructive operation, this leaves significant gaps in understanding its behavior.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is efficiently structured with a clear purpose statement followed by Args and Returns sections. Every sentence adds value: the first defines the tool, and the subsequent lines explain inputs and outputs without redundancy. It's front-loaded and wastes no words.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity (destructive operation with 2 parameters), no annotations, but an output schema exists, the description is minimally adequate. It covers purpose and parameters but lacks behavioral details like safety warnings or error handling. The output schema mitigates the need to explain return values, but overall completeness is moderate with room for improvement.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does 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 explicitly documents both parameters ('bucket' and 'key') with brief explanations of their roles, adding meaningful context beyond the bare schema. However, it doesn't detail format constraints (e.g., bucket naming rules) or examples, keeping it somewhat basic but adequate given the low parameter count.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific action ('Deletes') and resource ('an object from an S3 bucket'), distinguishing it from siblings like 'delete_objects' (plural) and 'copy_object'/'get_object' which perform different operations. It precisely identifies what the tool does without ambiguity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does 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 like 'delete_objects' (for multiple objects) or other S3 operations. It lacks context about prerequisites, error conditions, or typical use cases, offering only basic functional information without comparative or exclusionary advice.

    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 for behavioral disclosure. While it states the return format ('JSON formatted list of buckets'), it lacks critical behavioral context such as authentication requirements, rate limits, pagination behavior, error conditions, or whether this operation is safe/read-only. The description doesn't contradict annotations (none exist), but provides minimal behavioral insight.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is efficiently structured in two sentences: first stating the core functionality, then specifying the return format. Every sentence adds value, with no redundant information. It could be slightly improved by front-loading the return format information more explicitly, but overall it's appropriately concise.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's simplicity (no parameters, has output schema) and lack of annotations, the description provides basic but incomplete context. It covers what the tool does and the return format, but misses important operational details like authentication, error handling, and behavioral characteristics that would be crucial for an agent to use this AWS tool effectively. The existence of an output schema reduces the need to describe return values, but other gaps remain.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters, so there are no parameter semantics to explain. The description appropriately doesn't attempt to describe non-existent parameters. With 100% schema description coverage (empty schema) and no parameters, a baseline score of 4 is appropriate as there's nothing missing or misleading about parameter documentation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific action ('Lists') and resource ('all buckets in the AWS account'), making the purpose immediately understandable. It distinguishes this tool from siblings like list_objects_v2 (which lists objects within a bucket) by focusing on bucket-level enumeration rather than object-level 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/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage context by specifying 'AWS account' scope, but provides no explicit guidance on when to use this versus alternatives like list_objects_v2 or other bucket-related operations. There's no mention of prerequisites, permissions needed, or comparison with sibling tools beyond the inherent resource distinction.

    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 clearly states this is a read operation ('Retrieves'), which is helpful. However, it doesn't mention authentication requirements, rate limits, error conditions, or what specific metadata is returned. The description adds basic behavioral context but lacks important operational details.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is well-structured with clear sections (purpose, Args, Returns). The opening sentence efficiently states the core purpose. The parameter explanations are concise but informative. There's minimal wasted text, though the Returns section could be slightly more detailed given the output schema exists.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a read-only metadata retrieval tool with 5 parameters and an output schema, the description is reasonably complete. It explains all parameters and states the return format. However, it could better explain what 'metadata' includes and mention common use cases. The existence of an output schema reduces the need to detail return values.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    With 0% schema description coverage, the description must compensate. It provides clear explanations for all 5 parameters in the Args section, adding meaningful context beyond the bare schema. The explanations for if_match, if_none_match, and version_id are particularly valuable. However, it doesn't explain parameter formats or constraints (e.g., bucket naming rules).

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the specific action ('Retrieves metadata') and resource ('from an object'), distinguishing it from siblings like get_object (which returns the object content) and copy_object/delete_object (which modify objects). The phrase 'without returning the object itself' explicitly differentiates it from get_object.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does 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 ('Retrieves metadata from an object without returning the object itself'), which implicitly suggests using get_object when you need the actual content. However, it doesn't explicitly name alternatives or state when NOT to use this tool, keeping it at a 4 rather than a 5.

    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

s3-mcp MCP server

Copy to your README.md:

Score Badge

s3-mcp MCP server

Copy to your README.md:

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/KonMam/s3-mcp'

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