amazon-datazone-mcp-server
OfficialProvides tools for interacting with Amazon DataZone, enabling management of domains, projects, data assets, glossaries, and environments through the AWS DataZone API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@amazon-datazone-mcp-serverlist all domains"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Amazon DataZone MCP Server
A high-performance Model Context Protocol (MCP) server that provides seamless integration with Amazon DataZone services. This server enables AI assistants and applications to interact with Amazon DataZone APIs through a standardized interface.
Features
Complete Amazon DataZone API Coverage: Access all major DataZone operations
Type Safety: Full type hints and validation
Production Ready: Robust error handling and logging
MCP Compatible: Works with any MCP-compatible client
Supported Operations
Module | Operations |
Domain Management | Create domains, manage domain units, search, policy grants |
Project Management | Create/manage projects, project profiles, memberships |
Data Management | Assets, listings, subscriptions, form types, data sources |
Glossary | Business glossaries, glossary terms |
Environment | Environments, connections, blueprints |
Related MCP server: Amplify Data API MCP Server
Installation
pip install amazon-datazone-mcp-serverConfiguration
Configure AWS credentials using the standard AWS methods:
AWS CLI:
aws configureEnvironment variables:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_DEFAULT_REGIONIAM roles or instance profiles
Running the Server
The server uses stdio transport for secure communication with MCP clients:
amazon-datazone-mcp-serverIntegration with MCP Clients
Configure in your MCP client (e.g., Claude Desktop):
{
"name": "amazon-datazone-mcp-server",
"command": "amazon-datazone-mcp-server"
}Available Tools
The server provides 38 tools across 5 categories:
Domain Management
get_domain,create_domain,list_domainslist_domain_units,create_domain_unitadd_entity_owner,add_policy_grantsearch,search_typesUser/group profile management
Project Management
create_project,get_project,list_projectscreate_project_membership,list_project_membershipsProject profile management
Data Management
Asset operations:
get_asset,create_asset,publish_assetListing operations:
get_listing,search_listingsData source management:
create_data_source,start_data_source_runSubscription management: request, accept, get subscriptions
Form type management
Glossary Management
create_glossary,get_glossarycreate_glossary_term,get_glossary_term
Environment Management
Environment operations:
list_environments,get_environmentConnection management:
create_connection,get_connection,list_connectionsBlueprint operations: list and get blueprints and configurations
Each tool includes comprehensive parameter documentation and examples accessible through your MCP client.
License
Licensed under the Apache License 2.0 - see the LICENSE file for details.
Disclaimer
This is an unofficial, community-developed project and is not affiliated with, endorsed by, or supported by Amazon Web Services, Inc.
AWS and DataZone are trademarks of Amazon.com, Inc. or its affiliates
Users are responsible for their own AWS credentials, costs, and compliance
No warranty or support is provided - use at your own risk
Always follow AWS security best practices
For official Amazon DataZone documentation, visit Amazon DataZone Documentation.
Available Tools
49 toolsaccept_subscription_requestA
Accepts a subscription request to a specific asset in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain where the subscription request exists identifier (str): The unique identifier of the subscription request to accept asset_scopes (List[Dict[str, Any]], optional): The asset scopes of the accept subscription request Example: [{"assetId": "asset-id", "filterIds": ["filter-id"]}] decision_comment (str, optional): A description that specifies the reason for accepting the request Length: 1-4096 characters
Returns: Any: The API response containing: - Subscription request ID and status - Creation and update timestamps - Domain ID - Decision comment - Subscribed listings and principals - Metadata forms - Reviewer information
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| asset_scopes | No | ||
| decision_comment | No | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only states the action without disclosing implications like permissions, state changes, or failure conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Structured with Args and Returns sections. Sentences earn their place, though Returns section could be slightly more concise. Overall well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Completes the picture with parameter details, example, constraints, and return fields. Adequate given no output schema and moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description adds explanations for all parameters including examples for 'asset_scopes' and length constraint for 'decision_comment'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the verb 'Accepts' and the resource 'subscription request to a specific asset in Amazon DataZone'. Distinguishes from sibling tool 'create_subscription_request'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. Does not mention prerequisites like an existing pending request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_entity_ownerA
Adds an owner to an entity (domain unit or project) in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain entity_identifier (str): The ID or name of the entity (domain unit or project) to add the owner to owner_identifier (str): The identifier of the owner to add (can be IAM ARN for users) entity_type (str, optional): The type of entity (DOMAIN_UNIT or PROJECT, default: DOMAIN_UNIT) owner_type (str, optional): The type of owner (default: "USER") client_token (str, optional): A unique token to ensure idempotency
Returns: Any: The API response
| Name | Required | Description | Default |
|---|---|---|---|
| owner_type | No | USER | |
| entity_type | No | DOMAIN_UNIT | |
| client_token | No | ||
| owner_identifier | Yes | ||
| domain_identifier | Yes | ||
| entity_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden but only mentions idempotency via client_token. It does not disclose permissions, side effects, rate limits, or what happens if the owner already exists. The return value is vaguely described as 'Any: The API response.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose, followed by a clear Args section. One point deducted because the Args section could be more structured (e.g., bullet points) but the content is efficient and necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 6 parameters and no output schema, the description covers the parameters well but lacks details about behavior (e.g., error cases, what the API response contains). Some behavioral context, like whether ownership replaces or appends, is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by explaining each parameter's purpose (e.g., owner_identifier 'can be IAM ARN for users', entity_type defaults and options). This provides essential meaning beyond the schema's bare titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Adds an owner' and the resource 'entity (domain unit or project)' in Amazon DataZone, providing a specific and unambiguous purpose that distinguishes it from sibling tools like add_policy_grant or create_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 add_policy_grant or create_project_membership. The decision is left entirely to the agent without explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_policy_grantC
Adds a policy grant to a specified entity in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain entity_identifier (str): The ID of the entity to add the policy grant to entity_type (str): The type of entity (DOMAIN_UNIT, ENVIRONMENT_BLUEPRINT_CONFIGURATION, or ENVIRONMENT_PROFILE) policy_type (str): The type of policy to grant (e.g., CREATE_DOMAIN_UNIT, OVERRIDE_DOMAIN_UNIT_OWNERS, etc.) principal_identifier (str): The identifier of the principal to grant permissions to principal_type (str, optional): The type of principal (default: "USER") client_token (str, optional): A unique token to ensure idempotency detail (dict, optional): Additional details for the policy grant
Returns: Any: The API response
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | ||
| entity_type | Yes | ||
| policy_type | Yes | ||
| client_token | No | ||
| principal_type | No | USER | |
| domain_identifier | Yes | ||
| entity_identifier | Yes | ||
| principal_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It states the tool 'adds a policy grant' but does not mention permissions required, whether the operation is reversible, or any side effects (e.g., impact on existing grants). The idempotency via client_token is hinted but not explicitly stated. The description is too sparse for safe agent decision-making.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description uses a clear Args/Returns structure. However, it is overly verbose with repetitive phrasing (e.g., 'The ID of the domain', 'The ID of the entity'). Many descriptions could be shortened or merged. The return value description is minimal and vague.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, 5-required tool with no output schema, the description is insufficient. It does not explain what a policy grant is, how it interacts with DataZone's permission model, or what the response contains beyond 'the API response'. The tool is complex, and the description lacks the context an agent needs to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 0%, so the description must compensate. It lists parameters with types and brief descriptions, adding some value (e.g., enumerating possible values for entity_type and policy_type, mentioned in prose). However, many descriptions are trivial (e.g., 'The ID of the domain') and merely restate the parameter name. Additional details like format constraints or allowed values are missing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Adds a policy grant') and the resource ('specified entity in Amazon DataZone'). The verb and resource are specific and unambiguous. However, it does not differentiate from sibling tools like 'add_entity_owner', which also adds permissions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives (e.g., add_entity_owner). The description lacks prerequisites, context, or any indication of appropriate use cases. The parameter descriptions are functional but do not help an agent decide when to invoke this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_assetA
Creates an asset in the Amazon DataZone catalog.
Args: domain_identifier (str): The ID of the domain where the asset is created name (str): The name of the asset (1-256 characters) type_identifier (str): The ID of the asset type (1-513 characters) owning_project_identifier (str): The ID of the project that owns this asset description (str, optional): Description of the asset (0-2048 characters) external_identifier (str, optional): External ID of the asset (1-600 characters) forms_input (List[Dict[str, str]], optional): Metadata forms for the asset Example: [{ "content": "form-content", "formName": "form-name", "typeIdentifier": "type-id", "typeRevision": "type-rev" }] glossary_terms (List[str], optional): Glossary terms to attach to the asset Example: ["term1", "term2"] prediction_configuration (Dict[str, Dict[str, bool]], optional): Configuration for business name generation Example: {"businessNameGeneration": {"enabled": True}} type_revision (str, optional): The revision of the asset type client_token (str, optional): Token for idempotency
Returns: Any: The API response containing: - Asset ID and revision - Creation timestamps - Domain and project IDs - Forms and metadata - Glossary terms - Listing status - Time series data points
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| description | No | ||
| forms_input | No | ||
| client_token | No | ||
| type_revision | No | ||
| glossary_terms | No | ||
| type_identifier | Yes | ||
| domain_identifier | Yes | ||
| external_identifier | No | ||
| prediction_configuration | No | ||
| owning_project_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It describes the creation and return values but omits side effects (e.g., whether asset is immediately published), permission requirements, or error conditions. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with Args and Returns sections, but it is verbose (10+ lines). Some parameter details could be condensed without losing clarity. It is functional but not optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (11 params, no output schema) and no annotations, the description covers creation details and return structure comprehensively. However, it lacks information on prerequisites or potential failures, which slightly reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description manually enumerates all 11 parameters with constraints (e.g., name length 1-256), types, and examples (e.g., forms_input, glossary_terms). This adds full semantic meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Creates an asset in the Amazon DataZone catalog,' using a specific verb and resource. This distinguishes it from sibling tools like create_glossary or create_project, which target different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives like publish_asset or search. Usage is implied only through the action of creating an asset, but no when-not-to or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_connectionA
Creates a new connection in Amazon DataZone. A connection enables you to connect your resources.
(domains, projects, and environments) to external resources and services.
This is specifically for creating DataZone connections and should be used in the DataZone MCP server.
Args: domain_identifier (str): The ID of the domain where the connection is created. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ name (str): The connection name. Length Constraints: Minimum length of 0. Maximum length of 64. environment_identifier (str, optional): The ID of the environment where the connection is created. Pattern: ^[a-zA-Z0-9_-]{1,36}$ aws_location (Dict[str, str], optional): The location where the connection is created. Contains: - accessRole (str): The access role for the connection - awsAccountId (str): The AWS account ID - awsRegion (str): The AWS region - iamConnectionId (str): The IAM connection ID description (str, optional): A connection description. Length Constraints: Minimum length of 0. Maximum length of 128. client_token (str, optional): A unique, case-sensitive identifier to ensure idempotency. props (Dict[str, Any], optional): The connection properties. Type: ConnectionPropertiesInput object (Union type)
Returns: Any: The API response containing: - connectionId (str): The ID of the created connection - description (str): The connection description - domainId (str): The domain ID - domainUnitId (str): The domain unit ID - environmentId (str): The environment ID - name (str): The connection name - physicalEndpoints (list): The physical endpoints of the connection - projectId (str): The project ID - props (dict): The connection properties - type (str): The connection type
Example: >>> create_connection( ... domain_identifier="dzd_4p9n6sw4qt9xgn", ... name="MyConnection", ... environment_identifier="env_123456789", ... aws_location={ ... "accessRole": "arn:aws:iam::123456789012:role/DataZoneAccessRole", ... "awsAccountId": "123456789012", ... "awsRegion": "us-east-1", ... "iamConnectionId": "iam-123456789", ... }, ... description="Connection to external service", ... )
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| props | No | ||
| description | No | ||
| aws_location | No | ||
| client_token | No | ||
| domain_identifier | Yes | ||
| environment_identifier | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It details parameters, return structure with example, and implies idempotency via client_token. However, it lacks explicit notes on error conditions, permissions, or side effects beyond creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with intro, args docstring, returns, and example. It is front-loaded with purpose. While slightly verbose, every section adds value and the structure aids readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter tool with no output schema, the description covers input, return values, and gives an example. Missing are error handling and potential side effects, but overall it is fairly complete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds extensive parameter semantics: patterns, length constraints, dictionary structure for aws_location, and explanation of props type. This far exceeds the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Creates a new connection in Amazon DataZone' and specifies the context as the DataZone MCP server. Among siblings like get_connection and list_connections, the creation purpose is distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description indicates it's for creating DataZone connections within the DataZone MCP server, but does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives like update or other creation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_data_sourceA
Creates a data source in Amazon DataZone and associates it with a project.
Args: domain_identifier (str): The ID of the domain where the data source is created project_identifier (str): The ID of the project to associate the data source with name (str): The name of the data source (1-256 characters) data_src_type (str): The type of data source (e.g., "S3", "GLUE", "REDSHIFT") description (str, optional): Description of the data source (0-2048 characters) enable_setting (str, optional): Whether the data source is enabled (ENABLED/DISABLED) environment_identifier (str, optional): ID of the environment to publish assets to connection_identifier (str, optional): ID of the connection to use configuration (Dict[str, Any], optional): Data source configuration Example for S3: { "s3Configuration": { "bucketName": "my-bucket", "prefix": "data/" } } asset_forms_input (List[Dict[str, str]], optional): Metadata forms for assets Example: [{ "content": "form-content", "formName": "form-name", "typeIdentifier": "type-id", "typeRevision": "type-rev" }] publish_on_import (bool, optional): Whether to automatically publish imported assets recommendation (Dict[str, bool], optional): Recommendation settings Example: {"enableBusinessNameGeneration": True} schedule (Dict[str, str], optional): Schedule configuration Example: { "schedule": "cron(0 12 * * ? *)", "timezone": "UTC" } client_token (str, optional): Token for idempotency
Returns: Any: The API response containing: - Data source ID and status - Creation and update timestamps - Domain and project IDs - Configuration details - Last run information - Error messages (if any)
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| schedule | No | ||
| description | No | ||
| client_token | No | ||
| configuration | No | ||
| data_src_type | Yes | ||
| enable_setting | No | ENABLED | |
| recommendation | No | ||
| asset_forms_input | No | ||
| domain_identifier | Yes | ||
| publish_on_import | No | ||
| project_identifier | Yes | ||
| connection_identifier | No | ||
| environment_identifier | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It details the creation action, required parameters, and return value including error messages. It mentions idempotency via client_token. However, it does not mention prerequisites like required permissions or domain/project existence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with Args and Returns sections. Every sentence adds value, but it could be slightly more concise by condensing some examples. Overall, it is effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (14 parameters, 0% schema coverage, no output schema), the description is highly complete. It covers all parameters, provides examples, and explains the return value. No critical gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 provides detailed explanations for all 14 parameters, including examples for complex types (configuration, asset_forms_input, recommendation, schedule). This goes beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Creates a data source in Amazon DataZone and associates it with a project.' This is a specific verb and resource. There are no sibling tools that create a data source, so no confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use this tool (when a data source needs to be created). It does not explicitly state when not to use or alternatives, but given the context of sibling tools, the usage is straightforward.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_domainB
Creates a new Amazon DataZone domain.
Args: name (str): The name of the domain domain_execution_role (str): The ARN of the domain execution role service_role (str): The ARN of the service role domain_version (str, optional): The version of the domain (V1 or V2) (default: "V2") description (str, optional): Description of the domain kms_key_identifier (str, optional): ARN of the KMS key for encryption tags (Dict[str, str], optional): Tags to associate with the domain single_sign_on (Dict[str, str], optional): Single sign-on configuration
Returns: Dict containing: - id: Domain identifier - arn: Domain ARN - name: Domain name - description: Domain description - domain_version: Domain version - status: Domain status - portal_url: Data portal URL - root_domain_unit_id: Root domain unit ID
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| tags | No | ||
| description | No | ||
| service_role | Yes | ||
| domain_version | No | V2 | |
| single_sign_on | No | ||
| kms_key_identifier | No | ||
| domain_execution_role | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only lists parameters and returns but does not mention side effects, permissions, idempotency, or asynchronous behavior. For a creation tool, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured using Args/Returns format and is not overly verbose. It clearly lists all parameters and return fields, though it could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters and no annotations, the description provides basic usage information and return fields. However, it lacks context about prerequisites, errors, or the creation process, which would be needed for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds meaningful explanations for each parameter, such as 'name (str): The name of the domain' and 'domain_execution_role (str): The ARN of the domain execution role'. This compensates for the lack of schema descriptions, though some parameters like 'single_sign_on' are only briefly defined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Creates a new Amazon DataZone domain' with a specific verb and resource. No sibling tool duplicates this action, so it is easily distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives or prerequisites. The description lacks any context about when to create a domain versus other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_domain_unitA
Creates a new domain unit in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain where the domain unit will be created Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ name (str): The name of the domain unit (1-128 characters) Pattern: ^[\w -]+$ parent_domain_unit_identifier (str): The ID of the parent domain unit Pattern: ^[a-z0-9_-]+$ description (str, optional): Description of the domain unit (0-2048 characters) client_token (str, optional): A unique token to ensure idempotency (1-128 characters) Pattern: ^[\x21-\x7E]+$
Returns: Dict containing: - id: Domain unit identifier - name: Domain unit name - description: Domain unit description - domain_id: Domain ID - parent_domain_unit_id: Parent domain unit ID - ancestor_domain_unit_ids: List of ancestor domain unit IDs - created_at: Creation timestamp - created_by: Creator information - owners: List of domain unit owners
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| description | No | ||
| client_token | No | ||
| domain_identifier | Yes | ||
| parent_domain_unit_identifier | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so description carries full burden. It details arguments and return shape but does not mention side effects (e.g., idempotency via client_token is implied but not stated), permissions, or error conditions. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured: leading statement, then Args and Returns sections. Concisely covers details without extraneous content. Could be slightly tighter (e.g., remove redundant pattern text), but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers parameters and return value adequately given output schema exists. Missing prerequisites (e.g., domain must exist, parent must exist) and error handling. Adequate but could benefit from more domain context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description adds significant value by documenting all five parameters with patterns, constraints, and optional notes. It lacks explicit default values but still provides meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Creates a new domain unit in Amazon DataZone', which is a specific verb and resource. It distinguishes from sibling tools like create_domain (which creates a domain) and get_domain_unit (which retrieves).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or when not to use this tool versus alternatives. The name implies creation, but no context like 'use when you need to add a new organizational unit within an existing domain' is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_form_typeA
Creates a new metadata form type in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain where the form type will be created Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ name (str): The name of the form type (1-128 characters) model (Dict[str, Any]): The model of the form type Note: This is a Union type object where only one member can be specified owning_project_identifier (str): The ID of the project that owns the form type Pattern: ^[a-zA-Z0-9_-]{1,36}$ description (str, optional): The description of the form type (0-2048 characters) status (str, optional): The status of the form type (ENABLED or DISABLED, default: ENABLED)
Returns: Any: The API response containing: - description (str): The description of the form type - domainId (str): The ID of the domain - name (str): The name of the form type - originDomainId (str): The ID of the domain where the form type was originally created - originProjectId (str): The ID of the project where the form type was originally created - owningProjectId (str): The ID of the project that owns the form type - revision (str): The revision of the form type (1-64 characters)
Example:
python response = await create_form_type( domain_identifier='dzd_123456789', name='amazon.datazone.customer_profile', model={ 'schema': { 'type': 'object', 'properties': { 'customer_id': {'type': 'string'}, 'customer_name': {'type': 'string'}, 'email': {'type': 'string', 'format': 'email'}, }, 'required': ['customer_id', 'customer_name'], } }, owning_project_identifier='prj_987654321', description='Form type for customer profile information', status='ENABLED', )
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| model | Yes | ||
| status | No | ENABLED | |
| description | No | ||
| domain_identifier | Yes | ||
| owning_project_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states it creates a form type and lists return fields. It does not mention side effects, required permissions, rate limits, or any destructive behavior. The Union type note on 'model' is a minor behavioral detail but insufficient for full transparency given no annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a one-line summary, Args, Returns, and an example. It is detailed but not overly verbose; each section serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema, the description provides a comprehensive Returns section. It covers all input parameters thoroughly, including nested objects. No major gaps for the agent to understand tool usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description fully compensates for the 0% schema coverage by detailing each parameter: patterns, lengths, defaults, and the Union nature of 'model'. The example further clarifies usage, adding significant meaning beyond the schema's type definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Creates a new metadata form type in Amazon DataZone,' providing a specific verb and resource. This clearly distinguishes it from sibling tools like create_asset or create_project, which target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The example shows usage but does not contrast with other create tools or specify conditions like when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_glossaryA
Creates a new business glossary in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain where the glossary will be created name (str): The name of the glossary (1-256 characters) owning_project_identifier (str): The ID of the project that will own the glossary description (str, optional): The description of the glossary (0-4096 characters) status (str, optional): The status of the glossary (ENABLED or DISABLED, default: ENABLED) client_token (str, optional): A unique token to ensure idempotency (1-128 characters)
Returns: Any: The API response containing the created glossary details
Example:
python response = await create_glossary( domain_identifier="dzd_123456789", name="Sales Glossary", owning_project_identifier="prj_987654321", description="Glossary for sales-related terms", status="ENABLED", )
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| status | No | ENABLED | |
| description | No | ||
| client_token | No | ||
| domain_identifier | Yes | ||
| owning_project_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the creation action and lists parameters, but does not disclose potential errors, prerequisites (e.g., domain must exist), or side effects. With no annotations, the description carries full burden and provides only basic behavioral information. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with clear sections (Args, Returns, Example) and is concise. The example adds practical value. However, the opening sentence is slightly redundant with the Args section that follows.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description covers all parameters and returns a generic 'API response'. It lacks details on error conditions, edge cases, or prerequisite checks (e.g., domain existence), which would be needed for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description's Args section adds meaningful context for each parameter (e.g., 'The ID of the domain where the glossary will be created'). This compensates well, though details like character limits are provided inconsistently (only for name and description).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Creates a new business glossary in Amazon DataZone.' The verb is specific ('creates'), the resource is defined ('business glossary'), and the platform is named, differentiating from siblings like create_glossary_term which creates a term within a glossary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidelines on when to use this tool versus alternatives, such as when a glossary should be created before terms. The context is implied by the sibling tools (e.g., create_glossary_term), but no direct 'when to use' or 'when not to use' guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_glossary_termA
Creates a new business glossary term in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain where the glossary term will be created Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ glossary_identifier (str): The ID of the glossary where the term will be created Pattern: ^[a-zA-Z0-9_-]{1,36}$ name (str): The name of the glossary term (1-256 characters) short_description (str, optional): A short description of the term (0-1024 characters) long_description (str, optional): A detailed description of the term (0-4096 characters) status (str, optional): The status of the term (ENABLED or DISABLED, default: ENABLED) term_relations (Dict[str, List[str]], optional): The term relations Example: { "classifies": ["term-id-1", "term-id-2"], "isA": ["term-id-3"] } client_token (str, optional): A unique token to ensure idempotency (1-128 characters) Pattern: ^[\x21-\x7E]+$
Returns: Any: The API response containing the created glossary term details
Example:
python response = await create_glossary_term( domain_identifier="dzd_123456789", glossary_identifier="gloss_987654321", name="Customer", short_description="A person or organization that purchases goods or services", long_description="In business, a customer is an individual or organization that purchases goods or services from a company. Customers are vital to the success of any business as they provide revenue and feedback.", status="ENABLED", term_relations={"classifies": ["term_123", "term_456"], "isA": ["term_789"]}, )
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| status | No | ENABLED | |
| client_token | No | ||
| term_relations | No | ||
| long_description | No | ||
| domain_identifier | Yes | ||
| short_description | No | ||
| glossary_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses creation nature, idempotency via client_token, default status, and patterns. Adds behavioral context beyond schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with Args, Returns, and Example. Slightly verbose but justifies its length by covering all parameters thoroughly. Conciseness is reasonable given schema lack.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers all 8 parameters with details, includes return type and example. Lacks prerequisites (e.g., domain and glossary must exist) but good overall for a creation tool without output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description fully compensates. Provides patterns, length constraints, defaults, and an illustrative example for term_relations. Adds significant meaning beyond the schema fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it creates a business glossary term in Amazon DataZone. Distinguishes from sibling tools like create_glossary (creates glossary) and get_glossary_term (retrieves term).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly clear that it is for creating terms within an existing glossary, but does not explicitly state when to use vs alternatives like create_glossary or the retrieval tool. No exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectB
Creates a new project in an Amazon DataZone domain.
Args: domain_identifier (str): The ID of the domain where the project will be created name (str): The name of the project (required) description (str, optional): The description of the project domain_unit_id (str, optional): The ID of the domain unit where the project will be created glossary_terms (List[str], optional): List of glossary terms that can be used in the project project_profile_id (str, optional): The ID of the project profile user_parameters (List[Dict[str, Any]], optional): The user parameters of the project
Returns: Any: The API response containing the created project details
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| description | No | ||
| domain_unit_id | No | ||
| glossary_terms | No | ||
| user_parameters | No | ||
| domain_identifier | Yes | ||
| project_profile_id | No |
TDQS
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 only states that the tool creates a project and returns an API response, but fails to disclose side effects, permissions, or safety implications. For a mutation tool, this is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear first sentence, a detailed Args list, and a Returns section. It is relatively concise, though the Args list is somewhat redundant with the schema. Still front-loaded and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and moderate complexity (7 parameters), the description is incomplete. It lacks details on naming conventions, uniqueness constraints, or asynchronous behavior. The return type is vague ('Any'). More context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description compensates by listing all parameters with brief explanations in the 'Args' section. This adds basic meaning, but does not cover constraints or formats. It provides average clarity beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a new project in an Amazon DataZone domain. It uses a specific verb and resource, and it distinguishes itself from sibling tools like create_project_membership and create_project_profile.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists arguments but does not provide explicit guidance on when to use this tool versus alternatives. It lacks context on prerequisites or when not to use, though the purpose is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_project_membershipC
Make a request to the Amazon DataZone CreateProjectMembership API.
Args: domainIdentifier (str): The identifier of the domain. projectIdentifier (str): The identifier of the project. designation (str): The designation of the member. memberIdentifier (str): The identifier of the member.
| Name | Required | Description | Default |
|---|---|---|---|
| designation | Yes | ||
| domainIdentifier | Yes | ||
| memberIdentifier | Yes | ||
| projectIdentifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavior. It only says 'Make a request to the API' without noting whether the operation is destructive, idempotent, or requires specific permissions. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (one introductory sentence followed by parameter list) but not well structured for quick scanning. Parameter explanations are terse and repetitive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 required parameters, no output schema, and no annotations, the description is incomplete. It omits success/error conditions, return value, side effects, and preconditions. Does not explain the purpose of designations or member identifiers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description adds minimal value: it lists parameter names and repeats type info (e.g., 'domainIdentifier (str): The identifier of the domain'). This is only slightly better than the bare schema, lacking context like allowed values or relationships between parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Make a request to the Amazon DataZone CreateProjectMembership API,' clearly indicating the verb (Create) and resource (ProjectMembership). It distinguishes from siblings like list_project_memberships by implying a create action, but lacks explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., add_policy_grant or create_project). No when-not-to-use scenarios or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_project_profileB
Creates a new project profile in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain where the project profile will be created Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ name (str): The name of the project profile (1-64 characters) Pattern: ^[\w -]+$ description (str, optional): Description of the project profile (0-2048 characters) domain_unit_identifier (str, optional): The ID of the domain unit where the project profile will be created Pattern: ^[a-z0-9_-]+$ environment_configurations (List[Dict[str, Any]], optional): Environment configurations for the project profile Each configuration should include: - awsAccount: AWS account details - awsRegion: AWS region details - configurationParameters: Configuration parameters - deploymentMode: Deployment mode - deploymentOrder: Deployment order - description: Environment description - environmentBlueprintId: Environment blueprint ID - id: Environment ID - name: Environment name status (str, optional): The status of the project profile (ENABLED or DISABLED, default: ENABLED)
Returns: Dict containing: - id: Project profile identifier - name: Project profile name - description: Project profile description - domain_id: Domain ID - domain_unit_id: Domain unit ID - environment_configurations: Environment configurations - status: Project profile status - created_at: Creation timestamp - created_by: Creator information - last_updated_at: Last update timestamp
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| status | No | ENABLED | |
| description | No | ||
| domain_identifier | Yes | ||
| domain_unit_identifier | No | ||
| environment_configurations | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility. It describes the creation action and return format but does not disclose side effects, permissions, idempotency, or error behavior. A create operation is inherently more transparent than a mutation, but details are lacking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized with Args and Returns sections. It is slightly verbose but each sentence adds useful detail. It is front-loaded with the purpose, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (6 parameters, optional nested objects) and the presence of an output schema, the description covers all necessary details: parameter constraints, return fields, and optionality. It is sufficiently complete for an AI agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant value beyond the input schema by providing patterns for domain_identifier and name, explaining the structure of environment_configurations, and clarifying defaults. Since schema coverage is 0%, this compensation is crucial and well done.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Creates a new project profile in Amazon DataZone,' using a specific verb and resource. However, it does not differentiate from sibling tools like create_asset or create_connection, preventing 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.
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. There is no mention of prerequisites, typical scenarios, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_subscription_requestA
Creates a subscription request in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain where the subscription request is created request_reason (str): The reason for the subscription request (1-4096 characters) subscribed_listings (List[Dict[str, str]]): The published assets to subscribe to Example: [{"identifier": "listing-id"}] subscribed_principals (List[Dict[str, Any]]): The principals to subscribe using tagged union format Example for project: [{"project": {"identifier": "project-id"}}] Example for user: [{"user": {"userId": "user-id"}}] metadata_forms (List[Dict[str, str]], optional): Additional metadata forms Example: [{ "content": "form-content", "formName": "form-name", "typeIdentifier": "type-id", "typeRevision": "type-rev" }] client_token (str, optional): A unique token to ensure idempotency
Returns: Any: The API response containing: - Subscription request ID and status - Creation and update timestamps - Domain ID - Request reason and decision comment - Subscribed listings and principals - Metadata forms - Reviewer information
| Name | Required | Description | Default |
|---|---|---|---|
| client_token | No | ||
| metadata_forms | No | ||
| request_reason | Yes | ||
| domain_identifier | Yes | ||
| subscribed_listings | Yes | ||
| subscribed_principals | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavioral traits. It mentions idempotency via client_token and return values, but lacks disclosure on side effects, permissions, rate limits, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with clear purpose, args, and returns sections. Each part adds value, though could be slightly trimmed in parameter examples without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Describes input parameters and return object structure in detail. Lacks error scenarios and prerequisites (e.g., domain existence), but overall sufficient for a create tool with complex parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description provides detailed explanations and examples for all 6 parameters, including tagged union format for subscribed_principals and length constraints for request_reason, compensating for 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Creates a subscription request in Amazon DataZone.' This distinct verb-resource combination differentiates it from siblings like 'accept_subscription_request' and 'get_subscription'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'accept_subscription_request'. The description implies it's for creating requests but lacks when-not and precondition information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_assetA
Retrieves detailed information about one specific asset (specified by user) in Amazon DataZone.
Use this API when you want to inspect or manage a particular known asset dataset, or table and want to retrieve its:
Full metadata (business and technical)
Lineage information
Forms and glossary terms
Time-series details
Revision history
Access and listing info
Data asset is a specific dataset or table, while data source is a location where your data resides.
related tools:
search: use when user is trying to discover or explore unknown assets based on keywords, metadata, or filters.
get_data_source: get detailed information about one specific data source in a domain.
Args: domain_identifier (str): The ID of the domain containing the asset asset_identifier (str): The ID of the asset to retrieve revision (str, optional): The specific revision of the asset to retrieve
Returns: Any: The API response containing asset details including: - Basic info (name, description, ID) - Creation timestamps (createdAt, firstRevisionCreatedAt) - Domain and project IDs - Asset type and revision info - Forms and metadata - Glossary terms - Listing status - Time series data points
| Name | Required | Description | Default |
|---|---|---|---|
| revision | No | ||
| asset_identifier | Yes | ||
| domain_identifier | Yes |
TDQS
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 details the information retrieved (metadata, lineage, forms, etc.) and implies a read-only operation. While it could mention idempotency or permissions, the level of detail about the response is sufficient for understanding behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections for main description, use case, related tools, args, and returns. It is informative without being verbose, though slightly longer than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description provides a detailed list of return fields. It explains the concept of an asset and differentiates it from a data source. The three parameters are fully documented. This is adequate for an AI 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It provides clear descriptions of each parameter: domain_identifier, asset_identifier, and revision (optional), adding meaning beyond the schema's property names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Retrieves' and the resource 'one specific asset', and distinguishes from siblings by explicitly naming 'search' and 'get_data_source' as alternatives for different use cases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this API when you want to inspect or manage a particular known asset', and contrasts with search for discovery and get_data_source for data sources, providing clear guidance on when to use this tool vs alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connectionA
Gets a connection in Amazon DataZone. A connection enables you to connect your resources
(domains, projects, and environments) to external resources and services.
Connections are credentials + config for accessing a system, while data source is a specific location where your data resides using a connection.
related tools:
get_data_source: get detailed information about one specific data source (a data locatin)
Args: domain_identifier (str): The ID of the domain where the connection exists. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ identifier (str): The ID of the connection to retrieve. Length Constraints: Minimum length of 0. Maximum length of 128. with_secret (bool, optional): Specifies whether to include connection secrets. Defaults to False.
Returns: Any: The API response containing: - connectionId (str): The ID of the connection - description (str): The connection description - domainId (str): The domain ID - domainUnitId (str): The domain unit ID - environmentId (str): The environment ID - environmentUserRole (str): The environment user role - name (str): The connection name - physicalEndpoints (list): The physical endpoints of the connection - projectId (str): The project ID - props (dict): The connection properties - type (str): The connection type - connectionCredentials (dict, optional): If with_secret is True, includes: - accessKeyId (str) - expiration (str) - secretAccessKey (str) - sessionToken (str)
Example: >>> get_connection( ... domain_identifier="dzd_4p9n6sw4qt9xgn", ... identifier="conn_123456789", ... with_secret=True, ... )
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| with_secret | No | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It reveals that the tool is a read operation ('gets'), clarifies that connections are non-destructive, and explains the effect of the 'with_secret' parameter on the return value. However, it does not explicitly state permissions needed or any other behavioral nuances like rate limits, but the detail is adequate for a simple read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: one-line summary, explanatory paragraph, related tools, parameter details, return details, and an example. It is front-loaded with the core purpose and uses minimal but necessary text. No redundant sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all major aspects: purpose, usage comparison, parameter semantics, return structure, and an example. It lacks only minor details like prerequisites or explicit read-only indication, but for a 3-parameter read tool with no output schema, it is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 0% description coverage, so the description must compensate. It does so thoroughly with an 'Args' section defining each parameter: 'domain_identifier' (pattern), 'identifier' (length constraints), and 'with_secret' (default, purpose). This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Gets a connection in Amazon DataZone', specifying the verb and resource. It also distinguishes 'connection' from 'data source' by explaining that connections are credentials+config while data sources are specific locations, differentiating it from the sibling tool 'get_data_source'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'related tools' section explicitly contrasting with 'get_data_source', telling when to use each: 'get_connection' for metadata and config, while 'get_data_source' for detailed information about a specific data location. This provides clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_data_sourceA
Retrieves detailed information about a specific, known data source in Amazon DataZone.
Use this API when the user mentions a specific data source by name, type, or context (e.g., "Redshift data source in analytics domain") and wants details like:
Connection settings
Ingestion configuration
Authentication and scheduling details
Last run status and errors
Data source is a location that defines where your data resides, while data asset is a specific dataset or table. Connections are credentials + config for accessing a system, while data source is a specific location where your data resides using a connection.
related tools:
list_data_sources: retrieve ea list of data sources in a domain by name, status, type, etc.
get_asset: get detailed information about one specific data asset in a data source.
Args: domain_identifier (str): The ID of the domain where the data source exists identifier (str): The ID of the data source to retrieve
Returns: Any: The API response containing data source details
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description carries full burden. Clearly indicates it is a read operation (retrieval). Explains concepts like data source vs. data asset vs. connection, aiding understanding. Does not explicitly mention rate limits or idempotency, but appropriate for a GET tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with sections and bullet points. Provides needed details without excessive verbosity. Minor redundancy in explaining data source vs. asset, but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Comprehensive for a retrieval tool with no output schema. Covers purpose, usage guidelines, parameter semantics, and related tools. No gaps identified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It lists both parameters in Args section with brief descriptions (domain ID, data source ID), but adds little beyond the schema field names and required status. Some context added but not rich.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb ('Retrieves detailed information'), specific resource ('specific, known data source'), and explicit context. Distinguishes from sibling tools list_data_sources and get_asset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('when user mentions a specific data source by name, type, or context') and lists detailed information it provides. Also mentions related tools and their purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_domainB
Calls the Amazon DataZone GetDomain API for a given domain identifier.
Args: identifier (str): The domain identifier (e.g., "dzd_4p9n6sw4qt9xgn")
Returns: Any: The API response containing domain details or None if an error occurs
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states it calls the API and returns response or None, but does not disclose read-only nature, authentication needs, rate limits, or side effects. The behavior is implied but insufficiently explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with clear sections for arguments and returns. Every sentence adds value, and it is front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get tool with one parameter and no output schema, the description is mostly complete. It covers input and output (returning API response or None). Minor gap: does not mention HTTP status or error handling beyond returning None.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds an example value and explains that identifier is the domain identifier. While not exhaustive, this provides meaningful context beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it calls the GetDomain API for a domain identifier. It specifies the resource and action, but does not explicitly differentiate from sibling tools like get_domain_unit or list_domains, though the context implies it's a retrieval operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 does not mention that list_domains should be used for enumerating domains, nor does it state that this tool is for fetching details by ID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_domain_unitA
Retrieves detailed information about a specific domain unit in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain where the domain unit exists Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ identifier (str): The ID of the domain unit to retrieve Pattern: ^[a-z0-9_-]+$
Returns: Dict containing: - id: Domain unit identifier - name: Domain unit name - description: Domain unit description - domain_id: Domain ID - parent_domain_unit_id: Parent domain unit ID - created_at: Creation timestamp - created_by: Creator information - owners: List of domain unit owners - lastUpdatedAt: The timestamp at which the domain unit was last updated - lastUpdatedBy: The user who last updated the domain unit
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| domain_identifier | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavioral traits. It states the tool retrieves info but does not mention permissions, error conditions, idempotency, or side effects. While 'get' implies safety, the lack of explicit behavioral context is a gap without annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise yet comprehensive: a one-line purpose followed by structured Args and Returns sections. Each sentence serves a purpose, and the format is easy to parse. No superfluous text exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with two parameters, the description covers input (with patterns) and output (a detailed dict). It is nearly complete, though it lacks mention of potential errors or auth requirements. With output schema present (implied by the Returns section), the description is thorough enough for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds significant value: it explains each parameter including regex patterns ('domain_identifier' pattern '^dzd[-_][a-zA-Z0-9_-]{1,36}$') and natural language descriptions. This compensates fully for the schema's lack of descriptions, though it could include examples or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening line 'Retrieves detailed information about a specific domain unit in Amazon DataZone' clearly states the action and resource. This distinguishes it from siblings like 'list_domain_units' (which lists multiple) and 'create_domain_unit' (which creates), establishing a unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 'list_domain_units' for multiple units or other retrieval tools. It lacks any context about prerequisites, fallbacks, or when not to use, leaving the agent without decision-making support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_environmentA
Gets an Amazon DataZone environment.
Args: domain_identifier (str): The ID of the domain where the environment exists. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ identifier (str): The ID of the environment to retrieve. Length Constraints: Minimum length of 0. Maximum length of 128.
Returns: Any: The API response containing: - awsAccountId (str): The AWS account ID associated with the environment. - awsAccountRegion (str): The AWS region where the environment is located. - createdAt (str): Timestamp when the environment was created. - createdBy (str): The identifier of the user who created the environment. - deploymentProperties (dict): Properties related to deployment, including: - endTimeoutMinutes (int): Timeout in minutes for ending the deployment. - startTimeoutMinutes (int): Timeout in minutes for starting the deployment. - description (str): Description of the environment. - domainId (str): The domain ID associated with the environment. - environmentActions (list): A list of actions for the environment, each containing: - auth (str): Authorization type for the action. - parameters (list): Parameters for the action, each including: - key (str): Parameter key. - value (str): Parameter value. - type (str): The type of environment action. - environmentBlueprintId (str): ID of the blueprint used for the environment. - environmentConfigurationId (str): ID of the environment configuration. - environmentProfileId (str): ID of the environment profile. - glossaryTerms (list): List of glossary term strings associated with the environment. - id (str): The unique ID of the environment. - lastDeployment (dict): Information about the last deployment, including: - deploymentId (str): ID of the last deployment. - deploymentStatus (str): Status of the deployment. - deploymentType (str): Type of deployment. - failureReason (dict): Details of any failure, including: - code (str): Error code for the failure. - message (str): Human-readable error message. - isDeploymentComplete (bool): Whether the deployment is complete. - messages (list): List of messages related to the deployment. - name (str): Name of the environment. - projectId (str): The project ID associated with the environment. - provider (str): Provider responsible for provisioning the environment. - provisionedResources (list): List of provisioned resources, each including: - name (str): Name of the resource. - provider (str): Resource provider. - type (str): Type of the resource. - value (str): Value associated with the resource. - provisioningProperties (dict): Additional properties used during provisioning. - status (str): Current status of the environment. - updatedAt (str): Timestamp when the environment was last updated. - userParameters (list): Parameters provided by the user, each including: - defaultValue (str): Default value of the parameter. - description (str): Description of the parameter. - fieldType (str): Type of input field. - isEditable (bool): Whether the parameter is editable. - isOptional (bool): Whether the parameter is optional. - keyName (str): Key name for the parameter.
Example: >>> get_environment( ... domain_identifier="dzd_4p9n6sw4qt9xgn", identifier="conn_123456789" ... )
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden for behavioral traits. It only states 'Gets' which implies read-only, but does not disclose idempotency, prerequisites, or any special behaviors beyond the return structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is organized with bullet points and an example, making it easy to parse. While it is lengthy due to detailed return fields, it is appropriately structured for a complex output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fully documents the return object fields. Input parameters are thoroughly described, and an example is provided, making the tool complete for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, but the description provides detailed parameter semantics including types, patterns, and constraints for both domain_identifier and identifier, significantly adding value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Gets an Amazon DataZone environment', which is a specific verb and resource. It distinguishes from sibling tools like get_asset, get_connection, and list_environments, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives such as list_environments for multiple environments. While the context implies retrieval by ID, more explicit guidance would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_environment_blueprintA
Retrieves metadata and definition of an environment blueprint.
related tools:
get_environment_blueprint_configuration: Retrieves the configuration schema and parameters that must be provided when provisioning an environment from a given blueprint.
Args: domain_identifier (str): The ID of the domain in which this blueprint exists. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ identifier (str): The ID of the environment to retrieve. Length Constraints: Minimum length of 0. Maximum length of 128.
Returns: Any: The API response containing the Amazon DataZone blueprint metadata:
- createdAt (str): Timestamp indicating when the blueprint was created.
- deploymentProperties (dict): Deployment-related configuration, including:
- endTimeoutMinutes (int): Timeout in minutes for ending deployment.
- startTimeoutMinutes (int): Timeout in minutes for starting deployment.
- description (str): A description of the blueprint.
- Constraints: 0–2048 characters.
- glossaryTerms (list of str): Glossary terms associated with the blueprint.
- Constraints: 1–20 items.
- Pattern: ^[a-zA-Z0-9_-]{1,36}$
- id (str): Unique ID of the blueprint.
- Pattern: ^[a-zA-Z0-9_-]{1,36}$
- name (str): Name of the blueprint.
- Constraints: 1–64 characters.
- Pattern: r"^[\w -]+$"
- provider (str): The provider of the blueprint.
- provisioningProperties (dict): Provisioning configuration for the blueprint.
- Note: This is a union object—only one configuration type may be present.
- updatedAt (str): Timestamp indicating when the blueprint was last updated.
- userParameters (list of dict): Custom parameters defined by the user, each including:
- defaultValue (str): Default value for the parameter.
- description (str): Description of the parameter.
- fieldType (str): Type of input field (e.g., string, boolean).
- isEditable (bool): Whether the parameter is user-editable.
- isOptional (bool): Whether the parameter is optional.
- keyName (str): Key name for the parameter.
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| domain_identifier | Yes |
TDQS
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 implies a read-only operation ('Retrieves') and details the return fields, but does not explicitly state idempotency, permissions, or non-destructive nature. The behavioral traits are partially disclosed but not comprehensively.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy due to a detailed return schema, but it is well-structured with clear sections for summary, related tools, args, and returns. The front-loading of the main purpose is good, but the verbosity slightly reduces conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description covers purpose, parameters with constraints, and comprehensive return fields. It also references a related tool. It is complete enough for a read operation, though it omits error conditions or prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, but the description provides meaningful details for both parameters, including patterns and length constraints. This adds significant value beyond the schema, compensating for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states 'Retrieves metadata and definition of an environment blueprint,' using a specific verb and resource. It distinguishes from the sibling tool 'get_environment_blueprint_configuration' by noting that the latter retrieves configuration schema, clarifying the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions a related tool but provides no explicit guidance on when to use this tool versus alternatives. It lacks statements like 'use this when...' or 'do not use when...', leaving the agent without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_environment_blueprint_configurationA
Gets an Amazon DataZone environment blueprint configuration.
Retrieves the configuration schema and parameters that must be provided when provisioning an environment from a given blueprint.
Args: domain_identifier (str): The ID of the domain where where this blueprint exists. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ identifier (str): The ID of the environment blueprint. Pattern: ^[a-zA-Z0-9_-]{1,36}$
Returns: Any: The API response containing information about the Amazon DataZone environment blueprint configuration:
- createdAt (str): Timestamp indicating when the blueprint was created.
- domainId (str): ID of the DataZone domain associated with the blueprint.
- Pattern: ^dzd[-_][a-zA-Z0-9_-]{1,36}$
- enabledRegions (list of str): List of AWS regions where the blueprint is enabled.
- Each region string must follow the pattern: ^[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]$
- Length constraints: 4–16 characters.
- environmentBlueprintId (str): Unique ID of the blueprint.
- Pattern: ^[a-zA-Z0-9_-]{1,36}$
- environmentRolePermissionBoundary (str): ARN of the IAM policy that defines the permission boundary for environment roles.
- Pattern: r"^arn:aws[^:]*:iam::(aws|\d{12}):policy/[\w+=,.@-]*$"
- manageAccessRoleArn (str): ARN of the IAM role used to manage access to the blueprint.
- Pattern: ^arn:aws[^:]*:iam::\d{12}:(role|role/service-role)/[\w+=,.@-]*$
- provisioningConfigurations (list of dict): Provisioning configurations associated with the blueprint.
- Each item is a `ProvisioningConfiguration` object describing how resources are provisioned.
- provisioningRoleArn (str): ARN of the IAM role used for provisioning resources.
- Pattern: ^arn:aws[^:]*:iam::\d{12}:(role|role/service-role)/[\w+=,.@-]*$
- regionalParameters (dict): A nested map of region-specific parameters.
- Outer keys: Region codes (e.g., "us-west-2")
- Constraints: 4–16 characters, pattern: ^[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]$
- Inner dicts: Key-value pairs of configuration parameters for that region.
- updatedAt (str): Timestamp indicating when the blueprint was last updated.
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It clearly indicates this is a read-only operation (gets configuration) and provides a detailed return structure including fields, patterns, and types. It transparently describes what the tool returns, ensuring the agent knows behavior without hidden side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with clear sections (overall purpose, Args, Returns) and is front-loaded with the main purpose. While somewhat verbose due to detailed patterns and constraints, every part adds value. A minor reduction in length would be possible, but the current structure aids readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity, absence of output schema, and no annotations, the description fully documents the return structure with every field, pattern, and description. The two parameters are thoroughly explained. The tool's behavior and results are completely covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description provides complete parameter documentation with patterns and explanations for both 'domain_identifier' and 'identifier'. The Args section adds meaning beyond the schema by explaining the purpose and constraints of each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it gets an Amazon DataZone environment blueprint configuration, specifying the exact resource and action. It distinguishes from sibling tools like 'list_environment_blueprint_configurations' and 'get_environment_blueprint' by focusing on the configuration schema and parameters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. It implies use for retrieving detailed configuration of a specific blueprint, but lacks guidance on when not to use or alternative tools. Usage context is only suggested by the tool name and general description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_form_typeA
Retrieves detailed information about a specific metadata form type in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain where the form type exists Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ form_type_identifier (str): The ID of the form type to retrieve Length: 1-385 characters revision (str, optional): The revision of the form type to retrieve Length: 1-64 characters
Returns: Any: The API response containing form type details including: - createdAt (number): Timestamp of when the form type was created - createdBy (str): The user who created the form type - description (str): The description of the form type (0-2048 characters) - domainId (str): The ID of the domain - imports (list): The imports of the form type (1-10 items) Each import contains: - name (str): The name of the import - revision (str): The revision of the import - model (dict): The model of the form type (Union type) - name (str): The name of the form type (1-128 characters) - originDomainId (str): The ID of the domain where the form type was originally created - originProjectId (str): The ID of the project where the form type was originally created - owningProjectId (str): The ID of the project that owns the form type - revision (str): The revision of the form type (1-64 characters) - status (str): The status of the form type (ENABLED or DISABLED)
Example:
python response = await get_form_type( domain_identifier='dzd_123456789', form_type_identifier='amazon.datazone.customer_profile', revision='1.0.0', )
| Name | Required | Description | Default |
|---|---|---|---|
| revision | No | ||
| domain_identifier | Yes | ||
| form_type_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description describes the normal behavior (retrieves details and returns fields) but does not disclose error conditions, permissions needed, or side effects. Adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with Args, Returns, and an Example. The return section is verbose but clear. Front-loaded with the purpose sentence. Slightly long but earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description provides a comprehensive list of return fields and includes an example. It covers all necessary contextual information for a simple retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even though schema coverage is 0%, the description includes detailed parameter documentation with patterns, lengths, and optionality (e.g., 'Pattern: ^dzd[-_][a-zA-Z0-9_-]{1,36}$' for domain_identifier). 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Retrieves detailed information about a specific metadata form type in Amazon DataZone', providing a specific verb ('retrieves') and resource ('metadata form type'), which distinguishes it from siblings like 'create_form_type'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives, such as when to use get_form_type versus search_types or other getters. The description only describes the action, not the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_glossaryA
Retrieves detailed information about a specific business glossary in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain where the glossary exists Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ identifier (str): The ID of the glossary to retrieve Pattern: ^[a-zA-Z0-9_-]{1,36}$
Returns: Any: The API response containing glossary details including: - createdAt (number): Timestamp of when the glossary was created - createdBy (str): The user who created the glossary - description (str): The description of the glossary (0-4096 characters) - domainId (str): The ID of the domain - id (str): The ID of the glossary - name (str): The name of the glossary (1-256 characters) - owningProjectId (str): The ID of the project that owns the glossary - status (str): The status of the glossary (DISABLED or ENABLED) - updatedAt (number): Timestamp of when the glossary was updated - updatedBy (str): The user who updated the glossary
Example:
python response = await get_glossary( domain_identifier="dzd_123456789", identifier="gloss_987654321" )
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for transparency. It explains the tool is a read operation, lists return fields with types and constraints (e.g., status can be DISABLED or ENABLED), and includes timestamps and user info. However, it does not mention permissions, error conditions, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with Args, Returns, and Example sections. It is front-loaded with the core purpose. While it is detailed, it is appropriately sized for the complexity of the tool (2 parameters, multiple return fields). Could be slightly more concise but still effective.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description enumerates all return fields with types and constraints. Parameter semantics are fully covered. The example adds practical context. For a simple retrieval tool, this is complete and leaves no major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description provides comprehensive parameter details: each parameter has a clear description, type, and regex pattern. An example demonstrates usage. This fully compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Retrieves detailed information about a specific business glossary in Amazon DataZone.' It uses a specific verb ('retrieves') and resource ('business glossary'), and distinguishes it from siblings like 'get_glossary_term' and 'create_glossary'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an example and parameter details, but does not explicitly state when to use this tool versus alternatives. Among sibling tools, there are other 'get' operations, but no guidance on when to choose 'get_glossary' over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_glossary_termA
Retrieves detailed information about a specific business glossary term in Amazon DataZone.
Args: domain_identifier (str): The ID of the domain where the glossary term exists Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ identifier (str): The ID of the glossary term to retrieve Pattern: ^[a-zA-Z0-9_-]{1,36}$
Returns: Any: The API response containing glossary term details including: - createdAt (number): Timestamp of when the term was created - createdBy (str): The user who created the term - domainId (str): The ID of the domain - glossaryId (str): The ID of the glossary containing the term - id (str): The ID of the glossary term - longDescription (str): The long description of the term (0-4096 characters) - name (str): The name of the term (1-256 characters) - shortDescription (str): The short description of the term (0-1024 characters) - status (str): The status of the term (ENABLED or DISABLED) - termRelations (dict): The relations of the term Example: { "classifies": ["term-id-1", "term-id-2"], "isA": ["term-id-3"] } - updatedAt (number): Timestamp of when the term was updated - updatedBy (str): The user who updated the term
Example:
python response = await get_glossary_term( domain_identifier="dzd_123456789", identifier="term_987654321" )
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| domain_identifier | Yes |
TDQS
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 retrieval (a read operation) and lists return fields, giving some behavioral insight. However, it does not disclose error handling, authorization needs, or potential side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a purpose sentence, args, returns, and example. It is somewhat lengthy but appropriate for the detail needed. Front-loads the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description provides a comprehensive return structure and an example. It covers both parameters and expected output. Missing error handling or permissions, but for a read tool it is fairly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage. The description adds full parameter semantics: 'The ID of the domain where the glossary term exists' and 'The ID of the glossary term to retrieve' with patterns, providing essential meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Retrieves detailed information about a specific business glossary term in Amazon DataZone,' specifying the verb, resource, and platform. It distinguishes from sibling 'get_glossary' by focusing on a term rather than the glossary itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does but does not provide explicit guidance on when to use it vs. alternatives like search or list_tools. Usage is implied but not contrasted with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_listingA
Gets a listing (a record of an asset at a given time) in Amazon DataZone.
If a listing version is specified, only details specific to that version are returned.
Args: domain_identifier (str): The ID of the Amazon DataZone domain Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ identifier (str): The ID of the listing Pattern: ^[a-zA-Z0-9_-]{1,36}$ listing_revision (str, optional): The revision of the listing Length: 1-64 characters
Returns: Any: The API response containing: - Listing ID and revision - Creation and update timestamps - Domain ID - Listing name and description - Listing status (CREATING | ACTIVE | INACTIVE) - Listing item details - Creator and updater information
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| listing_revision | No | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that specifying a listing version returns only that version's details, and the Returns section details the response structure. It does not mention auth requirements or side effects, but the 'get' verb implies a safe read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with purpose, behavior note, args, and returns sections. It is front-loaded but could be slightly more concise by avoiding the full schema repetition in Args; however, that repetition adds value given the 0% schema coverage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (get operation with 3 parameters, no output schema), the description is complete: it defines the resource, explains optional behavior, details all parameters, and describes the return structure including listing statuses and item details. No gaps are evident.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds meaningful semantics for all three parameters: it provides patterns, length constraints, and explanatory text (e.g., 'The ID of the Amazon DataZone domain', 'The ID of the listing', 'The revision of the listing'). This fully compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool gets a listing, defined as a record of an asset at a given time in Amazon DataZone. It clearly identifies the verb and resource but does not differentiate from sibling tools like search_listings or other get_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have domain_identifier and identifier, and notes optional listing_revision behavior. However, it does not provide explicit when-to-use or when-not-to-use guidance, nor does it mention alternatives such as search_listings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectA
Retrieves detailed information, metadata and configuration, of a specific project in Amazon DataZone.
Use this API when the user is asking about a known project by name or context and wants to:
View deployment status, user roles, or configurations
Audit metadata for compliance or review
Returns: Any: The API response containing project details including: - Basic info (name, description, ID) - Timestamps (createdAt, lastUpdatedAt) - Domain IDs (domainId, domainUnitId) - Project status and profile - Environment deployment details - User parameters - Glossary terms - Failure reasons (if any)
| Name | Required | Description | Default |
|---|---|---|---|
| domain_identifier | Yes | ||
| project_identifier | Yes |
TDQS
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 describes the return data but does not disclose side effects, rate limits, permissions, or idempotency. As a read operation, the lack of such details is acceptable but not exemplary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and use cases, but the list of return fields is somewhat verbose and could be trimmed. It is structured but not maximally concise, earning a middling score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description should provide more context about parameters, error scenarios, and prerequisites. It covers return fields but leaves gaps in parameter semantics and behavioral context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It mentions 'known project by name or context' but the schema uses identifiers, not names. The description does not explain what the parameters represent or how to obtain them, leaving ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Retrieves' and resource 'project' in Amazon DataZone, clearly distinguishing it from sibling tools like 'list_projects' and other get_* tools. It also specifies the type of information returned, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: when the user is asking about a known project and wants to view deployment status, user roles, or audit metadata. It does not provide explicit 'when not to use' or name alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_profileA
Get the details of the project profile in an Amazon DataZone domain.
Args: domain_identifier (str): The ID of the domain Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ identifier (str): The ID of the project profile (1-50, default: 50) Pattern: ^[a-zA-Z0-9_-]{1,36}$
Returns: dict: A dictionary with the following fields: createdAt (str): The timestamp when the project profile was created. createdBy (str): The user who created the project profile. description (str): Description of the project profile. (0–2048 characters) domainId (str): The identifier of the domain the project profile belongs to. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ domainUnitId (str): The identifier of the domain unit within the domain. Pattern: r"^[a-z0-9_-]+$", length 1–256 environmentConfigurations (List[dict]): A list of environment configurations. Each item includes: - awsAccount (dict): AWS account details. - awsRegion (dict): AWS region. - configurationParameters (dict): Parameters for deployment. - parameterOverrides (List[dict]): Overridden parameters with: - isEditable (bool): Whether the parameter can be edited. - name (str): Parameter name. - value (str): Parameter value. - resolvedParameters (List[dict]): Final resolved parameters, same structure as above. - ssmPath (str): SSM path for configuration parameters. - deploymentMode (str): Mode of deployment. - deploymentOrder (int): Order in which to deploy this environment. - description (str): Description of the environment configuration. - environmentBlueprintId (str): Identifier of the environment blueprint. - id (str): Unique ID of the environment configuration. - name (str): Name of the environment configuration. id (str): Unique identifier for the project profile. Pattern: ^[a-zA-Z0-9_-]{1,36}$ lastUpdatedAt (str): The timestamp when the project profile was last updated. name (str): The name of the project profile (1–64 characters). Pattern: ^[\w -]+$ status (str): Status of the project profile. Valid values: "ENABLED" | "DISABLED"
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It clearly indicates a read operation ('Get') but does not mention required permissions or any side effects. The detailed return value structure helps, but the lack of explicit read-only behavior or security context lowers the score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose, especially with the full return structure. While every sentence is informative, it could be more concise. The Args and Returns sections are well-structured, but the length is slightly excessive for a tool with only two parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description provides a thorough breakdown of the return value, including nested fields. For a getter with 2 required parameters and no complex nesting, this is nearly complete. Missing only minor aspects like error conditions or pagination (not relevant here).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 by providing patterns and constraints for both parameters (e.g., regex patterns for domain_identifier and identifier). This adds valuable meaning beyond the bare JSON schema, justifying a score above baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get the details of the project profile in an Amazon DataZone domain.' It uses a specific verb ('Get') and resource ('details of the project profile'), which distinguishes it from sibling tools like 'list_project_profiles' (lists many) and 'create_project_profile' (creates).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it (when you need details of a specific project profile) but does not explicitly state when not to use it or compare with alternatives. With siblings like list_project_profiles and create_project_profile, explicit usage guidance would improve this score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_subscriptionA
Gets a subscription in Amazon DataZone.
Args: domain_identifier (str): The ID of the Amazon DataZone domain in which the subscription exists Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ identifier (str): The ID of the subscription Pattern: ^[a-zA-Z0-9_-]{1,36}$
Returns: Any: The API response containing: - Subscription ID and status (APPROVED | REVOKED | CANCELLED) - Creation and update timestamps - Domain ID - Retain permissions flag - Subscribed listing details - Subscribed principal information - Subscription request ID - Creator and updater information
| Name | Required | Description | Default |
|---|---|---|---|
| identifier | Yes | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the return structure in detail (status, timestamps, listing details, etc.). However, it does not mention authentication, rate limits, or that it is a read-only operation, which is implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with Args and Returns sections. While informative, it could be slightly more concise by moving patterns to the schema's description fields, but it remains focused.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get tool with two parameters and no output schema, the description covers input patterns comprehensively and details the return structure fully. It is contextually complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description adds pattern constraints for both parameters (domain_identifier and identifier) and explains the return structure. This adds meaningful value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Gets a subscription in Amazon DataZone,' using a specific verb and resource. It distinguishes from siblings like create_subscription_request or accept_subscription_request, which are mutation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving a subscription's details but does not explicitly state when to use it versus alternatives or when not to use it. No callouts for prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_profileB
Retrieves the user profile in a specified Amazon DataZone domain for a given user.
Args: domain_identifier (str): The ID of the Amazon DataZone domain from which to retrieve the user profile. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ Required: Yes
type (str): The type of the user profile.
Valid values: "IAM" | "SSO"
Required: Yes
user_identifier (str): The identifier of the user for whom to retrieve the profile.
Pattern: r"(^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]
{4}-[A-Fa-f0-9]{12}$|^[a-zA-Z_0-9+=,.@-]+$|^arn:aws:iam::\d{12}:.+$)"
Required: YesReturns: dict: A response object containing: - details (dict): A UserProfileDetails object with specific IAM or SSO profile data. - domainId (str): The identifier of the DataZone domain. - id (str): The identifier of the user profile. - status (str): The status of the user profile. Valid values: "ASSIGNED", "NOT_ASSIGNED", "ACTIVATED", "DEACTIVATED". - type (str): The type of the user profile. Valid values: "IAM", "SSO".
| Name | Required | Description | Default |
|---|---|---|---|
| user_type | No | ||
| user_identifier | Yes | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It indicates a read operation (retrieve) and details return structure, but lacks information on required permissions, side effects, or error conditions. The return format is well-described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is moderately concise with structured Args/Returns sections. However, it repeats info that could be in schema annotations (patterns, valid values) and includes a line break in the pattern string. Some redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description adequately explains input parameters and return values. However, it lacks prerequisites, error handling, and does not address the mismatch with the input schema. Incomplete for a tool with 3 parameters and no other structured context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. The description adds patterns and valid values for parameters, but there is a contradiction: description names parameter 'type' with required status, while schema has 'user_type' not required. This mismatch reduces reliability and could confuse agents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a user profile in a specified Amazon DataZone domain for a given user. The verb 'retrieves' and resource 'user profile' are specific. Among siblings like search_user_profiles, this tool uniquely identifies a single profile by identifiers.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. With 47 sibling tools including search_user_profiles, the description does not clarify when to use a direct retrieval versus a search. Implied usage only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_connectionsA
Lists connections in Amazon DataZone.
This is specifically for listing DataZone connections and should be used in the DataZone MCP server.
Args: domain_identifier (str): The ID of the domain where you want to list connections project_identifier (str): The ID of the project where you want to list connections max_results (int, optional): Maximum number of connections to return (1-50, default: 50) next_token (str, optional): Token for pagination environment_identifier (str, optional): The ID of the environment where you want to list connections name (str, optional): The name of the connection to filter by (0-64 characters) sort_by (str, optional): How to sort the listed connections (valid: "NAME") sort_order (str, optional): Sort order (valid: "ASCENDING" or "DESCENDING") type (str, optional): The type of connection to filter by (valid: ATHENA, BIGQUERY, DATABRICKS, etc.)
Returns: Dict[str, Any]: The list of connections including: - items: Array of connection summaries - nextToken: Token for pagination if more results are available
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| type | No | ||
| sort_by | No | ||
| next_token | No | ||
| sort_order | No | ||
| max_results | No | ||
| domain_identifier | Yes | ||
| project_identifier | Yes | ||
| environment_identifier | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly indicates this is a read/list operation by using 'lists' and describes the return structure including pagination via nextToken. It does not mention side effects, permissions, or rate limits, but the read-only nature is evident from the verb and schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and uses clear sections (Args, Returns). However, it repeats phrases like 'The ID of the ...' for multiple parameters, making it slightly verbose. Overall, it is well-organized and each sentence adds value, but could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters (2 required) and an existing output schema, the description thoroughly explains all parameters and the return structure (items and nextToken for pagination). It does not cover error conditions or when to use the next_token parameter, but it provides sufficient context for the agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since schema description coverage is 0%, the description provides detailed parameter documentation including constraints (e.g., max_results 1-50, default 50; name 0-64 chars), valid values (sort_by: 'NAME'; sort_order: 'ASCENDING'/'DESCENDING'; type: list of enumerated values), and explanations for each parameter. This goes far beyond the schema's type-only definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly uses the verb 'lists' and the resource 'connections in Amazon DataZone', making the tool's purpose very clear. It distinguishes itself from sibling tools like list_data_sources and list_domains by specifying 'DataZone connections' and the context 'in the DataZone MCP server'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states it is 'specifically for listing DataZone connections' but provides no explicit guidance on when to use this tool versus alternatives like get_connection or search. It does not mention when not to use it or contrast with siblings, leaving the agent to infer usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_data_sourcesA
Retrieve a list of data sources in Datazone domain
Use this API when the user is browsing, searching, or filtering data sources — especially if they don't know the exact ID or want to find a list to choose from.
This is not the correct API if the user asks for config details of a known data source — use get_data_source in that case.
related tools: get_data_source: Retrieves detailed information about a known data source. Use get_data_source when you want to fetch info about the connection details, authentication settings, or ingestion configuration of a particular data source.
Args: domainIdentifier (str): The identifier of the Amazon DataZone domain in which to list the data sources. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ Required: Yes projectIdentifier (str): The identifier of the project in which to list data sources. Required: Yes connectionIdentifier (str, optional): The ID of the connection used to filter the data sources. environmentIdentifier (str, optional): The identifier of the environment in which to list the data sources. maxResults (int, optional): The maximum number of data sources to return in one response. Valid Range: 1–50 name (str, optional): Filter by name of the data source. Length Constraints: 1–256 characters nextToken (str, optional): A pagination token for fetching the next set of results. Length Constraints: 1–8192 characters status (str, optional): Filter data sources by their current status. Valid values: - CREATING - FAILED_CREATION - READY - UPDATING - FAILED_UPDATE - RUNNING - DELETING - FAILED_DELETION type (str, optional): Filter by the type of data source (e.g., GLUE, REDSHIFT). Length Constraints: 1–256 characters
Returns: dict: A dictionary with the following keys: - items (List[dict]): A list of DataSourceSummary objects containing: - connectionId (str) - createdAt (str) - dataSourceId (str) - description (str) - domainId (str) - enableSetting (str) - environmentId (str) - lastRunAssetCount (int) - lastRunAt (str) - lastRunErrorMessage (dict): Contains "errorDetail" and "errorType" - lastRunStatus (str) - name (str) - schedule (dict): Contains "schedule" and "timezone" - status (str) - type (str) - updatedAt (str)
- nextToken (str): Token to retrieve the next page of results, if any.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| status | No | ||
| next_token | No | ||
| max_results | No | ||
| data_source_type | No | ||
| domain_identifier | Yes | ||
| project_identifier | Yes | ||
| connection_identifier | No | ||
| environment_identifier | No |
TDQS
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 discloses return structure and pagination but does not explicitly state that it is read-only or mention any side effects, auth, or rate limits. For a list operation, this is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: purpose sentence, usage guidelines, related tools, parameter descriptions in bullet style, and return info. It is front-loaded with key information and every section is relevant without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and 2 required, no annotations, and no output schema, the description fully covers all needed aspects: purpose, when to use, parameter semantics, and return structure including nested objects. It leaves no major gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description provides detailed parameter information including types, constraints, patterns, valid values, and required status for each parameter. This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Retrieve a list of data sources in Datazone domain', clearly stating the verb and resource. It also distinguishes from the sibling tool 'get_data_source' by specifying when to use each. This meets the highest standard.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this API ('browsing, searching, or filtering') and when not ('config details of a known data source'), and directs to an alternative tool. It also includes related tools section.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_domainsA
Lists Amazon DataZone domains.
Args: max_results (int, optional): Maximum number of results to return (default: 25, max: 25) next_token (str, optional): Token for pagination to get next page of results status (str, optional): Filter domains by status (e.g., "AVAILABLE", "CREATING", "DELETING")
Returns: Dict containing: - items: List of domains with details including ID, name, status, ARN, etc. - next_token: Token for next page of results (if available)
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | ||
| next_token | No | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses pagination, max_results limits, status filtering, and return format, which provides good behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is concise with clear Args and Returns sections, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Explains return structure despite no output schema. All 3 parameters documented. No gaps for a listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage. Description adds meaningful details for all parameters: max_results default and max, next_token pagination, status examples. Greatly enhances schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Lists Amazon DataZone domains' with a specific verb and resource. It is distinct from sibling tools like create_domain, get_domain, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied as a listing tool, but no explicit guidance on when to use this tool versus alternatives like get_domain or other listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_domain_unitsB
Lists child domain units for the specified parent domain unit in an Amazon DataZone domain.
Args: domain_identifier (str): The identifier of the domain (e.g., "dzd_4p9n6sw4qt9xgn") parent_domain_unit_identifier (str): The identifier of the parent domain unit (e.g., "3thjq258ficc2v")
Returns: Any: The API response containing the list of domain units
| Name | Required | Description | Default |
|---|---|---|---|
| domain_identifier | Yes | ||
| parent_domain_unit_identifier | Yes |
TDQS
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 only states the basic read operation without disclosing permissions, pagination, or any side effects. The agent gets 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a single sentence for functionality, followed by structured Args and Returns. It is well-organized and free of unnecessary content, though the Returns line is vague.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description leaves out important details like pagination, response format, and prerequisites. The agent may struggle to use the tool effectively without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description adds value by providing example identifiers for both parameters. However, the explanations are essentially rephrasing the parameter names, offering limited additional context beyond the examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'lists child domain units' and specifies the parent domain unit in Amazon DataZone. It distinguishes from siblings like 'list_domains' which lists domains, and 'get_domain_unit' which retrieves a single unit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as 'get_domain_unit' for a single unit or 'list_domains' for top-level domains. The description lacks usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_environment_blueprint_configurationsB
Lists environment blueprints in an Amazon DataZone domain.
Args: domain_identifier (str): The ID of the domain where the blueprint configurations are listed Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ max_results (int, optional): Maximum number of blueprint configurations to return (1-50, default: 50) next_token (str, optional): Token for pagination (1-8192 characters)
Returns: dict: A dictionary with the following structure:
Args: items (List[dict]): A list of environment blueprint summaries, each including: - createdAt (str): The timestamp when the blueprint was created. - domainId (str): The identifier of the Amazon DataZone domain. - enabledRegions (List[str]): A list of AWS regions where the blueprint is enabled. - environmentBlueprintId (str): Unique ID of the environment blueprint. - environmentRolePermissionBoundary (str): ARN of the permission boundary used for environment roles. - manageAccessRoleArn (str): ARN of the IAM role used to manage environment access. - provisioningConfigurations (List[dict]): A list of provisioning configuration objects. (Details not expanded here — structure is custom and tool-dependent.) - provisioningRoleArn (str): ARN of the IAM role used to provision environments. - regionalParameters (dict): A dictionary mapping region names to parameter maps. Example: { "us-west-2": { "param1": "value1" } } - updatedAt (str): The timestamp when the blueprint was last updated.
nextToken (str): Token for paginated results. Use in subsequent requests to retrieve the next set of environment blueprints.
| Name | Required | Description | Default |
|---|---|---|---|
| next_token | No | ||
| max_results | No | ||
| domain_identifier | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 details return structure and pagination, but does not explicitly state that the operation is read-only or safe. It provides reasonable behavioral context for a list tool but lacks explicit safety disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is verbose, with redundant 'Args:' sections and a lengthy return structure. It front-loads the main purpose but could be more concise. The docstring style is structured but includes unnecessary repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (context signal), the description provides comprehensive parameter details and return structure. It covers pagination and parameter constraints. However, it lacks mention of permissions or side effects, which would be helpful for a tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description compensates by explaining each parameter: domain_identifier pattern, max_results range, next_token purpose. It also describes return structure, adding meaning beyond the schema's property names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool 'lists environment blueprints' and specifies the domain context. However, it does not differentiate itself from the sibling tool 'list_environment_blueprints', which could cause confusion. The name includes 'configurations', but the description refers to 'blueprints', slightly ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like 'list_environment_blueprints' or other listing tools. The description only implies usage for listing, without specifying exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_environment_blueprintsA
Lists environment blueprints in an Amazon DataZone domain.
Args: domain_identifier (str): The ID of the domain where the blueprints are listed Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ managed (bool, optional): Specifies whether to list only managed blueprints max_results (int, optional): Maximum number of blueprints to return (1-50, default: 50) name (str, optional): Filter blueprints by name (1-64 characters) Pattern: ^[\w -]+$ next_token (str, optional): Token for pagination (1-8192 characters)
Returns: Dict containing: - items: List of environment blueprints, each containing: - id: Blueprint identifier - name: Blueprint name - description: Blueprint description - provider: Blueprint provider - provisioning_properties: Blueprint provisioning properties - created_at: Creation timestamp - updated_at: Last update timestamp - next_token: Token for pagination if more results are available
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| managed | No | ||
| next_token | No | ||
| max_results | No | ||
| domain_identifier | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It describes the function and return values but does not disclose behavioral traits such as whether the operation is read-only, any side effects, rate limits, or authentication requirements. The mention of pagination via next_token is useful but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear one-liner, followed by Args and Returns sections. It is concise, though slightly verbose with parameter patterns. Every sentence adds value, making it easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present (though not shown), the description already explains return values. It covers all parameters, pagination, and filtering. However, it lacks context on when to use this list vs. other related tools, which is addressed in the usage guidelines dimension.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema. It explains each parameter's purpose, constraints (e.g., patterns, min/max length, default values), and filtering behavior. This compensates for the 0% schema coverage, providing rich semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Lists environment blueprints in an Amazon DataZone domain.' It uses a specific verb ('Lists') and resource ('environment blueprints') and distinguishes from sibling tools like get_environment_blueprint (singular) and list_environment_blueprint_configurations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description lists parameters but does not indicate the expected context or exclusions. The purpose is clear, but usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_environment_profilesA
Lists environment profiles within a specified Amazon DataZone domain, optionally filtered by AWS account, region, blueprint, and project.
Args: domain_identifier (str): The identifier of the Amazon DataZone domain. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ Required: Yes
aws_account_id (str, optional): The AWS account ID to filter results.
Pattern: r"^\d{12}$"
aws_account_region (str, optional): The AWS region to filter results.
Pattern: ^[a-z]{2}-[a-z]{4,10}-\d$
environment_blueprint_identifier (str, optional): The identifier of the blueprint used to create the environment profiles.
Pattern: ^[a-zA-Z0-9_-]{1,36}$
max_results (int, optional): Maximum number of results to return (1–50).
name (str, optional): Filter environment profiles by name.
Length: 1–64 characters
Pattern: ^[\w -]+$
next_token (str, optional): A pagination token returned from a previous call to retrieve the next set of results.
Length: 1–8192 characters
project_identifier (str, optional): The identifier of the Amazon DataZone project.
Pattern: ^[a-zA-Z0-9_-]{1,36}$Returns: dict: A dictionary containing: - items (List[dict]): A list of environment profile summaries. Each item includes: - awsAccountId (str): AWS account where the profile exists. - awsAccountRegion (str): AWS region of the profile. - createdAt (str): Timestamp when the profile was created. - createdBy (str): Identifier of the user who created the profile. - description (str): Description of the profile. - domainId (str): The domain associated with the profile. - environmentBlueprintId (str): ID of the blueprint used. - id (str): Unique ID of the environment profile. - name (str): Name of the environment profile. - projectId (str): ID of the associated project. - updatedAt (str): Timestamp of last update.
- nextToken (str): Token for retrieving the next page of results, if any.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| next_token | No | ||
| max_results | No | ||
| aws_account_id | No | ||
| domain_identifier | Yes | ||
| aws_account_region | No | ||
| project_identifier | No | ||
| environment_blueprint_identifier | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses pagination via next_token and max_results, and return structure with items and nextToken. No annotation provided, but description adds value by detailing fields in the response. However, does not explicitly state read-only nature or authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with Args and Returns sections; front-loaded purpose. Some verbosity in parameter docs but each part adds value. Appropriate for complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, parameters, and return structure thoroughly. Missing error handling or authorization details, but acceptable for a list operation with straightforward behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does 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 documentation including patterns, required status, and constraints. This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly lists environment profiles with filtering options, using specific verb 'list' and resource 'environment profiles'. It distinguishes from sibling tools by focusing on a specific entity, but does not explicitly differentiate from similar list tools like list_environments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage when needing environment profiles for a domain, optionally filtered. No explicit guidance on when not to use or alternatives among sibling list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_environmentsA
Lists environments in Amazon DataZone.
Args: domain_identifier (str): The identifier of the Amazon DataZone domain. project_identifier (str): The identifier of the Amazon DataZone project. max_results (int, optional): Maximum number of environments to return. Defaults to 50. next_token (str, optional): Token for pagination. Defaults to None. aws_account_id (str, optional): The identifier of the AWS account where you want to list environments. aws_account_region (str, optional): The AWS region where you want to list environments. environment_blueprint_identifier (str, optional): The identifier of the Amazon DataZone blueprint. environment_profile_identifier (str, optional): The identifier of the environment profile. name (str, optional): The name of the environment. provider (str, optional): The provider of the environment. status (str, optional): The status of the environments to list. Valid values: ACTIVE, CREATING, UPDATING, DELETING, CREATE_FAILED, UPDATE_FAILED, DELETE_FAILED, VALIDATION_FAILED, SUSPENDED, DISABLED, EXPIRED, DELETED, INACCESSIBLE
Returns: Any: The API response containing environment details or None if an error occurs
Example: >>> list_environments( ... domain_identifier="dzd_4p9n6sw4qt9xgn", ... project_identifier="prj_123456789", ... status="ACTIVE", ... )
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| status | No | ||
| provider | No | ||
| next_token | No | ||
| max_results | No | ||
| aws_account_id | No | ||
| domain_identifier | Yes | ||
| aws_account_region | No | ||
| project_identifier | Yes | ||
| environment_profile_identifier | No | ||
| environment_blueprint_identifier | No |
TDQS
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 indicates the tool lists environments (implying read-only) and returns the API response or None on error. It does not explicitly state that it is non-destructive, nor does it disclose prerequisites, permissions, or rate limits. The behavior is partially described but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a clear docstring with Args, Returns, and Example sections. It is front-loaded with the purpose, and every sentence provides necessary information. No redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters and no output schema, the description documents all parameters and the return type. However, it does not detail the response structure beyond 'API response containing environment details'. Pagination via next_token is mentioned but no further pagination behavior. The example helps, but more response detail would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, but the description includes a full Args block documenting all 11 parameters with brief explanations, types, and defaults. For status, valid enum values are listed. This adds complete meaning beyond the schema, fully compensating for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'environments in Amazon DataZone', providing a specific action. However, it does not differentiate from sibling list tools like list_environment_profiles or list_environment_blueprints, relying on the tool name for distinction. This is clear but lacks explicit sibling differentiation, so not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There are many sibling list tools, and the description does not mention when to choose list_environments over list_domains, list_projects, etc. No when-to-use, when-not-to-use, or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_project_membershipsA
Lists the memberships of a specified Amazon DataZone project within a domain.
Args: domain_identifier (str): The identifier of the Amazon DataZone domain. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ Required: Yes
project_identifier (str): The identifier of the project whose memberships you want to list.
Pattern: ^[a-zA-Z0-9_-]{1,36}$
Required: Yes
max_results (int, optional): The maximum number of memberships to return in a single call (1–50).
next_token (str, optional): A token for pagination. Use this token from a previous response to retrieve the next set of memberships.
Length: 1–8192 characters
sort_by (str, optional): The attribute by which to sort the memberships.
Valid Values: "NAME"
sort_order (str, optional): The sort order for the results.
Valid Values: "ASCENDING" | "DESCENDING"Returns: dict: A dictionary containing: - members (List[dict]): A list of project members, where each member includes: - designation (str): The role or designation of the member within the project. - memberDetails (dict): Additional details about the member (structure depends on implementation).
- nextToken (str, optional): A token to retrieve the next page of results if more memberships exist.
Length: 1–8192 characters
| Name | Required | Description | Default |
|---|---|---|---|
| sort_by | No | ||
| next_token | No | ||
| sort_order | No | ||
| max_results | No | ||
| domain_identifier | Yes | ||
| project_identifier | Yes |
TDQS
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 describes pagination, sorting, and the return structure (members list, next token). It does not mention authentication or error conditions, but for a read operation it is fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with Args and Returns sections, but somewhat verbose as it repeats schema details. However, since the schema lacks descriptions, this is justified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description details the return structure and pagination. It covers the main aspects, though it could mention prerequisites like existing domain/project.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description fully documents each parameter with patterns, valid values, and defaults. It adds significant meaning beyond the schema's bare titles and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists memberships of a specified Amazon DataZone project, with the verb 'lists' and resource 'memberships'. It distinguishes from siblings like create_project_membership (creation) and list_projects (projects list).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like search or list_projects. Usage is implied by the tool's purpose, but no when-to-use or when-not-to-use conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_project_profilesA
Lists all project profiles available in an Amazon DataZone domain.
Args: domain_identifier (str): The ID of the domain max_results (int, optional): Maximum number of profiles to return (1-50, default: 50) next_token (str, optional): Token for pagination
Returns: Any: The API response containing the list of project profiles
| Name | Required | Description | Default |
|---|---|---|---|
| next_token | No | ||
| max_results | No | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It mentions pagination parameters but does not state ordering, filtering capabilities, rate limits, or that it is a read-only operation. The return type is vaguely described as 'API response' without detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with clear Args and Returns sections, which is helpful for an AI agent. It is relatively concise, but the Returns section is minimal and could be more informative without significant added length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should elaborate on the return structure. It only states 'the API response containing the list of project profiles', which is insufficient. No error conditions or edge cases are mentioned. The tool has only three parameters, so basic completeness is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It provides meaningful descriptions for all three parameters: domain_identifier, max_results (with range and default), and next_token (pagination). This adds value beyond the schema, though domain_identifier format is not explained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (lists), resource (project profiles), and scope (in an Amazon DataZone domain). It effectively distinguishes from sibling tools like list_projects (lists projects) and get_project_profile (retrieves a single profile).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives such as list_projects or search. Usage is implied for listing all project profiles in a domain, but no guidance on prerequisites or when to use is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsA
Lists projects in an Amazon DataZone domain with optional filtering and pagination.
Args: domain_identifier (str): The identifier of the domain max_results (int, optional): Maximum number of projects to return (1-50, default: 50) next_token (str, optional): Token for pagination name (str, optional): Filter projects by name user_identifier (str, optional): Filter projects by user group_identifier (str, optional): Filter projects by group
Returns: Any: The API response containing the list of projects
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| next_token | No | ||
| max_results | No | ||
| user_identifier | No | ||
| group_identifier | No | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It does not disclose safety (read-only), potential errors, rate limits, or other behavioral traits. Only states it returns 'The API response containing the list of projects'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is structured as a docstring with Args and Returns, concise and front-loaded with the main purpose. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description adequately covers return type. All parameters are documented. Could include more details on pagination behavior or output structure, but sufficient for a list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 6 parameters are described in the Args section with clear meanings (e.g., 'domain_identifier: The identifier of the domain'). Schema has no descriptions, so description fully compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Lists projects in an Amazon DataZone domain with optional filtering and pagination.' It uses specific verb and resource, distinguishing it from sibling tools like create_project or get_project.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives or when not to use it. The description only states what it does without context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publish_assetA
Publishes an asset to the Amazon DataZone catalog.
Args: domain_identifier (str): The ID of the domain containing the asset asset_identifier (str): The ID of the asset to publish
revision (str, optional): The specific revision of the asset to publish
client_token (str, optional): Token for idempotencyReturns: Any: The API response containing: - Published asset ID and revision - Listing status - Creation and update timestamps - Domain and project IDs - Forms and metadata - Glossary terms
| Name | Required | Description | Default |
|---|---|---|---|
| revision | No | ||
| client_token | No | ||
| asset_identifier | Yes | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It details the return structure but does not disclose side effects, permissions required, potential errors, or whether the operation is reversible. The description is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a single-sentence summary followed by Args and Returns sections. Every line adds value, and the most important information (purpose) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description provides a detailed Returns section listing key response fields. However, it does not explain error conditions, required permissions, or how this tool relates to other asset lifecycle tools (e.g., create_asset, get_listing). Nevertheless, the core behavior is well-covered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 provides clear, concise descriptions for all four parameters (e.g., 'The ID of the domain containing the asset'), adding meaning beyond the schema titles. This fully compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Publishes an asset to the Amazon DataZone catalog,' which is a specific verb-resource combination. It distinguishes from siblings like create_asset (creates but does not publish) and get_asset (retrieves).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (you must have an asset to publish) but does not explicitly state when to use this tool versus alternatives such as create_asset or get_listing. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchA
Searches for assets in Amazon DataZone.
Args: domain_identifier (str): The identifier of the Amazon DataZone domain Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ search_scope (str): The scope of the search Valid Values: ASSET | GLOSSARY | GLOSSARY_TERM | DATA_PRODUCT additional_attributes (List[str], optional): Specifies additional attributes for the search Valid Values: FORMS | TIME_SERIES_DATA_POINT_FORMS filters (Dict[str, Any], optional): Specifies the search filters Type: FilterClause object (Union type) max_results (int, optional): Maximum number of results to return (1-50, default: 50) next_token (str, optional): Token for pagination (1-8192 characters) owning_project_identifier (str, optional): The identifier of the owning project. This is required when the user is requesting a search_scope of ASSET or DATA_PRODUCT. Pattern: ^[a-zA-Z0-9_-]{1,36}$ search_in (List[Dict[str, str]], optional): The details of the search Array Members: 1-10 items Each item contains: - attribute (str): The attribute to search in search_text (str, optional): The text to search for (1-4096 characters) sort (Dict[str, str], optional): Specifies how to sort the results Contains: - attribute (str): The attribute to sort by - order (str): The sort order (ASCENDING | DESCENDING)
Returns: Any: The API response containing: - items (list): The search results - nextToken (str): Token for pagination if more results are available - totalMatchCount (int): Total number of search results
Example:
python response = await search( domain_identifier="dzd-1234567890", search_scope="ASSET", search_text="customer data", search_in=[{"attribute": "name"}, {"attribute": "description"}], sort={"attribute": "name", "order": "ASCENDING"}, max_results=25 )
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | ||
| filters | No | ||
| search_in | No | ||
| next_token | No | ||
| max_results | No | ||
| search_text | No | ||
| search_scope | Yes | ||
| domain_identifier | Yes | ||
| additional_attributes | No | ||
| owning_project_identifier | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It details parameters, constraints (e.g., patterns, valid ranges), pagination via next_token, and return structure (items, nextToken, totalMatchCount). It does not explicitly state idempotency or rate limits, but the example and parameter details provide solid 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with Args, Returns, and Example sections. It is longer than necessary but justified by the need to explain 10 parameters without schema descriptions. The one-line purpose statement at the start aids quick understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (10 parameters, no output schema), the description covers all inputs, return values, and pagination. It lacks only minor details like error handling or typical use comparisons, but is sufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must provide full parameter semantics. It does so comprehensively, including types, valid values (e.g., search_scope enums, additional_attributes options), patterns, optionality, and constraints. The example demonstrates usage, adding practical context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Searches for assets in Amazon DataZone,' which clearly specifies the verb and resource. However, the search_scope parameter includes GLOSSARY, GLOSSARY_TERM, and DATA_PRODUCT, making the tool broader than just assets. This slight inconsistency prevents a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 sibling tools like search_listings, search_types, or search_group_profiles. It does not specify exclusions or prerequisites beyond the required parameters, leaving the agent to infer appropriateness from the parameter list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_group_profilesA
Searches for group profiles within a specified Amazon DataZone domain.
This operation allows you to find groups by specifying a group type and optional search text. Pagination is supported through maxResults and nextToken.
Args: domain_identifier (str): The identifier of the Amazon DataZone domain in which to search group profiles. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ Required: Yes
group_type (str): The type of group to search for.
Valid values:
- "SSO_GROUP"
- "DATAZONE_SSO_GROUP"
Required: Yes
max_results (int, optional): The maximum number of results to return in a single call.
Valid range: 1–50
Required: No
next_token (str, optional): Pagination token from a previous response. Use this to retrieve the next set of results.
Length: 1–8192 characters
Required: No
search_text (str, optional): Free-text string used to filter group profiles.
Max length: 1024
Required: NoReturns: dict: A response object containing: - items (List[dict]): A list of group profile summaries. Each summary includes: - domainId (str): The domain to which the group belongs. - groupName (str): The name of the group. - id (str): The unique identifier of the group profile. - status (str): The current status of the group profile. - nextToken (str, optional): A token to retrieve the next page of results, if more are available. Length: 1–8192 characters
Raises: HTTPError: If the API request fails or returns an error.
| Name | Required | Description | Default |
|---|---|---|---|
| group_type | Yes | ||
| next_token | No | ||
| max_results | No | ||
| search_text | No | ||
| domain_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses pagination behavior and error raising (HTTPError), but does not explicitly confirm read-only nature, rate limits, or side effects. The behavioral context is adequate but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (Args, Returns, Raises) and the main purpose is front-loaded. It is fairly concise but could be slightly tighter by removing redundant phrasing. Still, no wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must explain return values—it does so with a structured dict including items and nextToken. Error handling is mentioned. However,it lacks edge case details or explanations of status codes. Overall complete for the complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description fully documents parameters. It adds patterns (e.g., domain_identifier regex), valid values (group_type enum), ranges (max_results 1-50), lengths, and defaults, going well beyond the schema's type-only information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool searches for group profiles within an Amazon DataZone domain, specifying the resource (group profiles) and the action (search). It distinguishes from siblings like 'search_user_profiles' and generic 'search' by focusing on group profiles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by stating it allows finding groups with group type and search text, but it does not explicitly state when to use it versus alternatives or when not to use it. No exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_listingsA
Search published data asset listings in Amazon DataZone using keyword, filter, and sort options.
Use it to search only within published data asset listings.
related tools:
search: Use only when the user needs general discovery across all entity types (e.g., glossary terms, data products).
Args: domain_identifier (str): The ID of the domain to search in search_text (str, optional): Text to search for max_results (int, optional): Maximum number of results to return (1-50, default: 50) next_token (str, optional): Token for pagination additional_attributes (List[str], optional): Additional attributes to include in search Valid values: ["FORMS", "TIME_SERIES_DATA_POINT_FORMS"] search_in (List[Dict[str, str]], optional): Attributes to search in Example: [{"attribute": "name"}, {"attribute": "description"}] sort (Dict[str, str], optional): Sorting criteria Example: {"attribute": "name", "order": "ASCENDING"}
Returns: Any: The API response containing search results
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | ||
| search_in | No | ||
| next_token | No | ||
| max_results | No | ||
| search_text | No | ||
| domain_identifier | Yes | ||
| additional_attributes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden. It correctly implies a read-only operation through 'search' and describes input behavior but does not cover rate limits, authentication, or detailed side effects. However, for a search tool, this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized: a single-sentence purpose, followed by usage guidance, related tools, and a clear list of arguments. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage, and parameters comprehensively. However, the return value is only described as 'API response containing search results' without specific fields or example, which could be improved given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description includes a detailed 'Args' section that explains each parameter's type, optionality, and purpose, plus valid values and examples for complex parameters (e.g., additional_attributes, search_in, sort). This compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Search published data asset listings' with keyword, filter, and sort options. It distinguishes itself from the sibling 'search' tool by specifying that it is limited to published listings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly advises when to use this tool ('search only within published data asset listings') and contrasts with the 'search' tool for general discovery, providing clear guidance on alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_typesA
Invokes the SearchTypes action in a specified Amazon DataZone domain to retrieve type definitions (e.g., asset types, form types, or lineage node types) that match the search criteria.
Args: domain_identifier (str): The identifier of the Amazon DataZone domain in which to invoke the SearchTypes action. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ (Required)
managed (bool): Whether the search is for managed types. (Required)
filters (dict, optional): A FilterClause object specifying a single filter for the search.
Only one member of the union type may be used.
max_results (int, optional): The maximum number of results to return in a single call.
Valid range: 1–50. Default is service-defined.
next_token (str, optional): Token for paginating results. Used to retrieve the next page of results
when the number of results exceeds max_results.
Length constraints: 1–8192 characters.
search_in (List[dict], optional): A list of SearchInItem objects specifying search fields.
Minimum of 1 item, maximum of 10.
search_scope (str): The scope of the search. Valid values:
"ASSET_TYPE", "FORM_TYPE", "LINEAGE_NODE_TYPE". (Required)
search_text (str, optional): The free-text string to search for.
Length constraints: 1–4096 characters.
sort (dict, optional): A SearchSort object specifying how to sort the results.Returns: dict: A response object containing: - items (List[dict]): A list of SearchTypesResultItem objects matching the query. - nextToken (str): A pagination token for retrieving the next set of results. - totalMatchCount (int): Total number of matching items.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | ||
| filters | No | ||
| managed | Yes | ||
| search_in | No | ||
| next_token | No | ||
| max_results | No | ||
| search_text | No | ||
| search_scope | Yes | ||
| domain_identifier | Yes | ||
| owning_project_identifier | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It does not mention whether the operation is read-only, requires specific permissions, has rate limits, or any side effects. For a search action, it likely is read-only, but this is not stated, leaving a 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured as a clear docstring with Args and Returns sections. It is front-loaded with the main purpose. However, it is somewhat lengthy due to detailed parameter descriptions; a more concise summary could be beneficial, but overall it remains well-organized and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 10 parameters, no output schema, and no annotations, the description covers all parameters and return values comprehensively, including pagination and defaults. The only missing element is behavioral transparency (e.g., idempotency, permissions), but for a search tool, the parameter and return coverage is sufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates fully. It provides detailed explanations for each parameter, including regex patterns, valid ranges, allowed values, and defaults. For example, it describes the domain_identifier pattern, max_results range, search_scope values, and pagination token constraints, adding significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool invokes the SearchTypes action to retrieve type definitions (asset types, form types, lineage node types) that match search criteria. It uses specific verbs and resources, and clearly distinguishes from sibling tools like 'search', 'search_listings', etc., which target different entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains what the tool does and its parameters, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., 'search', 'search_listings'). It lacks 'when not to use' or comparative context, leaving the agent to infer usage from purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_user_profilesA
Searches for user profiles within a specified Amazon DataZone domain.
This API supports filtering results by user type and search text, as well as pagination through maxResults and nextToken.
Args: domain_identifier (str): The identifier of the Amazon DataZone domain in which to perform the search. Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ Required: Yes
max_results (int, optional): The maximum number of user profiles to return in a single call.
Valid Range: 1–50
Required: No
next_token (str, optional): Pagination token from a previous response. Use to retrieve the next page of results.
Min length: 1, Max length: 8192
Required: No
search_text (str, optional): Text to search for in user profiles.
Max length: 1024
Required: No
user_type (str): The type of user profile to search for.
Valid values:
- "SSO_USER"
- "DATAZONE_USER"
- "DATAZONE_SSO_USER"
- "DATAZONE_IAM_USER"
Required: YesReturns: dict: A response object containing: - items (List[dict]): A list of user profile summaries. Each summary includes: - details (dict): UserProfileDetails (union type) - domainId (str): Domain ID the user profile belongs to. - id (str): The identifier of the user profile. - status (str): Profile status. Possible values: "ASSIGNED", "NOT_ASSIGNED", "ACTIVATED", "DEACTIVATED". - type (str): Type of the user profile. Possible values: "IAM", "SSO". - nextToken (str, optional): Token for paginated responses. Min length: 1, Max length: 8192
| Name | Required | Description | Default |
|---|---|---|---|
| user_type | Yes | ||
| next_token | No | ||
| max_results | No | ||
| search_text | No | ||
| domain_identifier | Yes |
TDQS
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 clearly describes that the tool performs a read/search operation with filtering and pagination, and returns a list of user profile summaries with specific fields. There is no mention of side effects, destruction, or access requirements, which is acceptable for a search tool, but it could be more explicit about its read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with separate Args and Returns sections, making it easy to parse. It is front-loaded with the purpose statement. While it is relatively long, every sentence adds value, and the structure supports quick reference. A slight reduction in verbosity could improve conciseness, but it is not excessive.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, no output schema, and no annotations, the description is quite complete. It covers all parameters, explains return structure (including fields and types), and describes pagination. However, it lacks mention of error handling, required permissions, or edge cases, which would be beneficial for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It does so effectively by detailing each parameter: constraints (pattern, valid range, max length), required status, valid enum values for user_type, and the role of next_token for pagination. This adds significant meaning beyond the schema's titles and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it searches for user profiles within a specified Amazon DataZone domain, distinguishing it from sibling tools like search_group_profiles (for groups) and get_user_profile (for a single profile). The verb 'Searches' combined with the specific resource 'user profiles' and domain context makes the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the tool's functionality and parameters, but it does not explicitly state when to use this tool over alternatives or when not to use it. The usage context is implied by its purpose, but there is no direct guidance on selecting it among siblings like search or get_user_profile.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_data_source_runA
Starts a data source run in Amazon DataZone.
Args: domain_identifier (str): The identifier of the Amazon DataZone domain in which to start a data source run Pattern: ^dzd[-][a-zA-Z0-9-]{1,36}$ data_source_identifier (str): The identifier of the data source Pattern: ^[a-zA-Z0-9_-]{1,36}$ client_token (str, optional): A unique, case-sensitive identifier that is provided to ensure the idempotency of the request Length: 1-128 characters
Returns: Any: The API response containing: - createdAt: Timestamp when the data source run was created - dataSourceConfigurationSnapshot: Configuration snapshot of the data source - dataSourceId: Identifier of the data source - domainId: Identifier of the domain - errorMessage: Error details if the operation failed - id: Identifier of the data source run - projectId: Identifier of the project - runStatisticsForAssets: Statistics about the run including: - added: Number of assets added - failed: Number of assets that failed - skipped: Number of assets skipped - unchanged: Number of assets unchanged - updated: Number of assets updated - startedAt: Timestamp when the run started - status: Status of the run (REQUESTED, RUNNING, FAILED, PARTIALLY_SUCCEEDED, SUCCESS) - stoppedAt: Timestamp when the run stopped - type: Type of the run (PRIORITIZED, SCHEDULED) - updatedAt: Timestamp when the run was last updated
Example:
python response = await start_data_source_run( domain_identifier='dzd-1234567890', data_source_identifier='ds-1234567890', client_token='unique-token-123', )
| Name | Required | Description | Default |
|---|---|---|---|
| client_token | No | ||
| domain_identifier | Yes | ||
| data_source_identifier | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions idempotency via client_token and lists return fields including status and errorMessage, but does not explicitly state whether the operation is destructive or read-only, nor any required permissions or side effects beyond creating a run.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with explicit Args, Returns, and Example sections. It is front-loaded with the purpose. However, it is somewhat verbose, especially with detailed return field listing, which could be condensed without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description comprehensively covers what the tool does, all parameters with constraints, and the return structure with detailed fields. There is no output schema, but the inline Return section provides equivalent information. The example adds practical context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description provides extensive parameter details: patterns for domain_identifier, explanation of client_token for idempotency, optionality, and length constraint. The example further clarifies usage, fully compensating for the schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it 'Starts a data source run in Amazon DataZone' with a specific verb and resource. It distinguishes from related tools like create_data_source and get_data_source by focusing on starting a run, not managing the data source itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives or mention prerequisites like having an existing data source. It implies usage through parameter details and example but lacks guidance on when-not-to-use or sibling tool comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
49 tool updates
v0.1.0- First observed
accept_subscription_request - First observed
add_entity_owner - First observed
add_policy_grant - First observed
create_asset - First observed
create_connection - First observed
create_data_source - First observed
create_domain - First observed
create_domain_unit - First observed
create_form_type - First observed
create_glossary - First observed
create_glossary_term - First observed
create_project - First observed
create_project_membership - First observed
create_project_profile - First observed
create_subscription_request - First observed
get_asset - First observed
get_connection - First observed
get_data_source - First observed
get_domain - First observed
get_domain_unit - First observed
get_environment - First observed
get_environment_blueprint - First observed
get_environment_blueprint_configuration - First observed
get_form_type - First observed
get_glossary - First observed
get_glossary_term - First observed
get_listing - First observed
get_project - First observed
get_project_profile - First observed
get_subscription - First observed
get_user_profile - First observed
list_connections - First observed
list_data_sources - First observed
list_domain_units - First observed
list_domains - First observed
list_environment_blueprint_configurations - First observed
list_environment_blueprints - First observed
list_environment_profiles - First observed
list_environments - First observed
list_project_memberships - First observed
list_project_profiles - First observed
list_projects - First observed
publish_asset - First observed
search - First observed
search_group_profiles - First observed
search_listings - First observed
search_types - First observed
search_user_profiles - First observed
start_data_source_run
TDQS
Most tools are clearly distinct, targeting different entities like assets, connections, domains, and glossaries. However, the many search tools (search, search_listings, search_types, etc.) and some overlapping actions (create_project_membership vs add_entity_owner) could cause occasional confusion.
The naming follows a consistent verb_noun pattern (create_, get_, list_, search_) with only minor deviations like 'add_entity_owner' vs 'create_project_membership'. All names use snake_case without mixing conventions.
With 49 tools, the count is excessive for a single MCP server. While DataZone is a complex service, this many tools will overwhelm agents and increase selection errors. A more focused subset would improve usability.
The tool set focuses heavily on creation and retrieval (create, get, list) but lacks critical delete and remove operations for most entities (e.g., no delete_domain, remove_entity_owner, reject_subscription_request). This creates significant gaps for common lifecycle management tasks.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.
The AWS Knowledge MCP server is a fully managed remote Model Context Protocol server that provides real-time access to official AWS content in an LLM-compatible format. It offers structured access to AWS documentation, code samples, blog posts, What's New announcements, Well-Architected best practices, and regional availability information for AWS APIs and CloudFormation resources. Key capabilities include searching and reading documentation in markdown format, getting content recommendations, listing AWS regions, and checking regional availability for services and features.
Related MCP Servers
- FlicenseCqualityDmaintenanceA Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with your AWS environment. This allows for natural language querying and management of your AWS resources during conversations. Think of better Amazon Q alternative.3294-
- FlicenseNot gradedqualityDmaintenanceThis MCP server enables users to interact with AWS Amplify Gen2 application data through natural language, allowing AI assistants like Claude to perform operations on Amplify data models using conversational language instead of complex code.4-
- AlicenseNot gradedqualityDmaintenanceA high-performance Model Context Protocol (MCP) server designed for large language models, enabling real-time communication between AI models and applications with support for session management and intelligent tool registration.2MIT

synapse-mcpofficial
AlicenseNot gradedqualityAmaintenanceA Model Context Protocol (MCP) server that enables AI agent access to Synapse entities such as Datasets, Projects, Folders, Files, Tables, and more.3MIT
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/awslabs/amazon-datazone-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server